디스크 ISO 생성 시 DD를 복원하시겠습니까?

디스크 ISO 생성 시 DD를 복원하시겠습니까?

250GB HDD의 전체 디스크 ISO 이미지를 생성하려고 하는데 약 80%를 취소해야 했고 이 지점에 도달하는 데 거의 16시간이 걸렸으며 모두 기다릴 필요가 없습니다. 다시. 나는 다음 명령을 사용했습니다.

dd if=/dev/sdc of=ssd.iso

Ctrl+로 취소 해야 할 때 C표시됩니다.

445056121+0 records in
445056121+0 records out
227868733952 bytes (228 GB, 212 GiB copied, 62735.8 s, 3.6 MB/s

ISO 이미지 생성을 재개하는 방법이 있습니까? 전체 작업이 다시 완료될 때까지 기다릴 필요가 없습니다. 이 작업은 거의 24시간이 걸립니다. 사람들이 복원 명령을 사용하는 것을 본 적이 있지만 seek=사용 방법을 모르겠습니다.

답변1

예, 계속할 수 있습니다. 첫 번째 시도 이후 /dev/sdc데이터가 변경된 경우 유사한 위험이 발생할 수 있습니다 .파노라마 실패(그러나 그래픽이 아닌 바이너리 데이터를 사용합니다).

skip동일한 값을 가진 동일한 입력 및 출력 파일을 사용하는 경우 seek귀하의 경우에는 기껏해야 합니다 445056121.

하지만이는 기본값 bs(예: ) 을 사용했다고 가정합니다 512. 이렇게 작은 값은아마도당신이 겪고 있는 속도 저하의 원인.

bs예를 들어 다음과 같이 더 큰 값으로 다시 계산합니다 8M.

mv ssd.iso ssd.img   # because it's not really an ISO
dd if=/dev/sdc of=ssd.img bs=8M skip=27164 seek=27164

여기서 27164는 이미 가지고 있는 227868733952바이트에 들어갈 수 있는 전체 8MiB 블록 수를 나타냅니다.

ddrescue앞으로는 GNU(맵 파일 포함)를 고려해보세요 . 이점:

  • 이 도구를 사용하면 원래 명령을 반복하여 복구할 수 있습니다.
  • dd특별한 옵션이 필요한 conv=sync,noerror동안 이러한 오류를 처리하도록 설계되었으므로 장치에서 읽는 동안 오류가 발생할 때 더 잘 작동합니다.그것은신화그들은 항상 스스로 잘 일한다, 당신 iflag=fullblock도 필요합니다). 그러나 그럼에도 불구하고 원본 장치의 물리적 섹터 크기보다 큰 경우 읽을 데이터를 모두 dd읽지 못할 수도 있습니다 .ddrescuebs

답변2

dd적어도 그것을 사용해야 하는 이유를 모르고는 사용하지 마십시오 . 그리고 선택의 여지가 전혀 없습니다. 대신에cat

cat /dev/sdc >ssd.img

ISO를 생성하지 않았기 때문에 접미사를 변경했습니다( mkiso이를 위해서는 도구가 필요하지만 실제로 원하는 작업은 아닌 것 같습니다).

답변3

"dd"를 진행하는 한 가지 방법은 Mac에서 다음 명령을 실행하는 것입니다.

dd if=/dev/sdc of=ssd.iso skip=$(expr $(stat -f%z ssd.iso) / 512) seek=$(expr $(stat -f%z ssd.iso) / 512)

이 명령을 실행하기 전에 먼저 ssd.iso의 현재 크기를 512로 나눌 수 있는지 확인하는 것이 좋습니다.

다음을 실행할 수도 있습니다.

echo "dd if=/dev/sdc of=ssd.iso skip=$(expr $(stat -f%z ssd.iso) / 512) seek=$(expr $(stat -f%z ssd.iso) / 512)"

이것이 의미가 있는지 확인하십시오. 그것은 돌아와야한다

dd if=/dev/sdc of=ssd.iso 건너뛰기=27164 탐색=27164

복사본이 잘린 경우 파일이 완전히 복사될 때까지 첫 번째 명령을 계속 실행할 수 있습니다.

관련 정보