web-dev-qa-db-fra.com

Comment créer un environnement à démarrage multiple utilisant LVM pour vos systèmes d'exploitation * buntu sur un lecteur système au format GPT, dans un système basé sur UEFI?

Mon raison d’utiliser LVM est que je réinstalle, mets à jour et que je désorganise tellement mon système d’exploitation que je me suis rendu compte que LVM me donnait une grande flexibilité pour déplacer, développer, cloner et sauvegarder mes partitions de système d’exploitation sans les risques associés. avec d'autres méthodes de partitionnement. Cependant, le multiboot de vos systèmes d’exploitation est parfois un peu compliqué et imprévisible, en particulier sur du matériel plus récent, où le processus gagne un autre niveau de complexité.

Ce dont je parle, ce sont les nouvelles cartes mères UEFI (par opposition au BIOS), qui vous permettent d'exploiter tout le potentiel des disques durs de 3 To + et de démarrer à partir de ceux-ci (lorsqu'ils sont formatés en GPT et non en MBR). Les choses peuvent devenir incroyablement compliquées et gâchées parce que chaque fois que vous installez un nouveau système d'exploitation sur votre ordinateur, les fichiers de chargeur d'amorçage EFI (.efi) de votre installation précédente seront écrasés et vous vous retrouverez avec une série d'entrées cassées dans votre EFI. Liste de démarrage "BIOS" et une charge de chargeurs de démarrage Grub redondants dispersés sur vos partitions. Cela me choque à bien des égards, notamment sur le plan esthétique.

8
Rich.T.

NOTE: C'était la réponse du PO. Je l'ai déplacé ici en tant que CW afin qu'il ne soit pas fermé. Si un mod le voit, merci de réparer le droit de propriété sur le PO en guise de réponse personnelle.

Ci-dessous, je détaillerai comment faire en sorte que tout cela fonctionne de manière assez harmonieuse et pour régler le problème, dans une certaine mesure.

Première partie: Installation.

Veuillez noter que si Windows 7 (ou 8?) Est installé sur votre ordinateur, vous devrez probablement l'installer en premier , de préférence sur son propre disque dur, et vous ne pourrez pas le placer dans votre groupe de volumes logiques. En effet, le programme d’installation de Windows 7 GPT/EFI est très basique et ne vous permettra pas de faire le genre de choses que vous ferez ici. Après l’installation de Windows, vous pouvez redimensionner et repartitionner, en ajoutant les partitions dont vous avez besoin pour une installation à démarrage multiple. La partition système EFI créée par Windows peut toujours être réutilisée pour les installations Linux, en utilisant une variante de la méthode décrite ci-dessous.

Tout d'abord , il est utile d'effacer le lecteur système souhaité à l'aide de gparted (ou autre) et de l'initialiser en tant que disque GPT, avant de faire autre chose. Si vous êtes un peu inquiet à propos de l’utilisation d’un partitionneur non graphique pour configurer votre disque à partir de zéro, cela vaut vraiment la peine et s’effectue facilement à partir d’un programme d’installation standard USB ou de CD Live Desktop. Ne le faites pas sous Windows. Je ne suis pas sûr que ce soit absolument nécessaire, mais c'est ce que j'ai fait. Vous pouvez également effectuer le partitionnement de base pour les partitions non-LVM à ce stade aussi, car cela ne ferait pas de mal et vous fournirait un cadre pour l'installation proprement dite.

Maintenant, gravez vos CD/clés d’installation. Si vous utilisez l'ISO d'Ubuntu Alternate Desktop (recommandé), vous devez le graver sur un CD, car cela ne fonctionnera tout simplement pas avec une clé USB. Lorsqu'il est utilisé pour une installation LVM, il se termine par une erreur critique lorsqu'il tente de démarrer le chargement et l'installation du logiciel avec aptitude/tasksel, utilisez donc un CD si vous savez ce qui est bon pour vous!

  • Ubuntu Server s’installe parfaitement à partir d’une clé USB dans tous les cas (AFAIK), mais j’aperçois que si je veux construire un système de bureau Ubuntu/Mythbuntu au-dessus de Server, il introduit toutes sortes de problèmes insolites qui nécessitent ensuite du temps. Alors, restez avec Desktop, si c'est ce que vous recherchez.

  • Quantal (12.10) a LVM en option dans le programme d’installation graphique (ce qui est excellent!) Et l’ISO de remplacement a donc été supprimée. Cependant, j’ai trouvé l’interface de partitionnement manuel inflexible, dépourvue d’options LVM, et qui ne fonctionnait tout simplement pas pour le démarrage multiple. C’est peut-être à cause du problème USB mentionné plus haut, mais pour être honnête, j’ai essayé tellement de problèmes avec un système Quantal que j’ai abandonné assez rapidement et que je suis revenu à Precise (12.04.1).

  • L’autre option principale consiste à utiliser le programme d’installation Net-Boot, pour lequel je n’ai aucune expérience réelle (sauf sur mon Raspberry Pi), mais je pense qu’il existe des mini ISO avec des installateurs textuels et à interface graphique (GTK), qui peut être brûlé et démarré. Ceux-ci extraient la plupart des fichiers d'installation directement à partir d'un référentiel et sont hautement personnalisables.

