ddrescue: 좋은 섹터만 다시 읽으시겠어요?

ddrescue: 좋은 섹터만 다시 읽으시겠어요?

손상된 파일 시스템을 다른 하드 드라이브의 파일로 이미징하기 전에 읽을 수 없는 데이터의 양을 확인하기 위해 테스트 실행 ddrescue(구조 결과를 에 보내기 )을 결정했습니다./dev/null

# ddrescue -d -b 4096 -r 3 -f /dev/sda1 /dev/null sda1.log

결국 완료하는데 3일이 걸렸습니다. 이제 현실적인 이미지를 만들 준비가 되었습니다. 하지만 완료되기까지 3일을 더 기다리고 싶지 않습니다. 그런데 다행히 로그 파일이 있어서 ddrescue불량 섹터는 건드리지 않고 좋은 섹터만 강제로 구출하는 것이 가능한가요 ?

일부 문서를 읽은 후 다음과 같은 아이디어를 생각해 냈습니다.

# ddrescue -d -b 4096 --fill=+ /dev/sda1 /mnt/sda1.img sda1.log

이것이 작동할까요? 좋은 섹터만 다시 읽는 또 다른 (선호되는) 방법이 있습니까?

답변1

설명서를 주의 깊게 읽고 ddrescue다음 옵션을 찾으십시오.

-m file
--domain-logfile=file

복구 도메인을 완료된 것으로 표시된 로그 파일의 블록으로 제한합니다.문서. 이는 복구 중에 대상 드라이브에 오류가 발생한 경우 유용합니다.

따라서 호출은 ddrescue다음과 같습니다.

# ddrescue -d -b 4096 -m sda1.log /dev/sda1 /mnt/sda1.img logfile2.log

답변2

이제 ddecue의 기능을 이해했으므로 손상된 디스크에서 데이터를 복구할 때 /dev/null에 쓰는 데 이를 사용해서는 안 됩니다. 대신 실제 이미지 파일에 쓰는 데 사용하여 "적어도 뭔가"를 얻어야 합니다.

예를 들어, 새 디스크가 해당 디스크를 저장소로 반환하는지 알고 싶다면 /dev/null에 쓰는 것이 좋습니다.

이 경우 "/dev/null 시도"의 로그 파일을 사용하는 대신 빈/새 로그 파일을 사용한 다음 수행하는 작업에 따라 여러 패스를 시도하게 됩니다.

답변3

2018년 빠른 편집:

나는 ddrescue몇 년 전에 하드 드라이브를 구출하기 위해 가끔 이것을 사용했습니다.

dd표면적으로 손상된 하드 드라이브보다 빠릅니다.

하지만 dd첫 번째 게시물을 통해 사실을 그대로 유지하는 것이 정말 안전합니다.

원본 게시물

이것은아주 나쁜 생각!!

ddrescue를 연습 실행하여 복구 출력을 /dev/null에 던집니다.

내가 말한 건손상된 파일 시스템을 다른 하드 드라이브의 파일로 이미징하기 전에...

디스크 드라이브가 손상되면 일반적으로 손상 정도가 증가합니다.드라이브에 액세스하려고 할 때마다.

그래서이것손상된 드라이브를 구출하는 좋은 방법은 다음과 같습니다.한 번의 논스톱 작업으로 처음부터 끝까지 전체 디스크를 이미지화하세요!. 이후: 디스크 드라이브를 분리하고 조용히 보관하십시오. 이와 마찬가지로, 손상된 드라이브를 덜 만질수록 무언가를 복구할 가능성이 높아집니다.

파손된 재료와 기계적으로 접촉할 때마다 더 많은 손상이 발생할 가능성이 있으므로 마지막 작업에 대한 로그는 다음과 같습니다.참조가 아님어떤 블록이 손상되었는지 확인지금.

이것은 올바른 dd구문 입니다원시 dd 읽기불량 블록도 마찬가지입니다.

dd bs=512 if=/dev/sdX of=/backuprepo/sdXBroken.img conv=noerror,sync

그리고 나는 그것이 참을성있게 작동하도록 두었습니다.

관련 정보