web-dev-qa-db-fra.com

Installer Ubuntu 14.04 sur un disque dur externe avec Windows 8.1 UEFI

J'ai récemment acheté un nouvel ordinateur portable, Lenovo Essential B50-70 MCC39MB Azerty, et j'avais un disque dur externe avec ubuntu 14.04 dessus. Je pensais que ce serait bien si je pouvais utiliser ce disque dur quand je le voulais. Branchez-le et choisissez ubuntu dans GRUB. J'ai donc suivi ces instructions .

Mais maintenant, j'ai ce problème: lorsque le disque dur externe n'est pas connecté, j'obtiens une erreur de GRUB. Lorsque je tape "exit", je peux démarrer sous Windows mais ce n'est pas vraiment pratique. Je veux juste que le GRUB s'affiche lorsque le disque dur est connecté, et démarre dans Windows sinon.

J'ai déjà cherché un peu et je n'ai pas vraiment trouvé de réponse à ce problème spécifique. Toute aide est grandement appréciée.

1
SBylemans

Malheureusement, les instructions étaient pour une copie auto-installée de Windows 8, donc leur configuration n'était PAS une machine UEFI. Les choses sont un peu différentes pour Windows 8 préinstallé sur les machines UEFI.

Les périphériques de démarrage externes (amovibles) doivent avoir leur propre partition 300M, FAT, EFI pour contenir les chargeurs de démarrage. Lorsque vous sélectionnez l'emplacement du chargeur de démarrage (sur sdb pour l'externe), utilisez cette partition (qui peut fonctionner) au lieu du périphérique (qui ne fonctionne jamais). Lorsque cela ne fonctionne pas, le disque dur interne est utilisé, il suffit donc de copier les fichiers de l'EFI du disque interne vers l'EFI du disque externe. Maintenant, le programme d'installation ne peut toujours pas configurer les chargeurs de démarrage dans le bon répertoire pour un périphérique amovible - ils doivent aller dans/EFI/Boot et être nommés /EFI/Boot/bootx64.efi. Au lieu de cela, grubx64.efi et shimx64.efi (les chargeurs de démarrage) sont généralement placés dans/EFI/ubuntu (comme sur le disque dur interne). J'aime utiliser shimx64.efi comme fichier bootx64.efi pour que le démarrage fonctionne, que le démarrage sécurisé soit activé ou désactivé. Donc, copiez /EFI/ubuntu/shimx64.efi dans /EFI/Boot/bootx64.efi (notez le changement de nom), et copiez également /EFI/ubuntu/grubx64.efi dans /EFI/Boot/grubx64.efi. Le fichier grub.cfg peut être laissé dans/EFI/ubuntu.

L'entrée de démarrage nvram pour USB (disques ...) devrait maintenant démarrer le disque externe - aucune nouvelle entrée dans nvram ne devrait être nécessaire. Si vous obtenez grub sans le disque dur externe, il semble qu'il ait été installé sur l'EFI du disque dur interne (pas de problème) et a été placé avant les chargeurs de démarrage Windows dans l'ordre de démarrage (problème). efibootmgr d'Ubuntu vous permettra de modifier l'ordre de démarrage ou de supprimer l'entrée Ubuntu indésirable (rappelez-vous, vous démarrerez avec l'entrée USB).

2
ubfan1

L'approche d'Ubfan1 (mettre une EFI System Partition, ou ESP , sur le disque externe et mettre une copie de GRUB là) devrait fonctionner. Il y a plusieurs obstacles potentiels, bien que:

  • Le disque externe existant peut très bien utiliser le système de partitionnement Master Boot Record (MBR) , plutôt que GUID Partition Table (GPT) que EFI privilégie. Bien que EFI fonctionne généralement avec MBR, ce n'est pas certain à 100%. À tout le moins, c'est une option moins bien testée que GPT. La conversion de MBR en GPT (via gdisk) peut résoudre ce problème, s'il en devient un.
  • Un ESP doit être créé sur le disque externe. Cela nécessitera presque certainement le redimensionnement d'au moins une partition et la création d'une nouvelle. Ce n'est pas si grave pour les personnes expérimentées, mais c'est au moins un problème mineur.
  • La commutation du démarrage entre les systèmes d'exploitation nécessitera probablement l'utilisation du gestionnaire de démarrage intégré de l'ordinateur. Celles-ci peuvent être un peu délicates à activer - elles nécessitent souvent une pression sur la touche au moment du démarrage du système.
  • Vous devrez obtenir GRUB installé sur le disque dur externe. AFAIK, les scripts de configuration GRUB ne sont pas conçus pour cela, vous devrez donc besoin d'improviser. Ubfan1 a fourni des informations utiles sur les points finaux, mais passer du début à la fin prendra beaucoup plus que cela. GRUB n'est pas vraiment le meilleur choix pour ce type de personnalisation Dans l'ensemble, je pense que c'est le plus gros problème potentiel avec la suggestion de ubfan1, car cela nécessite d'aller "hors script" de la configuration habituelle GRUB, et GRUB est notoirement difficile à configurer sauf via ses scripts de configuration.

Une alternative consiste à placer un gestionnaire de démarrage Linux et/ou un chargeur de démarrage sur le ESP existant sur le disque dur interne. Ce placement signifie que votre chargeur de démarrage préféré (GRUB ou autre) peut exécuter chaque au démarrage de l'ordinateur, vous n'aurez donc pas besoin de traiter avec le gestionnaire de démarrage interne de la machine aussi souvent. Vous n'aurez pas non plus besoin de repartitionner le disque externe ou de le convertir de MBR en GPT. La réparation de démarrage peut aider à automatiser la configuration.

D'un autre côté, si le fichier de configuration de GRUB se retrouve sur le disque externe, il ne fonctionnera pas du tout si le disque externe est supprimé. (Il est possible de mettre les GRUB grub.cfg fichier et autres fichiers de support nécessaires sur le ESP plutôt que dans le /boot, mais je ne me souviens pas des détails précis de la configuration.) Au lieu d'utiliser GRUB dans ce rôle, le mien gestionnaire de démarrage rEFInd peut être un meilleur choix. Il peut être testé à partir d'un lecteur flash USB ou d'un CD-R - mais les images prêtes à l'emploi ne prennent pas en charge le démarrage sécurisé, vous devez donc le désactiver pour le test. rEFInd devrait activer vous pour démarrer Windows ou (lorsque le disque est branché) Ubuntu. À moins que la configuration GRUB ne soit plus facile que ce à quoi je m'attendais, rEFInd devrait être plus facile à configurer - si rEFInd sur USB lecteur flash ou CD-R peut démarrer votre Ubuntu existant, il suffit d'installer le paquet Debian ou PPA dans Ubuntu et il devrait se configurer automatiquement sur le ESP sur le disque interne. (Si le disque externe possède également un ESP, il est possible que rEFInd s'y installe à la place.)

1
Rod Smith