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が確認されます 明示的に指示されない限り、キャッシュをバイパスしたりフラッシュしたりすることはありません。