660297728
バイトのHDDイメージと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
ここで、このイメージファイルを/dev/sdb
ディスクにdd
して、ディスクの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
何がそのような振る舞いを引き起こすのでしょうか?
/dev/sdb
正確に660297728バイトですか? (blockdev --getsize64 /dev/sdb
)。そうでない場合、チェックサムは当然異なります。使用する cmp image /dev/sdb
違いの詳細がどこにあるかを確認します。 EOF on image
、それは同じです。
上記のコマンド(dd if =/dev/sdb bs = 512 count = 660297728 | md5sum)は正しくありません。 countパラメータはバイトではなく、blocksです。 OPのブロックカウントは1289644であるため、正しいコマンドは次のとおりです。
dd if =/dev/sdb bs = 512 count = 1289644 | md5sum