인터넷 어딘가에서 나는 gddrescue 가 문제가 발생한 섹터에서 수행되는 디스크 읽기의 양을 구별 할 수 있다는 점 에서 dd 보다 우수하다는 것을 읽었 습니다. 이것이 사실입니까?
시간 dd if = / dev / sda skip = 900343967 of = a.bin count = 4 iflag = direct conv = noerror, sync
dd :`/ dev / sda '읽기 :
2 + 0 레코드의 입력 / 출력 오류 2 + 0 레코드
출력
1024 바이트 (1.0 kB), 18.6057s, 0.1 kB / s 4 + 0 레코드 의
3 + 1 레코드 2048 출력 바이트 (2.0kB) 복사, 18.6707s, 0.1kB / s실제 0m18.672s
사용자 0m0.000s
sys 0m0.004s
Btw, 직접 깃발이 정말 도움이됩니다. 그렇지 않으면 4에서 1 섹터 만 읽을 수 있습니다 (vs 3/4와 함께). 그러나 전송 속도가 눈에 띄게 느려집니다 .이 플래그가 없으면 5MB / s 대 25MB / s 입니다. 어쨌든 지금은 gddrescue (ddrescue) 부분에 대해 ..
시간 ddrescue -b512 -c1 -s4b -dnvD -i900343967b -o0b / dev / sda b.bin
/ dev / sda에서 b.bin으로 2048 바이트를 복사하려고합니다.
시작 위치 : infile = 460976 MB, outfile = 0 B
블록 크기 복사 : 1 하드 블록
하드 블록 크기 : 512 바이트
Max_retries : 0
직접 : 예 스파 스 : 아니오 분할 : 잘라 내기 없음Ctrl-C를 눌러
구조 중단
: 1536B, 오류 크기 : 512B , 현재 속도 : 53B / s ipos : 460976MB, 오류 : 1, 평균 속도 : 53B / s opos : 1536B,
마지막으로 읽은 시간부터 : 0 초
완료실제 0m18.736s
사용자 0m0.004s
sys 0m0.000s
위에 표시된 것처럼 실행하는 데 정확히 동일한 시간이 걸렸습니다. 예상대로-같은 통계 : 3/4. 그러나 dd (conv = sync)에 대해 문제가있는 섹터를 0x00 으로 채울 수 있지만 gddrescue 에이 기능이없는 것 같습니다. 대신, 문제가 발생한 부분을 해당 위치에 쓰지 않고 문제가 발생한 섹터를 건너 뛰고 다음 다음 섹터로 계속 진행합니다 (출력 파일에 해당 섹터 위에 이미 데이터가 기록 된 경우 덮어 쓰지 않습니다. 때로는 바람직하지 않을 수도 있음) ). gddrescue가 있는 블록 장치 에서 -t (잘라 내기 ) 옵션 이 어떻게 작동하는지 잘 모르겠습니다.(0x00으로 완전히 덮어 쓸 것 같지만) 일반 파일에서는 예상대로 전체 파일을 오프셋 크기 (예 : -o1) 내에서 자르지 않고 잘립니다. 따라서 그것은 dd sync 와 다소 유사 하지만 전체 출력 장치 / 파일을 덮어 쓸 준비가되어 있으면 identicle 기능 만 모방하는 것과 동일합니다.
자세한 옵션이 존재하고 불량 섹터 / 블록을 기록하는 기능 덕분에 gddrescue 가 더 나은 선택 인 것 같습니다. 두 앱 모두 동일한 매개 변수로 시작되었다는 점에 유의해야합니다.
의 출력
diff? .bin
비어 있음 (종료 0). 파일이 정확히 동일 함을 의미합니다.
이제 이것은 내가 이해 하지 못하는 부분입니다 .
dd 는 작은 읽기 및 쓰기를 수행하므로 오류가없는 항목에서도 느립니다. 오류가없는 항목을 최대한 많이 읽는 대신 드라이브의 잘못된 부분을 씹는 데 많은 시간을 소비하고 다시 어려운 작업을 수행합니다.
그게 다 뭐야? 특히 " 이 부분은 오류없는 내용을 최대한 많이 읽는 것보다 드라이브의 잘못된 부분을 씹는 데 많은 시간을 소비한다 . 위의 그림과 동일한 시간이 걸렸습니다 (데이터의 아주 작은 부분을 검사했지만 중요합니까?).
gddrescue 는 "불량 섹터"에서 다시 읽기 양을 제어해야하는 -r 스위치를 제공 하지만 dd 는 -r0 과 함께 실행되는 것 같습니다 (동일한 시간이 소요됨 ). 그렇다면이 옵션은 단지 "후 처리"를위한 것입니까? 내가에서 얻고 것은 원래 모두이다 DD 와 gddrescue가 실행 것으로 보인다 -R0 및 DD 하지 않는 것 씹는 더 이상 잘못된 부분을 통해 gddrescue (그들은 둘 것 정지 15 ~ 18에 대한 나쁜 블록 초는주고받습니다, 그래서 거래는 무엇입니까, 어떻게 gddrescue가 더 빠릅니까 ???)
또한 -D 옵션 (출력 파일에 동기 쓰기 사용)은 무엇입니까? 수행 된 일부 테스트와 차이가 없습니다.
누구나 전체에 대해 의견을 말할 수 있습니까? 감사.