J'ai deux suggestions ...
Option n ° 1: ESP séparés
Sous EFI, le chargeur de démarrage réside sur "la" partition système EFI (ESP). J'ai mis le mot «le» entre guillemets parce qu'il n'y a aucune règle qui dit que vous êtes limité à un ESP. Si vous créez deux ESP sur votre disque dur, vous pouvez utiliser l'un d'entre eux pour votre première installation et le deuxième ESP pour la deuxième installation. Cela devrait fonctionner de manière assez transparente, bien que vous deviez créer vos partitions manuellement (en utilisant l'option "Something Else" lors de l'installation), au moins pour votre deuxième installation d'Ubuntu.
Un problème avec cette approche est que, bien que la spécification EFI indique explicitement que vous pouvez créer autant d'ESP que vous le souhaitez, certains logiciels peuvent devenir confus. Un exemple frappant de cela est le programme d'installation de Windows, au moins via Windows 7 (je ne connais pas Windows 8 ou version ultérieure); lorsque le programme d'installation de Windows 7 voit un disque avec deux ESP, il s'écaille et fait des choses étranges. IIRC, il ne termine pas correctement sa propre installation. Il est concevable que les outils de réparation de Windows souffrent du même problème. Si vous ne démarrez pas Windows sur ce système, cela ne devrait pas être un gros problème. Si vous êtesen démarrant avec Windows, vous devez simplement être conscient du problème, car vous pouvez facilement le résoudre en modifiant temporairement le code de type des ESP non Windows si vous rencontrez des problèmes. Notez que Windows démarrera très bien sur un disque avec plusieurs ESP; c'est juste l'installateur qui s'étouffe sur ces disques.
Un autre problème est de savoir comment basculer entre vos deux distributions. Vous devrez peut-être personnaliser l'une ou les deux configurations GRUB de vos installations à l'aide d'un outil tel que GRUB Customizer. Une autre option (mais non incompatible) serait d'utiliser le propre gestionnaire de démarrage de votre micrologiciel pour basculer entre vos deux installations GRUB et d'utiliser chacune pour démarrer uniquement sa propre version d'Ubuntu.
Option n ° 2: abandonner GRUB (ou au moins les outils GRUB d'Ubuntu)
Le problème avec GRUB pour votre situation est que vous avez deux installations et les outils de maintenance GRUB sont susceptibles de devenir confus par cette configuration. Cette observation conduit à la solution évidente que vous ne devez tout simplement pas utiliser ces outils. Il existe plusieurs autres chargeurs de démarrage EFI pour Linux, dont la plupart sont plus faciles à entretenir manuellement que GRUB. Vous pouvez configurer ELILO, SYSLINUX, GRUB Legacy patché par Fedora, gummiboot ou rEFInd et gérer vos deux installations manuellement. En fait, parce que rEFInd détecte les noyaux chaque fois qu'il démarre, rEFInd devrait être proche de l'absence de maintenance, une fois qu'il est configuré. Alternativement, mais dans la même veine, vous pouvez modifier manuellement votre grub.cfg
fichier pour faire ce que vous voulez, plutôt que de vous fier aux scripts de configuration de GRUB.
Mis à part rEFInd, tous ces outils vous obligeront à faire des changements de configuration chaque fois que vous mettez à jour un noyau, ce qui sera un frein. Il y a aussi la question de savoir quand et comment installer le programme de démarrage supplémentaire. Je le retarderais probablement après votre deuxième installation d'Ubuntu, car chaque installation enregistrera sa propre copie de GRUB en tant que chargeur de démarrage par défaut, et vous souhaitez remplacer cette valeur par défaut.
Notez également qu'aucun de ces outils ne peut lire un noyau à partir d'un système de fichiers chiffré ou d'un LVM, vous aurez donc besoin d'avoir une /boot
partition non chiffrée distincte pour chacune de vos installations Ubuntu. C'est de cette façon que la plupart des instructions que j'ai vues disent de configurer une installation Ubuntu cryptée de toute façon, donc ce n'est probablement pas un gros problème à moins que vous ne vouliez jouer sur le "bord saillant" du cryptage du disque.
Certains chargeurs de démarrage EFI ont des exigences de partitionnement ou de système de fichiers spécifiques supplémentaires. Plus particulièrement, ELILO, SYSLINUX et gummiboot nécessitent tous que le noyau réside sur une partition FAT, et l'ESP fonctionne mieux pour cela. Vous pouvez le faire en montant l'ESP sur /boot
, mais c'est une solution douteuse dans Ubuntu car certaines mises à jour de packages nécessitent des liens symboliques. Vous auriez également du mal à le faire avec deux installations Ubuntu distinctes car elles essaieraient toutes les deux de revendiquer les mêmes fichiers. (Dans ce cas, "l'ESP" signifie vraiment "la partition à partir de laquelle le chargeur de démarrage a fonctionné", donc vous ne pouvez avoir qu'un seul ESP dans ce cas.) GRUB Legacy et rEFInd sont plus flexibles à ce sujet.
Ma recommandation
Personnellement, j'utiliserais rEFInd pour cela - mais comme je maintiens rEFInd, je ne suis pas exactement impartial. En fait, j'ai un ordinateur qui démarre simultanément entre trois installations Ubuntu et les commutateurs rEFInd entre eux très bien. Ce système particulier n'utilise pas de cryptage, mais je doute que cela cause de nouveaux problèmes du point de vue de rEFInd.
Cela dit, les ESP séparés devraient également fonctionner correctement, avec la mise en garde que vous pourriez avoir besoin d'utiliser GRUB Customizer pour modifier les paramètres d'au moins une de ces copies GRUB.
Voici les étapes que j'ai utilisées pour effectuer un double démarrage avec deux systèmes Ubuntu cryptés LUKS sur un seul disque dur avec UEFI en utilisant l'option # 2 recommandée par Rod Smith précédemment. C'était spécifiquement avec Ubuntu 18.04.1-desktop. Le cryptage du répertoire personnel n'est plus proposé en option lors de l'installation car il existe des problèmes de fiabilité et de maintenance d'eCryptfs. Il est recommandé d'utiliser LUKS à la place, donc je pense que c'est la meilleure option pour avoir plusieurs utilisateurs avec des partitions personnelles chiffrées.
la source
J'utilise l'approche suivante avec un seul ESP:
J'ai créé des chargeurs de démarrage supplémentaires pour chaque système d'exploitation avec
en utilisant un différent
ID
pour chaque système d'exploitation.Exemple:
J'ai Ubuntu 16.04 et Ubuntu 18.04 installés. Je démarre dans Ubuntu 16.04 et je lance
Ensuite, depuis booté dans Ubuntu 18.04, je lance
Dans les UEFI paramètres que je vois les nouvelles entrées de démarrage avec les noms
Ubuntu1604
etUbuntu1804
et modifier l'ordre de démarrage à un ensemble de nouvelles entrées à la première place.Je peux également voir les dossiers portant ce nom dans l'ESP.
Lorsqu'une mise à niveau du système est livrée avec une nouvelle version de grub, elle réinstallera une nouvelle instance de grub dans le
ubuntu
dossier-sur l'ESP, cela n'affectera pas les chargeurs de démarrage que j'ai créés moi-même, mais je dois réorganiser à nouveau l'ordre de démarrage car l'ubuntu
entrée sera poussée à la première place dans l'ordre de démarrage.C'est ce que
efibootmgr -v
montre ma configuration:la source
GRUB_DISTRIBUTOR="Bionic_18_04"
et réinstalle grub l'utilise comme ID par défaut UEFI. Mais à chaque fois, il utilise uniquement /EFI/ubuntu/grub.cfg comme emplacement par défaut pour démarrer à partir de mon nouveau /EFI/bionic_18_04/grub.cfg.efibootmgr -v
dont j'ai ajouté à ma réponse. Ça marche. Des modifications supplémentaires peuvent vous empêcher de le faire. Ce que j'ai décrit est la seule chose que je fais pour le faire fonctionner.