web-dev-qa-db-ja.com

HDDイメージファイルのチェックサムがデバイスのチェックサムと一致しません

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

何がそのような振る舞いを引き起こすのでしょうか?

4
Martin

/dev/sdb正確に660297728バイトですか? (blockdev --getsize64 /dev/sdb)。そうでない場合、チェックサムは当然異なります。使用する cmp image /dev/sdb違いの詳細がどこにあるかを確認します。 EOF on image、それは同じです。

7
frostschutz

上記のコマンド(dd if =/dev/sdb bs = 512 count = 660297728 | md5sum)は正しくありません。 countパラメータはバイトではなく、blocksです。 OPのブロックカウントは1289644であるため、正しいコマンドは次のとおりです。

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

1
Tom Becker