背景情報:
問題:
SDカードへの書き込みはbs = 512で遅いです。スパンが大きい場合、bs = 8Mの方がはるかに高速です。
どういうわけか 'bs = 512 seek = {n_small_blocks}'にしてから、実際の書き込みのために 'bs = 8M'に変更することは可能ですか(正しい位置にシークした後)?
次のリソースが見つかりました: http://www.delorie.com/gnu/docs/textutils/coreutils_65.html
しかし、なぜ2回の呼び出しが必要なのか、ガイドが主張することを達成するためにそれらがどのように連携しているのかは私にはわかりません。
[〜#〜]更新[〜#〜]
ここで答えを見つけました:
以下の私の完全な解決策を参照してください
解決策:
dd if='input_file.bin' \
of='/dev/sd{X}' \
bs={desired write block size} \
seek={start offset in bytes} \
count={write size in bytes} \
oflag=seek_bytes \
iflag=count_bytes
manページから:
count_bytes
treat 'count=N' as a byte count (iflag only)
...
seek_bytes
treat 'seek=N' as a byte count (oflag only)
これは転送を少し遅くするように見えますが、少なくともkB/sではなくMB/sで転送します。また、システムのmanページを必ず確認してください。Webで入手できるページ(つまり、グーグル 'man dd')には、これらのオプションが含まれていないようです。