
dd
USBドライブを介して画像を書き込んだ後、画像を書き換えるとsha256sum
合計が変わることがわかりました。なぜ? ISOと決して同じではありません。
私は実行しています:(sha256sum /dev/sdb
パーティションではなくブロックデバイスで)
答え1
画像がUSBドライブより小さい場合は、そのサイズのデータをドライブから読み取る必要があります。それ以外の場合は、ドライブの残りのすべての部分がsha256に追加され、別の結果が生成されます。
例えば
$ ls -l tst.iso
-rw-r--r-- 1 root root Jul 1 14:58 tst.iso
$ /usr/bin/sha256sum tst.iso
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 tst.iso
$ dd if=tst.iso of=/dev/sdg bs=1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 200.066 s, 5.4 MB/s
もう一度読むとき、私たちが書いた1,073,741,824バイトだけを読んだことを確認する必要があります。この場合、正確に1024個の1Mブロックであることがわかっているのでbs=1M count=1024
。
$ dd if=/dev/sdg bs=1M count=1024 | sha256sum
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 37.8798 s, 28.3 MB/s
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14 -
合計バイトが一致しない場合、sha256 は異なります。