Comment créer un environnement multiboot à l'aide de LVM pour vos systèmes d'exploitation * buntu sur un lecteur système formaté GPT, dans un système basé sur UEFI?

9

La raison pour laquelle j'utilise LVM est que je réinstalle, mets à niveau et généralement dérange avec mes installations de système d'exploitation à tel point que j'ai trouvé que LVM me donne une flexibilité fantastique pour déplacer, étendre, cloner et sauvegarder mes partitions de système d'exploitation à mon gré sans les risques associés. avec d'autres méthodes de partitionnement. Cependant, cela rend le démarrage multiple de vos systèmes d'exploitation un peu compliqué et imprévisible à certains moments, en particulier sur les nouveaux matériels, où le processus gagne en complexité.

Ce dont je parle, ce sont les nouvelles cartes mères UEFI (par opposition au BIOS), qui vous permettent d'utiliser tout le potentiel et de démarrer à partir de disques durs de 3 To + (lorsqu'ils sont formatés en GPT et non en MBR). Les choses peuvent devenir incroyablement compliquées et gâchées car chaque fois que vous installez un nouveau système d'exploitation sur votre machine, il écrasera les fichiers du chargeur de démarrage EFI (.efi) de votre installation précédente 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 à peu près redondants éparpillés sur vos partitions. Cela m'offense à bien des égards, dont le moins esthétique.

Rich.T.
la source

Réponses:

6

REMARQUE: 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 voit cela, veuillez reparent la propriété de l'OP comme une réponse automatique.

Ci-dessous, je vais détailler comment faire en sorte que tout cela fonctionne de manière quelque peu harmonieuse et trier le désordre, dans une certaine mesure.

Première partie: installation.

Veuillez noter que si vous prévoyez d'installer Windows 7 (ou 8?) Sur votre ordinateur, vous devrez probablement l'installer d' abord , de préférence sur son propre disque dur, et vous ne pourrez pas le mettre dans votre groupe de volumes logiques. C'est parce que le programme d'installation de Windows 7 GPT / EFI est très basique et ne vous laissera pas 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 que Windows crée peut toujours être réutilisée pour les installations Linux, en utilisant une variante de la méthode détaillée ci-dessous.

Tout d'abord , cela aide à nettoyer votre lecteur système prévu à l'aide de gparted (ou similaire) et à l'initialiser en tant que disque GPT, avant de faire quoi que ce soit d'autre. Si vous êtes un peu nerveux à l'idée d'utiliser un partitionneur non graphique pour configurer votre disque à partir de zéro, alors cela en vaut vraiment la peine et se fait facilement à partir d'un programme d'installation USB ou de CD de bureau en direct standard. 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, car cela ne nuirait pas et vous donne un cadre pour l'installation proprement dite.

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

  • Ubuntu Server s'installe parfaitement bien à partir d'une clé USB dans tous les cas (AFAIK), mais je trouve que si je veux construire un système de bureau Ubuntu / Mythbuntu sur le serveur, il introduit toutes sortes de bizarreries involontaires qui nécessitent ensuite du temps à trier. Alors, restez avec Desktop, si c'est ce que vous recherchez.

  • Quantal (12.10) a LVM en option dans l'installateur graphique (ce qui est génial!) Et donc l'ISO alternative a été supprimée. Cependant, j'ai trouvé l'interface de partitionnement manuel inflexible, manquant d'options LVM et ne fonctionnait tout simplement pas pour le multi-démarrage. Cela peut être dû au problème USB mentionné précédemment, mais pour être honnête, j'ai eu tellement de problèmes avec un système Quantal que j'ai essayé, que j'ai abandonné assez rapidement et suis retourné à Precise (12.04.1).

  • L'autre option principale consiste à utiliser le programme d'installation de Net-boot, dont 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 texte et GUI (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.

Ensuite , 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] du clavier).

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

  1. Une seule partition de taille 200 Mo, FAT32, partition système EFI, nommée / étiquetée "EFI", amorçable, format.

  2. Plusieurs partitions: 256 Mo, EXT2, bootable, format;

    • Vous devez les nommer / étiqueter chacun 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, comme 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 donnant un nom approprié et beaucoup d'espace pour chacun d'eux. Je recommanderais de prendre en compte au moins 40 Go pour chacun, selon le type d'installation que vous prévoyez pour chacun.
  4. Créez un volume logique de la même taille que la RAM physique de votre système, c'est-à-dire 8 Go, nommez-le "Swap", utilisez comme swap, format.

  5. Créez un volume logique pour chacun des systèmes d'exploitation au sein du groupe de volumes, en les dimensionnant comme suggéré ci-dessus et en leur donnant un nom, c'est-à-dire "Ubuntu_12.04", etc.

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

    • Commencez par monter le premier de ceux-ci comme "/" (root) et tous les autres comme "ne pas utiliser".

