HDD 이미지 파일 체크섬이 장치 체크섬과 일치하지 않습니다.

HDD 이미지 파일 체크섬이 장치 체크섬과 일치하지 않습니다.

660297728MD5 해시가 포함된 바이트 HDD 이미지가 있습니다 f5a9d398e974617108d26c1654fe7bcb.

root@T42# ls -l image
-rw-rw-r-- 1 noc noc 660297728 Sep 29 19:00 image
root@T42# md5sum image
f5a9d398e974617108d26c1654fe7bcb  image

이제 dd이 이미지 파일을 /dev/sdb디스크에 쓰고 디스크의 MD5 해시를 확인하면 이미지 파일의 MD5 해시와 다릅니다.

root@T42# dd if=image of=/dev/sdb bs=512
1289644+0 records in
1289644+0 records out
660297728 bytes (660 MB) copied, 1006.38 s, 656 kB/s
root@T42# md5sum /dev/sdb
f6152942a228a21a48c731f143600999  /dev/sdb

이 동작의 원인은 무엇입니까?

답변1

/dev/sdb660297728바이트는 얼마나 큽니까? ( blockdev --getsize64 /dev/sdb). 그렇지 않은 경우 체크섬은 자연스럽게 달라집니다. cmp image /dev/sdb차이점을 자세히 알아보는 데 사용됩니다 . 라고 하면 EOF on image똑같습니다.

답변2

아마도 /dev/sdb의 디스크가 udisks나 운영 체제의 다른 프로세스(예: 자동 마운트)에 의해 수정되었을 수 있습니다.

편집하다: 이미지가 전체 하드 드라이브가 아닌 파티션의 이미지일 수도 있습니다.

디스크를 fdisk와 비교할 수 있습니다.

fidsk -l /dev/sdb

그리고

fdisk -l /path/to/image

블록 수(및 크기)를 살펴보세요. 어쩌면 하나의 파티션에만 해당할 수도 있습니다.

/dev/sdb의 관련 파티션에서 md5sum을 다시 시도하십시오: md5sum /dev/sdbx (x는 파티션 번호)

이미지의 md5와 비교하십시오.

편집 2:

소스 하드 드라이브의 크기는 다음과 같으 660297728 bytes (660 MB)므로 dd 작업을 완료하면 다음과 같습니다.

dd if=/dev/sda of=/path/to/image

따라서 이미지는 전체 소스 하드 드라이브와 크기가 동일합니다.660297728 bytes

원본 HDD와 이미지에 대해 md5sum을 수행하는 경우 동일해야 합니다.

이미지를 새 하드 드라이브에 복사할 때 다음을 수행합니다.

dd if=image of=/dev/sdb

그러나 sdb의 크기는 1TB이므로 다음과 같습니다.

  • 첫 번째는 660297728 bytesdd가 쓴 것입니다.
  • 다음 항목은 440 MB아직 작성되지 않았습니다. 데이터는 dd 이전과 동일하며 아마도 0이 있을 수도 있습니다.

전체 sdb를 md5sum하면 440 MB작성되지 않은 내용도 포함하게 되어 이미지의 md5sum과 결과가 달라집니다.

새 디스크를 md5sum하려면 다음을 수행할 수 있습니다.

dd if=/dev/sdb bs=512 count=1289644 | md5sum

결과는 동일해야 합니다.

관련 정보