GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi la synchronisation est-elle si importante lors de la création d'une clé USB Linux amorçable ?

Depuis le wiki Arch Linux :https://wiki.archlinux.org/index.php/USB_flash_installation_media

# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync

[…] Ne pas manquez la synchronisation pour terminer avant de retirer la clé USB.

J'aimerais savoir

  • Que fait-il ?
  • Quelles sont les conséquences en cas d'omission ?

Remarques

dd commande utilisée avec l'option status=progress :

tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync

Ou en utilisant pv pour progresser

tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync

Réponse acceptée :

Le dd ne contourne pas les caches de disque du noyau lorsqu'il écrit sur un périphérique, de sorte qu'une partie des données peut ne pas encore être écrite sur le USB coller sur dd achèvement. Si vous débranchez votre USB coller à ce moment, le contenu sur la USB le bâton serait incohérent. Ainsi, votre système pourrait même ne pas démarrer à partir de cette USB bâton.

Sync vide toutes les données encore en cache sur l'appareil.

Au lieu d'appeler sync vous pouvez utiliser fdatasync dd option de conversion :

fdatasync

écrire physiquement les données du fichier de sortie avant de terminer

Dans votre cas, la commande serait :

tar -xzOf archlinux-2016-09-03-dual.iso | 
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync

Le conv=fdatasync fait dd appelle effectivement fdatasync() appel système en fin de transfert juste avant dd sort (j'ai vérifié cela avec dd sources).

Cela confirme que dd ne contournerait ni ne viderait les caches sauf instruction explicite de le faire.


Linux
  1. Pourquoi je m'en tiens à xterm

  2. Comment créer une clé USB amorçable Linux à partir de la ligne de commande Linux

  3. Créer une clé USB amorçable sur PC à l'aide d'un fichier .iso sur MAC

  4. Comment mettre un ISO Linux sur une clé USB et le rendre amorçable sur un Mac

  5. Comment créer une clé USB amorçable Linux sous Windows

Créer une clé USB amorçable avec USBImager sous Linux

Créer une clé USB amorçable persistante à l'aide de Ventoy sous Linux

Comment créer une clé USB bootable Ubuntu sous Linux

Comment créer une clé USB bootable Windows 10 sous Linux

Comment créer une clé USB Kali Linux amorçable ?

Comment créer une clé USB amorçable Windows sous Linux