
$ dd if=BIN of=/dev/mmcblk0 bs=1k seek=1; sync
39+0 records in
39+0 records out
39936 bytes (40 kB, 39 KiB) copied, 0.000348317 s, 115 MB/s
ディスクへの書き込みが開始からサイズまでどのように行われるのか、ここで少し混乱していますdd
。合計サイズは 1024 (1k) バイトになると考えており、seek=1 を使用したため、1*1024 は開始も 1024 になることを意味します。
サマリーはブロック 1024 から始まり、合計 1024 バイトまでカウントされますが、40K と表示されます。何か助けになりますか?
答え1
カウントを指定しなかったため、dd は入力全体を読み取ります。カウントを指定します。例:
dd if=BIN of=/dev/mmcblk0 bs=1k count=1 seek=1; sync
これにより、サイズ 1k のブロックが 1 つ書き込まれるはずです。(また、シークによって dd が最初の 1024 バイトをスキップすることに注意してください。これは意図されたもの、必要なことでしょうか?)