내 하드 드라이브에 오류가 발생하여 데이터를 추출해야 합니다. 내 dd
쿵푸는 지금 실패하고 있어요. 드라이브가 60515007~60517093(각각 512b) 섹터와 기타 여러 위치에서 오류가 발생한 것으로 알고 있습니다. 이 부분은 건너뛰어야 합니다. 어떻게 해야 합니까 dd
? 즉석에서 압축해야 합니다(아마도 파이프?). 좋은 압축 알고리즘을 추천해 주실 수 있나요?
답변1
정말로 이 작업을 수행하려면 dd
판독값을 분할해야 합니다.
dd if=/dev/sda bs=512 count=60515006 | gzip -9 > dump1.gz
/dev/sda
to 의 처음 60515006개 섹터 dump1.gz
는 gzip
. 그 다음에
dd if=/dev/sda bs=512 skip=60517093 count=... | gzip -9 > dump2.gz
실패한 부분을 건너뛰고 필요한 다음 섹터를 덤프합니다 dump2.gz
.
어딘가에 디스크 공간을 확보할 수 있다면 다음을 사용하는 것이 좋습니다.구조하다대신, 실패한 디스크를 자동으로 복제할 수 있습니다(I/O 오류로 인해 중지되지 않음). 이 방법은 보다 훨씬 빠르게 작동하며(큰 청크를 읽는 것으로 시작하고 실패한 부분 주변의 데이터를 검색하는 데 필요할 때만 더 적은 양을 읽음) dd
모든 건너뛰기 등을 알아낼 필요가 없습니다. 출력 파일을 찾아야 하므로 압축된 출력을 지원하지 않습니다.