硬盘映像文件校验和与设备校验和不匹配

Mar*_*tin 5 dd hashsum

我有一个660297728带有 MD5 哈希的字节硬盘图像f5a9d398e974617108d26c1654fe7bcb

root@T42# ls -l image
-rw-rw-r-- 1 noc noc 660297728 Sep 29 19:00 image
root@T42# md5sum image
f5a9d398e974617108d26c1654fe7bcb  image
Run Code Online (Sandbox Code Playgroud)

现在,如果我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
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种行为?

fro*_*utz 7

/dev/sdb正好660297728个字节过大?( blockdev --getsize64 /dev/sdb). 如果不是,校验和自然会不同。使用cmp image /dev/sdb找出的差异的细节。如果它说EOF on image,它是相同的。

  • 您不能期望不同大小的校验和相同。 (2认同)