Suivant , vous devez démarrer votre système à partir d'un CD ou d'un périphérique USB à l'aide de son entrée de démarrage UEFI à partir de "BIOS" ou du menu de démarrage (généralement l'un des [F8 ] - [F12] sur le clavier).

Je vous laisse le soin de passer aux préliminaires du processus d'installation, mais une fois que vous avez accédé à la partie partitionnement, choisissez le partitionnement manuel, puis créez (ou modifiez si vous en avez déjà créé) certaines de ces partitions:

  1. Une partition unique de taille 200 Mo, FAT32, Partition système EFI, nommée/étiquetée "EFI", compatible au démarrage, Format.

  2. Plusieurs partitions: taille 256 Mo, EXT2, amorçage, format;

    • Vous devez nommer/étiqueter chacun d’eux pour le système d’exploitation qu’ils représenteront, c’est-à-dire "OS_01_Boot" ... "OS_03_Boot" ... etc.

    • Commencez par monter le premier comme "/ boot" et tous les autres comme "ne pas utiliser".

    • Créez une partition pour chaque système d'exploitation que vous souhaitez installer.

  3. Une partition, occupant le reste de l'espace du lecteur, en tant que volume pour LVM.

    • Configurez LVM sur le volume que vous venez de partitionner, en créant un groupe de volumes pour tous vos systèmes d'exploitation, en lui attribuant un nom approprié et suffisamment d'espace pour chacun d'entre eux. Je recommande de prendre en compte au moins 40 Go pour chacun, en fonction du type d'installation que vous prévoyez pour chacun.
  4. Créez un volume logique de la même taille que le RAMphysique de votre système, c'est-à-dire 8 Go, nommez-le "Permuter", utilisez-le comme format d'échange.

  5. Créez un volume logique pour chacun des systèmes d'exploitation du groupe de volumes, en les dimensionnant comme suggéré ci-dessus et en leur attribuant un nom, par exemple "Ubuntu_12.04", etc.

    • Formatez chacun en EXT4, en nommant/étiquetant les partitions au fur et à mesure.

    • Commencez par monter le premier en tant que "/" (racine) et tous les autres en tant que "ne pas utiliser".

Voilà! Vous avez maintenant une partition "swap", "/ boot" et "/" (racine) pour votre système ainsi que des pièces de rechange pour vos installations ultérieures. . Vous pouvez maintenant valider les modifications dans la table de partition et poursuivre le reste de l'installation.

Lors de l’installation de votre prochain système d’exploitation, assurez-vous simplement de monter les partitions "/ boot" et "/" (racine), respectivement. Assurez-vous de marquer tous les autres comme "ne pas utiliser", y compris ceux que vous avez utilisés la dernière fois.

Deuxième partie: Sauvegarde des fichiers de démarrage UEFI.

Dès que vous avez démarré votre nouveau système d'exploitation, vous devez sauvegarder votre chargeur de démarrage UEFI pour une utilisation ultérieure et vous assurer qu'il ne sera pas écrasé lors de la prochaine installation. Cela se trouve dans "/ boot/efi/EFI", dans son propre dossier, généralement nommé "Ubuntu". Le fichier en question aura un nom similaire à "grubx64.efi", en fonction de l'architecture de votre PC; donc "/boot/efi/EFI/ubuntu/grubx64.efi", pour ma machine.

Dans mon cas, pour le sauvegarder, je l'ai copié via la console, comme ceci:

Sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Ubuntu_12.04.1

Il serait certainement utile de faire une copie supplémentaire dans votre dossier de départ ou dans un endroit sûr, juste au cas où:

cp -r /boot/efi/EFI/ubuntu /home/user/Ubuntu_12.04.1

Une fois que cela est fait, vous pouvez installer en toute sécurité votre prochain système d'exploitation (en suivant les conseils ci-dessus), qui écrasera probablement le fichier et le dossier d'origine et deviendra lui-même l'entrée de démarrage UEFI par défaut dans "BIOS". Répétez l'opération autant de fois que nécessaire, en attribuant à chaque dossier un nom différent mais représentatif:

Sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Server_12.04.1
cp -r /boot/efi/EFI/ubuntu /home/user/Server_12.04.1

Troisième partie: Modification des entrées UEFI dans votre "BIOS" UEFI.

Depuis le terminal, entrez:

Sudo efibootmgr

