Aus dem 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
[…] Tun Sie es nicht versäumen Sie die Synchronisierung, um sie abzuschließen, bevor Sie das USB-Laufwerk herausziehen.
Ich würde es gerne wissen
- Was macht es?
- Welche Folgen hat es, wenn es ausgelassen wird?
Notizen
dd
Befehl, der mit optionalem status=progress
verwendet wird :
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Oder mit pv
für den Fortschritt
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Akzeptierte Antwort:
Der dd
umgeht die Kernel-Disk-Caches nicht, wenn es auf ein Gerät schreibt, so dass ein Teil der Daten möglicherweise noch nicht auf den USB
geschrieben wird kleben Sie auf dd
Fertigstellung. Wenn Sie Ihren USB
abziehen Stick in diesem Moment den Inhalt auf den USB
Stick wäre inkonsistent. Daher könnte Ihr System sogar nicht von diesem USB
booten kleben.
Sync
löscht alle noch im Cache befindlichen Daten auf das Gerät.
Statt sync
aufzurufen Sie könnten fdatasync
verwenden dd
Konvertierungsoption:
fdatasync
Daten der Ausgabedatei vor dem Beenden physisch schreiben
In Ihrem Fall wäre der Befehl:
tar -xzOf archlinux-2016-09-03-dual.iso |
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
Die conv=fdatasync
macht dd
effektiv fdatasync()
aufrufen Systemaufruf am Ende der Übertragung kurz vor dd
beendet (ich habe dies mit dd
überprüft Quellen).
Dies bestätigt, dass dd
würde die Caches weder umgehen noch leeren, es sei denn, Sie werden ausdrücklich dazu aufgefordert.