GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum ist die Synchronisierung so wichtig, wenn Sie einen bootfähigen Linux-USB-Stick erstellen?

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.


Linux
  1. So erstellen Sie einen bootfähigen Linux-USB-Stick über die Linux-Befehlszeile

  2. Erstellen eines PC-bootfähigen USB-Sticks mit einer .iso-Datei auf einem MAC

  3. So legen Sie eine Linux-ISO auf einen USB-Stick und machen sie auf einem Mac bootfähig

  4. So erstellen Sie einen bootfähigen Linux-USB-Stick unter Windows

  5. Linux – Warum funktioniert USB nicht in Linux, wenn es in Uefi/Bios funktioniert?

Erstellen Sie ein bootfähiges USB-Laufwerk mit USBImager unter Linux

Erstellen Sie einen persistenten bootfähigen USB-Stick mit Ventoy in Linux

So erstellen Sie einen bootfähigen Ubuntu-USB-Stick unter Linux

So erstellen Sie einen bootfähigen Windows 10-USB-Stick unter Linux

Wie erstelle ich einen bootfähigen Kali-Linux-USB-Stick?

So erstellen Sie einen Windows-bootfähigen USB-Stick unter Linux