Arch Linux Wikiから:https://wiki.archlinux.org/index.php/USB_flash_installation_media
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
[…]しない USBドライブを抜く前に同期を逃して完了してください。
知りたい
- それは何をしますか?
- 省略した場合、どのような影響がありますか?
メモ
dd
オプションのstatus=progress
で使用されるコマンド :
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
またはpv
を使用する 進歩のために
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
承認された回答:
dd
デバイスへの書き込み時にカーネルディスクキャッシュをバイパスしないため、データの一部がまだUSB
に書き込まれていない可能性があります dd
に固執する 完了。 USB
を抜いた場合 その瞬間に固執し、USB
のコンテンツ スティックは一貫性がありません。したがって、システムがこのUSB
から起動できない可能性もあります。 スティック。
Sync
キャッシュ内のデータをデバイスにフラッシュします。
sync
を呼び出す代わりに fdatasync
を使用できます dd
の変換オプション:
fdatasync
終了する前に出力ファイルデータを物理的に書き込みます
あなたの場合、コマンドは次のようになります:
tar -xzOf archlinux-2016-09-03-dual.iso |
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
conv=fdatasync
dd
になります fdatasync()
を効果的に呼び出す dd
の直前の転送終了時のシステムコール 終了します(これをdd
で確認しました のソース)。
これにより、dd
が確認されます 明示的に指示されない限り、キャッシュをバイパスしたりフラッシュしたりすることはありません。