불량 섹터로 인해 읽을 수 없는 파일을 어떻게 읽을 수 있나요?

불량 섹터로 인해 읽을 수 없는 파일을 어떻게 읽을 수 있나요?

ext3파일 시스템과 최신 Linux 배포판이 있습니다 .

파일을 새 대상으로 복사(읽기)해야 합니다.

불행하게도 cp/ mv또는 MC(Midnight Commander)가 파일 내의 특정 지점에서 중지/실패했습니다.

일부 파일은 30%에서 매우 일찍 중지되고 다른 파일은 98%에서 중지되고 시스템 로그에 섹터 오류가 표시됩니다.

mv/ cp그러나 MC는 파일 복사를 계속할 수 없으며 단순히 이 섹터(및 다른 섹터)를 건너뛰어 I/O 읽기 오류가 발생합니다. MC에서 여러 번 시도했지만 소용이 없었습니다.

현재 디스크의 일부 단일 또는 일부 섹터를 더 이상 읽을 수 없고 파일의 나머지 부분과 기타 정상적인 부분을 계속 읽고 싶기 때문에 이러한 파일은 나에게 유용할 수 있습니다.

파일의 가독성을 최대화하기 위한 좋은 도구나 입증된 메커니즘이 있습니까? 첫 번째 I/O 읽기 오류로 인해 항상 게임이 종료됩니다.

파일을 보다 안정적으로 읽고 읽을 수 없는 섹터를 자리 표시자 바이트 등으로 채울 수 있는 방법이나 편리한 도구가 있을 수 있습니다.

ext3Linux는 파일 시스템을 탑재하여 이 목표를 달성할 수 없습니까?

커널로서의 Linux는 섹터 오류를 읽고 파일의 다음 섹터로 점프하는 등의 방법을 제공합니까?

syslog에는 항상 I/O 읽기 오류를 일으키는 동일한 섹터(파일당)가 표시됩니다. 이를 명확히 하기 위해 이러한 파일에서 읽을 수 있는 섹터와 정상 부분이 더 많을 것으로 추측합니다.

답변1

ddrescue( gddrescue팩,매뉴얼 페이지)

드라이브에 정상적인 파티션 테이블이 있다고 가정하면 다음을 쉽게 수행할 수 있습니다.

  1. 고장난 드라이브 파티션의 이미지 파일을 정상적인 드라이브에 생성합니다(이 작업을 불필요하게 어렵게 만들고 싶지 않기 때문에 전체 드라이브의 이미지를 생성하지 않지만 파티션 테이블이 Break가 되려면 결국 깨져야 합니다.)

  2. 로그 파일을 조사합니다(실제로는지도 파일, 하지만 지금은 문제가 되지 않습니다.) 오류 수에 따라 적절한 조치를 취하세요.

  3. 즉, 문제가 있는 파티션의 이미지 파일을 직접 마운트하거나 testdisk파티션 테이블이 손상된 경우 전체 디스크 이미지 파일에서 실행을 시도하는 것입니다. 이는 파티션 복구를 위한 완벽한 유틸리티입니다. 파티션.


sudo ddrescue --idirect --retry-passes=3 /dev/sdx9 recovery.img recovery.log

가정:

  • 드라이브 이름은/dev/sdx

  • 복구해야 할 파티션에는 번호가 매겨져 있습니다.9

  • 불량 섹터를 재시도하려는 3횟수

  • .이미지 파일을 현재 디렉터리( ) 에 저장하려고 합니다 .

  • 이미지 파일을 다른 이름으로 저장하고 싶습니다.recovery.img

  • 로그 파일을 저장해야 합니다. 이는 매우 중요합니다! ,좋다recovery.log


모든 것이 순조롭게 진행되면 이미지 파일을 마운트하기만 하면 됩니다.

sudo mount recovery.img /mnt/whateverMountPoint

어떤 이유로 드라이브가 응답하지 않거나 오류가 발생하면 일반적으로 시스템을 재부팅하고 실행합니다.거의 똑같음중단된 부분부터 프로세스를 다시 시작하는 명령입니다.


다음을 방지하세요:

마운트된 파일 시스템에 대해 언급하신 줄 몰랐습니다. 이것은 문제가 될 수 있습니다.

알다시피, 마운트된 파일 시스템의 이미지를 생성하면 안 됩니다. 대신 Linux USB를 만들어 부팅한 다음 앞서 말한 대로 진행하는 것이 좋습니다.

관련 정보