J'essaie d'installer grub sur une clé USB afin de le rendre amorçable. Je veux le rendre amorçable pour faire un multi-démarrage USB, pour transporter plus d'une distribution dans un seul USB (c'est-à-dire. Rescatux et Tails). J'ai fait ça:
Sudo mkdir -p /media/MULTIBOOT/boot
puis:
Sudo grub-install --target=x86_64-efi --boot-directory=/media/MULTIBOOT/boot /dev/sdc1
Et je reçois cette erreur:
Installation pour la plate-forme x86_64-efi. grub-install: erreur: impossible de trouver le répertoire EFI.
J'ai Ubuntu 14.04 LTS, et c'est 64 bits.
C'est la toute première fois que j'essaye cela et je suis un peu perdu ici. Devrais-je utiliser /dev/sdc1
ou /dev/sdc
?
J'ai essayé (avec le même résultat) cette autre alternative:
Sudo grub-install --target=x86_64-efi --boot-directory=/media/victoria/MULTIBOOT/boot /dev/sdc
Où est le problème?
Merci de votre aide!
Je ne peux pas fournir de réponse complète à votre question car certains aspects de la configuration et de l'installation de GRUB dépassent mon niveau de compétence et en raison d'une ambiguïté sur ce que vous voulez faire (comme spécifié par sudodus dans son commentaire à votre question ). Cela dit, je peux faire plusieurs observations et suggestions qui pourraient être utiles:
EFI/ubuntu/grubx64.efi
sur la partition système EFI (ESP), avec une entrée NVRAM pointant vers à cet endroit.EFI/BOOT/bootx64.efi
sur l'ESP du lecteur USB. Ce nom de fichier est généralement appelé le nom de fichier de remplacement , et les EFI sont supposés rechercher ce nom de fichier en dernier recours si aucune entrée de la NVRAM ne pointe vers un chargeur de démarrage valide. , ou si l’utilisateur sélectionne le support de démarrage dans un menu du gestionnaire de démarrage intégré. Ainsi, pour installer à cet emplacement, vous devez soit ajuster la commande grub-install
(et je ne suis même pas sûr à 100% qu'elle le prend en charge), soit copier les fichiers manuellement.shimx64.efi
) et crée une entrée NVRAM pointant vers plutôt que de grubx64.efi
. De même, pour démarrer un support externe, le shimx64.efi
d'origine doit être nommé EFI/BOOT/bootx64.efi
. Dans les deux cas, Shim lance alors grubx64.efi
dans le même répertoire que Shim.grub.cfg
dans le répertoire /boot/grub
, qui est pas susceptible d'être l'ESP. Lorsque vous démarrez alors que Secure Boot est activé, grubx64.efi
recherche grub.cfg
dans le même répertoire que grubx64.efi
. Ce grub.cfg
, cependant, cherche et charge /boot/grub/grub.cfg
, donc l'effet est le même, mais le chemin est plus complexe. Dans les deux cas, il existe une dépendance à la fois sur ESP et sur la partition contenant /boot/grub
. Certaines distributions organisent les choses différemment. Fedora, par exemple, place le dernier grub.cfg
et tous les fichiers associés sur l'ESP./boot/grub/grub.cfg
est construit (ou reconstruit) par des scripts de configuration qui s'exécutent chaque fois que vous installez un nouveau noyau ou un binaire GRUB. Cela fonctionne bien pour un système à démarrage unique, mais si vous démarrez en mode multi-démarrage avec une autre distribution Linux, les choses se compliquent rapidement. En particulier, si GRUB de la distribution A contrôle le processus de démarrage et que vous mettez à jour le noyau pour la distribution B, GRUB ne montrera pas le nouveau noyau de la distribution B tant que vous n'avez pas exécuté update-grub
(ou quelque chose de similaire). ) dans la distribution A.Entre ces facteurs, pour faire ce que vous voulez avec GRUB, il est probable que vous deviez installer le nom de fichier de secours plutôt que le nom de fichier standard; vous aurez peut-être besoin de ne pas forcer Shim dans l'image; et vous devrez peut-être modifier votre grub.cfg
pour votre configuration à deux distributions. C'est beaucoup à faire. Si je devais faire tout cela avec GRUB, mon approche serait d'installer les deux distributions sur le lecteur USB comme s'il s'agissait d'un disque dur interne, puis de déplacer/renommer GRUB (ou Shim) en tant que nom de fichier de secours. Cela aura l’avantage que vous n’auriez pas besoin de singer avec le fichier grub.cfg
. Un inconvénient majeur est que si vous voulez utiliser quelque chose qui installe de manière inhabituelle (comme via UNetbootin ou Rufus plutôt que le programme d'installation Ubiquu d'Ubuntu), cela pourrait changer l'équation d'une manière qui nécessitera une approche complètement différente. On dirait que vous essayez d'utiliser Ubuntu sur votre disque dur pour installer GRUB sur le lecteur USB à utiliser pour démarrer à partir du lecteur USB. Cette approche peut fonctionner si vous êtes bien plus expert que moi dans GRUB, mais il existe suffisamment de variables obscures en jeu pour que votre approche soit probablement un domaine minier de complications.
Une autre méthode consiste à utiliser mon gestionnaire de démarrage rEFInd. Vous devez l'installer sous le nom de fichier de secours, mais rEFInd recherche les noyaux au moment du démarrage. Il est donc moins susceptible d'être perturbé par l'installation d'un nouveau noyau. dans une distribution lorsque vous avez utilisé l’autre distribution pour installer GRUB ou rEFInd. OTOH, si vous souhaitez utiliser le démarrage sécurisé, vous devez parcourir des étapes supplémentaires (documentées sur page de démarrage sécurisé de rEFInd ) pour le faire fonctionner, probablement sur tous les ordinateurs utilisés pour démarrer la clé USB. conduire. Vous devrez peut-être également créer /boot/refind_linux.conf
fichiers pour les deux vos distributions afin de gérer les options du noyau propres à la distribution. (Voir le documentation rEFInd Linux, et en particulier la moitié inférieure de la page, pour plus d'informations.)