web-dev-qa-db-fra.com

Installez grub2 sur usb-drive afin de démarrer sur Ubuntu 13.04 x64 installé sur disque dur en mode UEFI

J'ai essayé de trouver un moyen d'installer grub2 sur un lecteur USB, de manière à pouvoir démarrer un PC en mode UEFI sous Ubuntu, sans modifier de quelque manière que ce soit les paramètres du microprogramme UEFI ni remplacer le logiciel Windows 7 préinstallé. chargeur de démarrage x64 avec grub. Voici la structure actuelle de la partition gpt du lecteur SSD interne, telle que donnée par gparted, lorsqu'elle est exécutée à partir d'une session de DVD live Ubuntu 13.04 x64:

/dev/sda1 100mb fat32 /boot (efi system partition)

/dev/sda2 128mb --- /msfres (Windows 7 reserved partition)

/dev/sda3 100gb ntfs (Windows 7 system partition)

/dev/sda4 10gb ext4 (Ubuntu root '/' partition)

Jusqu'ici, j'ai essayé de démarrer mon DVD live en mode UEFI, en créant une partition racine pour Ubuntu (voir ci-dessus), puis en demandant à l'installateur de mettre grub sur un lecteur de stylo USB de 512 Mo (/ dev/sdi) que j'avais. précédemment formaté en gparted comme suit: 1) créer une structure de partition gpt; 2) créer une seule partition primaire; 3) formatez la partition en fat32; 4) définissez l'indicateur de partition sur '/ boot'.

J'ai demandé au programme d'installation Ubuntu d'installer grub dans/dev/sdi1 (la partition que j'ai créée ci-dessus - car le 1 Mo précédent était de l'espace inutilisé). Cependant, lorsque j'ai redémarré le PC, une fois le programme d'installation Ubuntu terminé, avec le stylo USB branché, le menu de démarrage du microprogramme a détecté le stylet en tant que périphérique UEFI, puis a démarré Windows 7 - pas de menu Ubuntu ou Grub.

J'ai essayé de rechercher des solutions sur Google. Bien que de nombreux sites fournissent des informations détaillées sur la double amorçage de Windows et de Linux sur des systèmes UEFI, ils supposent tous que vous pourrez modifier les paramètres du microprogramme UEFI ou remplacer Windows 7. bootloader (aucune option ne m’appartient car je ne possède pas le PC).

Par conséquent, quelqu’un pourrait-il me donner une méthode détaillée, étape par étape, pour installer grub2 sur un stylo usb afin que je puisse démarrer sur la partition Ubuntu en mode UEFI, sans modifier les paramètres du microprogramme système ni modifier/remplacer le système Windows existant? 7 chargeur de démarrage?

La carte système est un ASUS Z87-K (bios rev 0412), le SSD est un OCZ-Vertex3 de 120 Go (micrologiciel rev 2.15).

ne mise à jour: il s'avère que le démarrage sécurisé de mon micrologiciel UEFI est activé (car Windows 7 (et les autres systèmes d'exploitation en "mode direct") a bien démarré, j'ai supposé qu'il était éteint). Depuis que je ne possède pas ce PC, je ne peux pas désactiver le démarrage sécurisé, je vais donc devoir abandonner la tentative d'installation d'Ubuntu pour le moment. Bien que, selon la documentation Canonical, Ubuntu 12.04.2 et versions ultérieures devraient pouvoir démarrer sur un PC sur lequel le démarrage sécurisé est activé? Dans l'impossibilité de désactiver le démarrage sécurisé pour affiner le problème ce qui m'empêche de démarrer avec succès Ubuntu, je laisserai cette question ouverte, mais toutes les installations futures que je tenterai seront effectuées sur mon propre matériel, ce qui me permet de faire des expériences plus approfondies.

Merci encore à tous ceux qui ont répondu!

3
Paul H

Tu y es presque. Les supports amovibles tels que USB démarreront à partir d’une partition EFI amorçable (et c’est une partition EFI amorçable PAR PÉRIPHÉRIQUE, non totale), à ​​l’aide de bootloacer /EFI/Boot/bootx64.efi (pour les architectures x64). Copiez simplement votre /EFI/ubuntu/grubx64.efi dans /EFI/Boot/bootx64.efi et installez une copie du fichier grub.cfg dans /EFI/ubuntu/grub.cfg. Bien entendu, le fichier grub.cfg doit être configuré pour démarrer le disque dur comme vous le souhaitez. Copier simplement le fichier grub.cfg en dehors de l’installation du disque dur fonctionnera, mais vous devrez ensuite effectuer une nouvelle copie chaque fois que vous mettez à jour les noyaux. Vous pourrez ainsi créer /EFI/ubuntu/grub.cfg quelques lignes qui importent le fichier maintenu/boot /. grub/grub.cfg (comme 13.04, je pense). * Pour un démarrage sécurisé, utilisez shim.efi pour /EFI/Boot/bootx64.efi et disposez également d'une copie du fichier SIGNED grubx64.efi dans/EFI/Boot. grub.cfg est au même endroit,/EFI/Ubuntu. Votre média en direct utilise ce mécanisme pour démarrer. Ainsi, si cela fonctionne, cette méthode fonctionnera.

1
ubfan1

Vous ne pouvez pas définir deux partitions/boot avec boot-flag! Un seul indicateur de démarrage est nécessaire pour grub2 dans la partition/boot - donc désactivez simplement l'indicateur de démarrage dans votre partition/dev/sda1

