Pourquoi dd n'est pas une commande fiable pour écrire des fichiers .iso amorçables sur une clé USB?

19

Une réponse ici indique que les Ubuntu .isone devraient pas démarrer s'ils sont copiés ddsur une clé USB.

Pourquoi certaines distributions Linux ont-elles la possibilité d'écrire directement leur .isofichier de démarrage sur une clé USB avec dd, mais d'autres (Ubuntu?) Ne le font pas?

Dans Ubuntu, je pense qu'il doit être converti en .imgpremier. Est-ce vrai?

Est-ce pour une différence architecturale dans .isos? Ou est-ce dû à une limitation de ddlui-même?

Je ne sais pas si c'est hors sujet ici. Je peux le déplacer vers un endroit plus approprié si la communauté le pense ou le suggère. Une explication serait appréciable.

Samik
la source
1
C'était le cas avec les ISO Ubuntu, mais à partir de 11.10, ils sont compatibles dd, pour ainsi dire.
mikewwhat
@mikewwhat Merci pour l'info. Malheureusement, j'essayais de le faire avec 11.04 iso.
Samik

Réponses:

32

Avec Ubuntu 12.04, il est possible ddde créer le fichier .iso sur un disque pour créer un disque amorçable. Cela ne fonctionne qu'avec certains isos (y compris Ubuntu 12.04, mais pas les versions antérieures d'Ubuntu) car le démarrage à partir du CD et le démarrage à partir d'un disque sont gérés différemment sur les systèmes basés sur le BIOS.

Entre autres, pour qu'un disque dur soit amorçable, il doit contenir du code de démarrage dans le premier secteur , pour qu'un CD soit amorçable, il doit contenir du code de démarrage " au secteur 11 (17 décimales) lors de la dernière session sur le CD " selon la spécification El Torito . Étant donné que le code de démarrage, au moins la partie initiale chargée par le BIOS, est stocké à différents endroits pour les CD et les disques durs, une image disque peut avoir du code de démarrage aux deux endroits afin que le chargeur de démarrage soit chargé si l'image est démarrée en tant que disque dur. lecteur ou comme un CD.

La plupart des fichiers iso sont uniquement conçus pour être amorçables en tant que CD, et donc ils ne contiennent aucun code de démarrage dans le premier secteur de l'image et donc un disque dur contenant une telle image n'aura pas de code de démarrage dans son premier secteur et ne sera pas amorçable.

Jordan Uggla
la source
Voilà l'explication que je cherchais. Merci d'avoir pris le temps de l'expliquer. Ce serait un peu plus agréable de voir quelques liens, mais la question est répondue. C'est donc ce que fait UNetbootin, en copiant le code du chargeur de démarrage du secteur 17 vers le premier secteur de la clé USB, non?
Samik
3
Non, ce n'est pas aussi simple que de copier du code de démarrage. Même si cela était possible, cela nécessiterait d'essuyer l'ensemble de l'appareil (comme l'utilisation de dd does), ce qui serait inacceptable pour la plupart des utilisateurs d'Unetbootin. Au lieu de cela, Unetbootin "télécharge et extrait un fichier ISO sur votre clé USB, génère un fichier de configuration syslinux approprié et rend votre clé USB amorçable à l'aide de syslinux". unetbootin.sourceforge.net/#faq
Jordan Uggla
+1 pour la spécification El Torito. Et merci pour l'explication ci-dessus. :)
Samik
0

Les ISO actuels d'Ubuntu sont dd compatibles et le sont depuis un certain temps. Ce sont des ISO "hybrides": ils ont un secteur de démarrage MBR. Une utilisation ddcorrecte créera une clé USB entièrement amorçable.

L'article cité, btw, n'a qu'une seule réponse affirmant que les ISO Ubuntu ne sont pas ddcompatibles, et ce n'est pas vrai.

Veuillez voir ma réponse ici: Comment convertir un ISO iso9660 en ISO USB

Cette réponse fournit un moyen de déterminer si une iso est hybridée (vous pouvez le vérifier pour les ISO Ubuntu), comment l'hybrider si ce n'est pas le cas (dans d'autres cas) et comment l'utiliser correctement ddpour créer un lecteur amorçable.

quête
la source
-3

Notes qui n'ont aucun changement sur la solution acceptée publiée ci-dessus.

La question a été posée comme iso fiable et amorçable et utilisant dd.

Dans la plupart des cas, les utilisateurs de Linux utilisent l'expression iso pour désigner une image spéciale d'un disque optique. Dans ce cas, l'amorçage pourrait être l'une des quelques méthodes que le bios ou l'uefi comprend et permet d'exécuter à partir d'un disque optique.

dd est généralement considéré comme fiable, mais il peut échouer pour de nombreuses raisons et n'a rien à voir avec la source ou la sortie. Dans la plupart des cas, cela semble échouer uniquement parce qu'il ne demande pas "Êtes-vous sûr de vouloir effacer cela ??"

Les ordinateurs modernes ont tendance à voir une clé USB comme un véritable disque dur interne.

On pourrait également utiliser un outil comme 7z pour copier sur certains iso sur un lecteur flash fat32.

Tout cela suppose un matériel moderne et un lecteur flash USB moderne.

À l'avenir, nous devrons dans la plupart des cas créer des supports de démarrage uefi.

jefro0
la source