Vous devriez obtenir une sortie comme celle-ci:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0000* ubuntu
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

C'est assez explicite, vraiment. Il devrait refléter ce que vous voyez dans votre liste de démarrage du BIOS.

Avoir une lecture de:

man efibootmgr

pour voir ce que font les commandes, modifiez ensuite les exemples de commandes ci-dessous pour ajouter et supprimer des entrées de démarrage.

Tout d'abord , supprimez la ligne "Boot0000 * ubuntu" avec:

Sudo efibootmgr -b 0000 -B

Sortie:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

Ensuite nous ajouterons quelques entrées pour trois systèmes d'exploitation.

OS # 1:

Sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu 12.04.1" -l \\EFI\\Ubuntu_12.04.1\\grubx64.efi

Sortie:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0000* Ubuntu 12.04.1

OS # 2:

Sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu Server 12.04.1" -l \\EFI\\Server_12.04.1\\grubx64.efi

Sortie:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0001* Ubuntu Server 12.04.1

OS # 3:

Sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Mythbuntu 12.04.1" -l \\EFI\\Mythbuntu_12.04.1\\grubx64.efi

Sortie:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0002,0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0002* Mythbuntu 12.04.1

Pour modifier l'ordre de démarrage:

Sudo efibootmgr -o 0000,0001,0002,0006,0007,0005

Sortie:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0001,0002,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0002* Mythbuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

Fait!

Il existe une syntaxe assez étrange, en particulier autour des chemins de fichiers, mais c'est assez simple si vous avez un bon guide (ce que j'espère, c'est).

Merci d'avoir lu. :)

https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr

6
RobotHumans

Tout programme d'installation de système d'exploitation qui efface les fichiers du chargeur de démarrage EFI précédents ou d'un autre système d'exploitation est gravement endommagé. Ubuntu avait ce problème dans le passé, mais il aurait été corrigé avec la version 12.04. (Je dis "soi-disant" parce que j'ai vu quelques cas de problèmes de ce type qui me laissaient penser que le bogue existait peut-être pour une minorité de systèmes.) Cela dit, sauvegardez votre partition système EFI avant un L’installation d’un nouveau système d’exploitation est une police d’assurance utile. Une sauvegarde au niveau des fichiers devrait suffire, car EFI ne s'appuie pas sur du code épargné dans les secteurs de démarrage. (Il s'appuie sur le GUID de la partition. Cependant, si quelque chose supprime le ESP et en crée un nouveau, le démarrage de l'EFI les entrées du chargeur pourraient ne plus fonctionner.)

En gros, pour votre type de configuration, je vous recommande de créer un ESP, avec autant de partitions /boot que vous pensez avoir besoin d’être, ainsi qu’une grande partition LVM. Si vous envisagez d'installer des distributions Linux parallèlement à d'autres systèmes d'exploitation, créez trois ou quatre partitions LVM de taille variable que vous fusionnerez ensuite dans un groupe de volumes. Ainsi, vous pouvez extraire une partition (volume logique) de votre groupe de volumes et la dédier à un système d'exploitation autre que Linux. Les partitions non-LVM /boot vous permettent d'utiliser des chargeurs de démarrage qui ne comprennent pas LVM (c'est-à-dire des chargeurs de démarrage non GRUB2).

Lorsque vous installez un nouveau système d'exploitation, il installera probablement son propre chargeur de démarrage par défaut. Dans une configuration complexe comme la vôtre, c'est probablement la mauvaise chose à faire la plupart du temps. Pour corriger le problème, il est utile d’avoir un lecteur flash USB ou un CD-R sur lequel est installé votre chargeur de démarrage préféré. Quelque chose qui peut détecter automatiquement d'autres chargeurs de démarrage, tels que rEFIt ou son dérivé rEFInd, est susceptible de bien fonctionner dans ce contexte. (Notez que les fichiers binaires sur le site Web rEFIt ne fonctionnent que sur les Mac; rEFInd est un choix plus sûr pour les PC basés sur UEFI.) Sinon, un moyen de lancer un shell EFI peut être utile, car vous pouvez déplacer des fichiers, ajustez les options d’amorçage et résolvez un certain nombre de problèmes à partir d’un shell EFI. De nombreux chargeurs de démarrage et gestionnaires de démarrage EFI peuvent lancer des shells EFI. (Voir this Arch Linux wiki pour les liens de téléchargement vers certains shells EFI.) Les images de CD rEFIt et rEFInd incluent des shells EFI.

2
Rod Smith

Vous n'avez pas besoin d'utiliser EFI pour démarrer un disque de 2 To ou plus; vous devez simplement utiliser GPT et créer une partition bios_grub de 1 Mo sous la barre des 2 To. Si vous trouvez que EFI est problématique, cela peut fonctionner mieux pour vous.

2
psusi