Après cela, activer l'indicateur de démarrage dans la partition/boot de/dev/sdi - sure? c'est correct ? Vous avez une partition/boot dans/dev/sdi? Vous devez donc activer boot-flag (simplement avec gparted).

Comme vous le dites ... grub2 est déjà installé dans/dev/sdi? Si ce n'est pas le cas maintenant (nécessaire car vous avez modifié les indicateurs de démarrage):

Sudo grub-install/dev/sdi

Sudo update-grub2

Avant cela, toute votre machine démarrait dans Windows 7 de/dev/sda3 via/dev/sda1 - mais maintenant l’indicateur d’amorçage est désactivé et défini sur la partition/boot de/dev/sdi - et votre machine devrait maintenant démarrer à l’installation de votre ordinateur. clé USB.

Seulement si votre ordinateur ne peut pas démarrer en mode UEFI en mode USB, vous devez alors désactiver le mode UEFI dans les paramètres du BIOS et l'activer à la place.

1
dschinn1001

Il n’existe pas de "/ boot flag". GParted et parted ont un "indicateur de démarrage" (pas de barre oblique), mais cette terminologie prête à confusion au mieux. Le "drapeau de démarrage" GParted/parted est en réalité un moyen de définir le code de type sur une partition pour l'identifier comme une partition système EFI (ESP) à partir de laquelle le microprogramme lit les chargeurs de démarrage . Contrairement à ce que semble dire dschinn1001, vous devriez ne pas définir le code de type de votre Linux /boot partitionner vers le code ESP. Il est légal d'avoir plusieurs ESP sur un seul disque, bien que Windows soit allergique à ce type de configuration, je vous le déconseille. Le ESP doit avoir un système de fichiers FAT (techniquement, FAT32, bien que FAT16 fonctionne souvent en pratique). Par conséquent, à moins que votre partition Linux /boot utilise FAT, vous devriez not définit le "drapeau de démarrage" GParted/parted sur la partition /boot.

L'installation de GRUB sur une clé USB est techniquement possible, mais elle est un peu contraignante. Le problème est la configuration codée en dur de GRUB, qui vous donne deux options:

  • Vous pouvez construire GRUB de manière à rechercher grub.cfg dans le même répertoire que le grubx64.efi binaire (c'est-à-dire sur le lecteur flash USB). Cela fonctionnera normalement sur un seul ordinateur, car grub.cfg contient toutes sortes de détails spécifiques au système.
  • Vous pouvez construire GRUB de telle sorte qu'il recherche grub.cfg sur votre disque dur. Cela peut fonctionner sur plusieurs ordinateurs, mais il faudra que chaque ordinateur porte un fichier grub.cfg opérationnel et au même emplacement sur tous les systèmes. Ainsi, cela ne fonctionnera pas sur tous les ordinateurs, mais uniquement sur ceux configurés de manière similaire.

Ubuntu construit son binaire grubx64.efi pour fonctionner de la deuxième manière. Notez que la procédure de ubfan1 suppose la première méthode de construction de GRUB. Elle ne fonctionnera donc qu'avec un binaire GRUB construit sur mesure (ou un binaire GRUB extrait de Fedora ou d'une autre distribution fonctionnant correctement). de cette façon). La procédure de OTOH, ubfan1 pourrait fonctionner de la deuxième manière si les systèmes sont correctement configurés - mais copier grub.cfg sur le lecteur flash USB n'aura alors aucun sens.

Si vous recherchez un disque d'amorçage d'urgence à usage général, GRUB n'est pas vraiment la meilleure solution - du moins, à moins que Super GRUB 2 Disk sort avec le support EFI ou quelqu'un d'autre construit quelque chose de similaire. À l'heure actuelle, la meilleure option pour une disquette de démarrage EFI d'urgence est mon gestionnaire de démarrage rEFInd. . Ce programme crée une liste d'autres programmes de démarrage EFI sur un ordinateur, ce qui vous permet de démarrer n'importe lequel d'entre eux. Le résultat est que vous pourrez démarrer à partir de n’importe quel chargeur de démarrage (GRUB, ELILO, le chargeur de démarrage Windows, etc.) installé sur le disque dur, même si vous avez perdu vos entrées EFI NVRAM. Le chargeur de démarrage doit cependant être correctement configuré.

Comme les noyaux Linux depuis la version 3.3.0 incluent des chargeurs de démarrage EFI intégrés, rEFInd peut également les lancer directement. Le problème, c’est que rEFInd doit déterminer quelles options transmettre au noyau - le plus important, quel est votre système de fichiers racine Linux. rEFInd peut savoir si le noyau est dans le système de fichiers racine (c'est-à-dire s'il n'y a pas de partition séparée /boot) ou si un fichier de configuration spécifique à rEFInd (refind_linux.conf) existe dans le même répertoire que le fichier. noyau. Ubuntu n’utilise normalement pas de partition /boot distincte. Par conséquent, la récupération sur une clé USB ou un CD-R peut généralement lancer Ubuntu directement. Elle devrait donc être plus souple et plus facile à configurer que GRUB pour une utilisation d'urgence. (La page rEFInd inclut liens de téléchargement pour les images de CD-R et de clés USB.) Si vous avez une configuration plus complexe et que vous vous souvenez du nom de votre système de fichiers racine (ou de tout autre noyau vous devez les modifier ou les ajouter en appuyant deux fois sur F2 ou sur Insert, ce qui ouvre un éditeur de lignes pour vous permettre de modifier les options du noyau.

0
Rod Smith