66 votes

Démarrage à partir d'une clé USB en utilisant Grub.

L'ordinateur portable de mon ami a eu un accident de voiture (il va bien !). Cependant l'ordinateur est très vieux, c'est un Acer Aspire 1520, le lecteur de CD-rom est cassé et il n'y a pas de lecteur de disquettes.

Je lui ai fait un boot USB avant d'y jeter un coup d'oeil et j'ai constaté que son BIOS ne peut pas démarrer à partir d'un USB. Le site sólo La seule chose que j'ai est une console Grub mais il tient à installer XP (sur USB) et à l'utiliser uniquement pour les films.

Est-il possible d'utiliser la console Grub pour avoir accès à la clé USB et lancer l'installation de Windows ? C'est une tâche difficile, mais je pense que c'est peut-être la solution, ou essayer d'installer via le réseau local, ce qui, à mon avis, ne sera pas réalisable.

56voto

jabial Points 286

Voici un exemple rapide de commandes Grub qui pourraient juste fonctionner, explications et mises en garde ci-dessous.

grub2

Très probablement pour les installations postérieures à 2010.

set root=(hd1,1)
chainloader +1
boot

grub

Très probablement pour les installations d'avant 2005.

root (hd1,0)
chainloader +1
boot

Pour la période 2005-2010, votre supposition est aussi bonne que la mienne, mais si vous utilisez la commande pour la mauvaise version, vous n'obtenez qu'une erreur de syntaxe inoffensive sur la première commande.

Choisir la bonne racine

Au démarrage, Grub va sonder vos périphériques et leur attribuer des numéros. Tous les périphériques qui sont partitionnés (disques durs et lecteurs flash) se verront également attribuer des numéros. Le format est le suivant (<deviceName>,<partitionIndex>) . Sur grub2 Les index de partition ont été modifiés, de sorte que les deux exemples ci-dessus ont le même effet bien qu'ils semblent utiliser des racines différentes.

Votre premier dispositif ( hd0 ) est le périphérique sur lequel Grub vient d'être chargé. Après cela, vous pouvez généralement supposer que tous les périphériques internes viendront avant vos périphériques externes. Ils seront très probablement sous la forme hd et un numéro.

Après la virgule se trouve l'index de la partition. Les disques durs et les clés USB seront presque toujours partitionnés, vous devez donc choisir la bonne (et très probablement la seule) partition. Les CD-ROM ne sont généralement pas partitionnés.

Plus de documentation : http://www.gnu.org/software/Grub/manuel/html_node/Device-syntax.html

Lorsque vous choisissez votre partition racine, vous pouvez utiliser la touche Tab pour rechercher les noms de périphériques et les index de partitions. Il suffit d'ouvrir les parenthèses et de commencer à appuyer sur la touche Tab pour voir la liste. Alternativement, les versions plus récentes fournissent la fonction ls o find commandement.

14voto

Kimiko Huang Points 1

Pour approfondir le commentaire de new123456 :

Le périphérique USB doit être détecté comme un périphérique de stockage de masse et traité comme un disque dur. Donc, dans Grub, tapez root (hd (n'appuyez pas encore sur la touche Entrée), puis appuyez sur la touche Tab une ou deux fois pour voir quels disques durs Grub peut voir. Le périphérique USB, s'il est reconnu, sera probablement hd1. Ne spécifiez pas de numéro de partition ; ajoutez simplement une parenthèse fermante. La ligne sera donc root (hd1) . Puis, après cela, tapez ce qui suit :

chainloader +1
boot

Si cela ne fonctionne pas, changez root (hd1) a root (hd1,0) et réessayez.

Si pour une raison quelconque Grub ne peut pas voir le lecteur USB, essayez de brancher un CDROM USB et de démarrer à partir de celui-ci.

13voto

Paul Stansifer Points 231

En chainloader +1 La chose pourrait ne pas fonctionner si le BIOS n'est pas bon pour démarrer à partir d'une clé USB (ce qui était la raison pour laquelle je voulais utiliser Grub de toute façon).

Dans ce cas, il y a une certaine magie profonde à https://help.ubuntu.com/community/Grub2/ISOBoot qui fonctionne, au moins pour Ubuntu. La partie cruciale est de jouer avec la commande Grub qui identifie le système d'exploitation. vmlinuz en passant le iso-scan/filename argument. D'une manière ou d'une autre, cela l'aide à comprendre que l'ensemble du système de fichiers de démarrage est coincé dans un fichier ISO. Je ne sais pas comment ça marche, mais ça marche. Ce sont (approximativement) les commandes Grub 2 que j'ai utilisées :

loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot

En /path/to/iso/file doit être le chemin d'accès au fichier ISO sur la clé USB. Le site (fd0,msdos1) identifie la clé USB. La complétion par tabulation est très utile sur le site de l loopback et non utile pour les arguments de vmlinuz .

6voto

9 Guy Points 85

J'allais laisser ce commentaire sur le poste de @Ekevoo ou de @Jonathan, mais je ne suis pas autorisé à le faire, alors voici mon cas d'utilisation + ma solution pour tous ceux qui pourraient également rencontrer ce problème :

L'USB contenait une installation de CD Live GPart, mais mon BIOS ne démarrait pas à partir de celui-ci pour une raison quelconque, bien que cela ait fonctionné précédemment (la fois précédente, j'ai installé le CD via Windows, cette fois-ci, je l'ai fait via Ubuntu). Dans Grub, j'ai exécuté les commandes suivantes et cela a fonctionné

set root=(hd0)

Cela peut être différent pour différents appareils, je ne suis pas sûr que ce soit nécessaire.

Puis j'ai couru

chainloader (hd0)/efi/boot/grubx64.efi
boot

Le chemin du chainloader sera probablement différent pour les autres OS, mais un fichier similaire devrait s'y trouver. Regardez autour de vous et cherchez-le, ou utilisez la fonction ls si vous le pouvez.

Et c'était suffisant pour que ça marche.

2voto

Dadam Points 1164

Cela ne va pas être très utile dans le cas de votre ami (à moins qu'il y ait un moyen que je ne connais pas pour obtenir plop sur le périphérique en premier lieu -- peut-être un cd-rom usb, ou un lecteur de disquettes usb ?), mais c'est une petite application formidable, qui m'a aidé à configurer un certain nombre de vieilles machines pour démarrer à partir d'usbs lorsque leur bios ne le permettait pas.

Gestionnaire de démarrage Plop

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X