660297728
MD5 해시가 포함된 바이트 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/sdb
660297728바이트는 얼마나 큽니까? ( 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 bytes
dd가 쓴 것입니다. - 다음 항목은
440 MB
아직 작성되지 않았습니다. 데이터는 dd 이전과 동일하며 아마도 0이 있을 수도 있습니다.
전체 sdb를 md5sum하면 440 MB
작성되지 않은 내용도 포함하게 되어 이미지의 md5sum과 결과가 달라집니다.
새 디스크를 md5sum하려면 다음을 수행할 수 있습니다.
dd if=/dev/sdb bs=512 count=1289644 | md5sum
결과는 동일해야 합니다.