J'ai récemment découvert que je peux créer une clé USB amorçable à partir d'un fichier ISO en utilisant simplement cat
(ou dd
).
Je ne trouve aucune information sur la façon dont cela fonctionne. Pourquoi serait:
cat my.iso > /dev/sdb && sync
prendre ce fichier et écrire tous les fichiers qu'il contient, au format de démarrage, sur un appareil?
cat
à la place de ladd
création d'USB en directRéponses:
Un fichier ISO est une image complète et formatée du système de fichiers. Tout
cat
oudd
fait est faire un peu pour bit copie de cette image du système de fichiers à vos médias cibles.Il n'y a pas de magie dans les coulisses. La préparation du système de fichiers ISO a été effectuée au préalable (souvent par un outil spécialisé). Il
cat
suffit d'écrire cette collection d'octets. Il n'interprète pas du.iso
tout, ni ne comprend qu'il essaie de créer un support amovible amorçable.Il nécessite une prise en charge appropriée du noyau et du pilote de périphérique pour faire fonctionner le
write
s sur ce support. Un peu de «magie» continue, car les supports optiques inscriptibles ne fonctionnent pas exactement de la même manière que les disques durs conventionnels. Mais cette magie n'implique pas d'interpréter le contenu du fichier ISO.Vous pouvez monter le
.iso
fichier directement sans le graver en utilisant un montage en boucle (si une telle chose est disponible sur votre système d'exploitation). De même, vous pouvez créer un fichier qui contient par exemple unext4
système de fichiers, et vous pouvez lecat
faire sur une partition.la source
Cela fonctionne car l'image iso a été traitée avec
isohybrid
, ce qui installe un chargeur de démarrage syslinux normal dans l'image iso. Cela est possible car l'iso9660 n'utilise pas normalement les premiers secteurs de l'image, donc un chargeur de démarrage du disque dur plus ou moins normal peut y être placé. Lorsqu'il est gravé sur un disque optique, il est ignoré et le BIOS démarre le disque en utilisant la méthode de démarrage conventionnelle el torito cdrom. Lorsque l'image est placée sur un lecteur flash, le secteur de démarrage syslinux est chargé.la source