C'est ça! Vous avez maintenant un échange, une partition "/ boot" et "/" (racine) pour votre système et des pièces de rechange pour vos installations ultérieures. Vous pouvez maintenant valider les modifications apportées à la table de partition et poursuivre le reste de l'installation.

En ce qui concerne l'installation de votre prochain système d'exploitation, assurez-vous simplement de monter la prochaine partition "/ boot" et "/" (racine), respectivement. Veuillez vous assurer que vous marquez 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é dans votre nouveau système d'exploitation, vous devez sauvegarder votre chargeur de démarrage UEFI pour une utilisation ultérieure et pour vous assurer qu'il n'est pas écrasé lors de la prochaine installation. Cela peut être trouvé dans "/ boot / efi / EFI", dans son propre dossier, généralement nommé "ubuntu". Le fichier en question aura un nom similaire à "grubx64.efi", selon 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 vaudrait certainement la peine d'en faire une autre copie dans votre dossier personnel ou ailleurs, au cas où:

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

Une fois cela fait, vous pouvez installer en toute sécurité votre prochain système d'exploitation (en suivant les conseils ci-dessus), qui écrasera très probablement le fichier et le dossier d'origine et se fera également l'entrée de démarrage UEFI par défaut dans "BIOS". Répétez le processus à nouveau et autant de fois que nécessaire, en donnant à 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.

Lisez:

man efibootmgr

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

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

sudo efibootmgr -b 0000 -B

Production:

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

Production:

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

Production:

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

Production:

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

Production:

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

Terminé!

Il y a 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 que c'est).

Merci d'avoir lu. :)

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

Appelez-moi V
la source
Merci, AbrahamVanHelpsing. J'essayais de répondre par moi-même, mais je suis trop un noob ici, je pense. J'essaierai de ranger ça plus tard; le formatage est terrible! Il est 1 h 30 du matin, alors je vais abandonner pour le moment!
Rich.T.
2

Tout programme d'installation du système d'exploitation qui efface les fichiers du chargeur de démarrage EFI des systèmes d'exploitation précédents ou d'autres est gravement endommagé. Ubuntu a eu 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 rapports de problèmes dans ce sens qui me font penser que le bogue peut toujours exister pour une minorité de systèmes.) Cela dit, sauvegarder votre partition système EFI (ESP) avant un la nouvelle installation du système d'exploitation est une police d'assurance utile. Une sauvegarde au niveau du fichier devrait être suffisante, car EFI ne s'appuie pas sur du code échappé dans les secteurs de démarrage. (Il ne repose sur GUID de la partition, bien que, si quelque chose supprime l'ESP et crée une nouvelle, les entrées de chargeur de démarrage EFI pourrait cesser de fonctionner.)

D'une manière générale, pour votre type de configuration, je recommande de créer un ESP, autant de /bootpartitions que vous pensez que vous pourriez avoir besoin, et une grande partition LVM. Si vous prévoyez d'installer des distributions Linux avec d'autres systèmes d'exploitation, créez ces trois ou quatre partitions LVM de taille variable que vous fusionnerez ensuite en un seul groupe de volumes; De cette façon, vous pouvez extraire une partition (volume logique) de votre groupe de volumes et la dédier à un système d'exploitation non Linux. Les /bootpartitions non LVM vous donnent la possibilité 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, ce n'est probablement pas la bonne chose à faire la plupart du temps. Pour corriger, il est utile d'avoir une clé USB ou un CD-R avec votre chargeur de démarrage préféré installé dessus. 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 binaires sur le site Web rEFIt ne fonctionnent que sur Mac; rEFInd est un choix plus sûr pour les PC basés sur UEFI.) Alternativement ou en plus, un moyen de lancer un shell EFI peut être utile, car vous pouvez déplacer des fichiers, ajuster les options de démarrage et résoudre un certain nombre de problèmes à partir d'un shell EFI. De nombreux chargeurs et gestionnaires de démarrage EFI peuvent lancer des shells EFI. (Voirce wiki Arch Linux pour les liens de téléchargement vers certains shells EFI.) Les images CD rEFIt et rEFInd incluent des shells EFI.

Rod Smith
la source
2

Vous n'avez pas besoin d'utiliser EFI pour démarrer un disque 2 + TB; il vous suffit d'utiliser GPT et de créer une partition bios_grub de 1 Mo sous la marque 2Tb. Si vous trouvez que l'EFI est problématique, cela peut mieux fonctionner pour vous.

psusi
la source