web-dev-qa-db-fra.com

Pourquoi «dd» ne fonctionne-t-il pas pour créer une clé USB amorçable?

Récemment, j'ai voulu créer une clé USB amorçable sous Linux. J'ai constaté qu'il y avait beaucoup d'opinions contradictoires sur la possibilité d'utiliser la commande 'dd' pour créer une clé USB amorçable. J'ai décidé de télécharger une image ISO et d'essayer. Bien que dd ait définitivement mis l’image sur la clé USB, elle n’était pas amorçable. Ma question est donc de savoir quel est l'ingrédient magique qui fera que cela fonctionne ou pourquoi cette approche a-t-elle persisté si elle ne fonctionne pas?

C'est la commande que j'ai utilisée,

dd if=/mint/iso/image of=/dev/sdb1 oflag=direct 
35
jdowner

Vous écrivez l'image sur la partition 1 de/dev/sdb

Changez ceci en la commande suivante:

dd if=/mint/iso/image of=/dev/sdb oflag=direct

cette information a été acquise de ici

31
Dave G

Vous avez copié l'image sur la première partition. Essayez de copier dans/dev/sdb plutôt que/dev/sdb1.

Le mécanisme réel varie un peu en fonction du type d’image que vous utilisez, mais pour les images DOS/MBR simples, vous devez obtenir une table de partition correcte (avec la partition amorçable marquée comme étant amorçable, et le MBR - la partie de la 512 octets initiaux qui ne sont pas la table de partition - contenant le code de démarrage initial.

10
Kristof Provost

D'après mon expérience avec une autre distribution Linux, tout ce que vous avez à faire est de changer le fichier du chargeur de démarrage syslinux et de le modifier pour démarrer l'USB. Des informations plus détaillées à ce sujet sont disponibles sur le wiki syslinux .

Voir aussi cette recherche Google .

2
Jacob J Daniels

Vous aurez peut-être besoin d'avoir un BPB écrit dans votre chargeur de démarrage. Voir le message de Dex du vendredi 24 avril 2009 à 9 h 06 au http://f.osdev.org/viewtopic.php?f=1&t=19681

Le principe de base est que "si les utilisateurs de [votre micrologiciel usb] utilisent une émulation de disquette et que vous ne possédez pas de BPB, il ne démarrera PAS"

Armé de ce conseil, j'ai pu résoudre ce problème. J'utilise Linux, donc ma commande DD était:

Sudo dd bs=512 count=2880 if=IMG.bin of=/dev/sdb

Vous voudrez remplacer sdb par votre périphérique usb. Vous pouvez le trouver en exécutant

ls -l /dev/ | grep sd

avant et après avoir inséré votre usb pendant que linux est en marche. Si vous obtenez par exemple sdb1 et sdb, ont choisi l'option non indexée.

1
define

Vous êtes-vous assuré que votre carte mère est configurée pour démarrer à partir du périphérique USB avant de tenter de démarrer à partir du disque dur? Je suppose que c'est peut-être votre seul problème - il n'y a pas grand chose à utiliser dd comme vous pouvez le voir.

0
Eli Sand

J'ai également rencontré ce problème à quelques reprises.

Ce que j’ai trouvé qui fonctionne le plus souvent pour moi est de commencer par remplir le lecteur.

  1. Remplacez X par votre lettre ou votre numéro de lecteur pour le trouver:

    • Mac: diskutil list
    • Linux: lsblk
  2. Zéro-remplir le lecteur

    • Mac: dd if=/dev/zero of=/dev/rdiskX bs=4m
    • Linux: dd if=/dev/zero of=/dev/sdX bs=4M
  3. dd votre image à nouveau

(Les tailles de bloc de 4 meg semblent être les plus rapides pour moi)

0
Andre Helberg