web-dev-qa-db-fra.com

Boot depuis USB en utilisant GRUB

Le portable de mon ami était dans un accident de voiture (il va bien!). Cependant, l'ordinateur portable est très vieux, c'est un lecteur Acer Aspire 1520. Le lecteur de CD-ROM est cassé et il n'y a pas de lecteur de disquette.

Je lui ai fait un démarrage USB avant de jeter un coup d'oeil et de constater que son BIOS ne peut pas démarrer à partir de l'USB. Le seulement chose que j'ai est une console GRUB, mais il tient à installer simplement XP (sur USB) et à l'utiliser uniquement pour les films.

Est-il possible d'utiliser la console GRUB pour accéder à la clé USB et lancer l'installation de Windows? C'est un défi de taille, mais je pense que c'est peut-être la solution, ou d'essayer d'installer via un réseau local, ce qui, à mon avis, ne sera pas réalisable.

46
user685590

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

grub2

Très probablement pour les installations post-2010.

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

grub

Très probablement pour les installations antérieures à 2005.

root (hd1,0)
chainloader +1
boot

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

Choisir la bonne racine

Au démarrage, grub recherchera vos appareils et leur assignera des numéros. Des numéros ont également été attribués à tous les périphériques partitionnés (disques durs et lecteurs flash). Le format est (<deviceName>,<partitionIndex>). Dans grub2, les index de partition ont été modifiés. Par conséquent, les deux exemples ci-dessus ont le même effet, même si vous envisagez d'utiliser des racines différentes.

Votre premier appareil (hd0) est le fichier d’appareil que vous venez de charger. Après cela, vous pouvez généralement supposer que tous les périphériques internes seront placés avant vos périphériques externes. Ils seront probablement sous la forme de hd et un nombre.

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

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

Lorsque vous choisissez votre partition racine, vous pouvez utiliser la touche de tabulation pour rechercher les noms de périphériques et les index de partition. Ouvrez simplement les parenthèses et commencez à appuyer sur Tab pour voir la liste.

37
Ekevoo

Pour élaborer sur le commentaire de new123456:

Le périphérique USB doit être détecté en tant que périphérique de stockage de masse et traité comme un disque dur. Donc, dans grub, tapez root (hd (n’appuyez pas encore sur Entrée), puis appuyez une ou deux fois sur la touche tab pour voir ce que les disques durs peuvent voir. Le périphérique USB, s'il est reconnu, sera probablement hd1. Ne spécifiez pas de numéro de partition. il suffit d'ajouter une parenthèse fermante. Donc, la ligne sera root (hd1). Ensuite, tapez ce qui suit:

chainloader +1
boot

Si cela ne fonctionne pas, remplacez root (hd1) par root (hd1,0) et essayez à nouveau.

Si, pour une raison quelconque, Grub ne voit pas le lecteur USB, essayez de brancher un CD-ROM USB et d’amorcer ce dernier.

13
Jonathan

La chose chainloader +1 risque de ne pas fonctionner si le BIOS ne démarre pas correctement à partir d’une clé USB (c’est pourquoi je voulais de toute façon utiliser Grub).

Dans ce cas, il existe une magie profonde dans https://help.ubuntu.com/community/Grub2/ISOBoot qui fonctionne, du moins pour Ubuntu. Le bit crucial est le nettoyage avec la commande grub qui identifie le fichier vmlinuz en passant l’argument iso-scan/filename. D'une certaine manière, cela l'aide à comprendre que le système de fichiers de démarrage entier est bloqué dans un fichier ISO. Je ne sais pas comment ça fonctionne, mais c'est le cas. 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

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

6
Paul Stansifer

Cela ne va pas être très utile dans le cas de votre ami (à moins que je ne sois pas au courant en premier lieu de plop sur l'appareil - peut-être un cd-rom USB ou un lecteur de disquette USB?), Mais C’est une petite application formidable, qui m’a aidé à installer un certain nombre d’anciennes machines pour qu’elles démarrent hors de toute mémoire USB lorsque leur bios ne le permettait pas.

Plop Gestionnaire de démarrage

2
pseudo sue

Vous ne pouvez pas démarrer usb dans grub si le bios ne le permet pas lui-même. Une fois, j’ai dû installer une sorte de partition de récupération sur un disque dur contenant le contenu du disque d’installation de win7, installer grub, puis l’utiliser pour amorcer la partition d’installation de win7 afin de l’installer au reste du disque dur.

0
hanetzer