Démarrer à partir d'USB avec GRUB

48

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. La seule chose que j'ai est une console GRUB mais il est désireux d'installer XP (sur USB) et de l'utiliser uniquement pour les films.

Est-il possible d'utiliser la console GRUB pour accéder à la clé USB et démarrer 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.

Simon Sheehan
la source
1
Je voudrais essayer d'obtenir un lecteur de CD / DVD USB et travailler à obtenir l'ordinateur pour démarrer à cela.
Jmreicha
1
Cet article montre les commandes manuelles requises - il vous suffit de connaître le numéro de lecteur, ce qui peut être obtenu en complétant l'onglet de GRUB.
new123456

Réponses:

39

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 une 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 s'ils cherchent à utiliser des racines différentes.

Votre premier appareil ( hd0) correspond à l’appareil à partir duquel 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 hdet 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.

Ekevoo
la source
5
Il est également possible d'utiliser set root=(hd1)(etc.) pour démarrer à partir de tout le périphérique, s'il n'est pas partitionné, par exemple un lecteur USB amorçable.
white_gecko
6
Juste pour ajouter, vous pouvez lsvoir la liste des appareils connectés.
AntouanK
2
Je sais que pile d'échange décourage les commentaires merci, mais cette réponse en mérite vraiment une. Vous m'avez économisé énormément de temps.
John Militer
ne trouve pas de commanderoot
fan numéro 1 de Bjorks
13

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 un 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, le changement root (hd1)de root (hd1,0)l'essayer à nouveau.

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

Jonathan
la source
7

Le chainloader +1problème pourrait 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, https://help.ubuntu.com/community/Grub2/ISOBoot fonctionne, tout au moins pour Ubuntu. Le bit crucial est le nettoyage avec la commande grub qui identifie le vmlinuzfichier et transmet l’ iso-scan/filenameargument. 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/filedevrait être le chemin du fichier ISO sur la clé USB. Le (fd0,msdos1)identifie la clé USB. La complétion par tabulation est extrêmement utile sur la loopbackligne et non utile pour les arguments de vmlinuz.

Paul Stansifer
la source
Je pense que je voulais répondre à cette question en réponse à une question différente. J'aurais aimé savoir lequel!
Paul Stansifer
Dans le cas de efi/ uefimodes d'amorçage, ces grub2commandes génèrent une erreur: error: can't find command 'linux'. Modifiez les commandes en linuxefiet initrdefi.
Samveen
J'aime le concept ici. Démarrez une image ISO qui est contenue sur un lecteur flash. Cela transformerait une clé USB en un buffet de CD de démarrage. Dans l'exemple plus fonctionnel où vous pouvez démarrer à partir d'un CD, et non de Flash, vous pouvez graver un CD qui a été choisi parmi eux s'il y avait un problème de démarrage à partir d'une clé USB, n'est-ce pas?
BenPen
2

Cela ne va pas être très utile dans le cas de votre ami (à moins que je ne sois pas capable de plop sur l'appareil dès le départ - 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.

Gestionnaire de démarrage Plop

pseudo poursuivre
la source
0

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.

hanetzer
la source
Vous devrez probablement utiliser les commandes "insmod usbms" puis "insmod ehci" ou "insmod uhci" avant les commandes mentionnées.
Claude Frantz