web-dev-qa-db-fra.com

Comment garder la nourriture indépendante de tous les systèmes d'exploitation?

J'ai actuellement le schéma de partition suivant.

300MB    NTFS          Recovery  
100MB    FAT32         LOOKS LIKE IT IS THE EFI BOOT PARTITION  
128MB    Other         This is empty and thus I suspect it to be the padding partition
150GB    NTFS          Windows
700GB    NTFS          Data partition
80.53GB  Unallocated

Je souhaite installer de nombreuses distributions Linux différentes au fil du temps (certaines d’entre elles peuvent être désinstallées au cours du processus, d’autres écrasées) et je souhaite une configuration de chargeur de démarrage capable de suivre et de ne pas casser.

J'ai lu des articles sur leur chargement en chaîne et sur une partition dédiée grub2, ainsi que sur le schéma dans lequel les utilisateurs installent ubuntu et suppriment la partition/mais gardent le/boot à utiliser en tant que grub.

Je cherchais les avantages et les inconvénients de chacun d’eux.

Aussi, je voulais demander si je pouvais faire la partition dédiée grub2 au début ou à la fin de l'espace non alloué? Je pense que je vais aller avec la configuration grub dédiée. J'ai lu quelque part sur rEFInd bootloader et cela ressemble à un outil ne nécessitant aucune maintenance. Serait-il compatible avec toutes les distributions Linux?

PS: Je suis assez nouveau pour les chargeurs de démarrage et le plus profond que j’ai été a été d’éditer des fichiers grub.cfg pour déplacer l’entrée Windows vers le haut et renommer les entrées.

PPS: Quelques informations d’arrière-plan: j’avais installé à la fois Ubuntu et Ubuntu GNOME (tous deux 15.04) dans l’espace non alloué en utilisant 40 Go chacun. Je voulais ensuite ne garder que Ubuntu GNOME, mais j'avais installé Ubuntu Unity après avoir installé Ubuntu GNOME. Donc, supprimer Ubuntu Unity ferait disparaître le ver. Je souhaite éviter ce type de scénario en maintenant GRUB2 indépendant de tout autre élément.

1
Ashhar Hasan

Le problème avec une configuration à distribution multiple sous Linux est que vous allez vous retrouver avec plusieurs installations GRUB, ce qui est redondant et déroutant. Chaque distribution définira sa propre GRUB par défaut et la configurera soit pour charger en chaîne les GRUBs d'autres distributions, soit pour démarrer leurs noyaux directement (ou peut-être pour faire les deux choses). Il y a des problèmes avec ceci:

  • Lorsque vous démarrez une distribution dont GRUB est pas la principale et mettez à jour son noyau, il est probable que la configuration de contrôle de GRUB ne sera pas mise à jour. Si le contrôleur GRUB démarre directement les noyaux des autres distributions et si les mises à jour du noyau ont lieu assez souvent, la distribution avec les noyaux mis à jour peut cesser de démarrer car les noyaux d'origine disparaîtront. Même si la distribution continue de démarrer, ce sera via un noyau plus ancien qui peut présenter des problèmes de sécurité ou autres. Vous devrez ensuite aller à la distribution dont GRUB est en charge et exécuter update-grub (ou quelque chose d'équivalent) pour le faire fonctionner à nouveau. Une configuration chainload est plus robuste face à de tels problèmes, donc si vous avez le choix, c'est ce que je configurerais.
  • Après une mise à jour de leurs propres packages GRUB, de nombreuses distributions tentent de réinitialiser leurs propres GRUB par défaut. Le résultat peut être celui que GRUB démarre en premier changera de temps en temps. Si l’un fait un meilleur travail que les autres, vous devrez alors utiliser efibootmgr pour réinitialiser les priorités de démarrage de temps à autre.
  • Si vous supprimez la distribution dont GRUB est lancé par défaut, il y a de fortes chances que son GRUB cesse de fonctionner. (Ce n'est pas toujours le cas, car cela dépend de l'endroit où GRUB stocke ses fichiers de configuration, mais c'est ainsi que la plupart des distributions configurent les choses.) Vous pouvez contourner ce problème en utilisant le démarrage intégré du microprogramme. gestionnaire, mais cela reste un inconvénient - et un problème grave pour les utilisateurs qui ne savent pas comment utiliser le gestionnaire de démarrage du microprogramme. (Après le premier démarrage, vous devrez installer une autre distribution ou utiliser efibootmgr pour définir un autre GRUB par défaut afin d'éviter de devoir utiliser le gestionnaire de démarrage du microprogramme.)

Ces problèmes ne sont pas insurmontables, mais ce sont des nuisances. La configuration du gestionnaire de démarrage n par défaut permet de contourner ces problèmes, mais nécessite généralement une configuration manuelle qui nécessitera probablement plus de travail que de nécessité pour surmonter les problèmes que je viens de décrire. rEFInd (que je maintiens) est conçu pour contourner ces problèmes en étant moins dépendant des fichiers de configuration. En particulier, rEFInd n'a pas besoin de configuration par noyau, ce dont tout autre chargeur de démarrage Linux que je connais a besoin. Au lieu de cela, rEFInd s'appuie sur un fichier de configuration qui fournit des options qui s'appliquent au noyau every dans un répertoire donné. Cela nécessite une configuration initiale explicite lorsque vous installez une distribution, mais il suffit d'exécuter un script fourni avec rEFInd (mkrlconf). Ensuite, lorsque vous mettez à niveau votre noyau, rEFInd n'a pas besoin de reconfiguration. il prend simplement les anciennes options et les applique au nouveau noyau. (Notez que GRUB a besoin d'une reconfiguration après une mise à jour du noyau. Ubuntu le cache en exécutant des scripts pour effectuer la reconfiguration dans le cadre du processus de mise à jour/d'installation du noyau - mais, comme indiqué précédemment, ces scripts ne mettent à jour qu'un seul GRUB. configuration, qui peut ne pas être celle qui doit être mise à jour.)

Si vous installez rEFInd, vous aurez toujours le problème de chaque distribution essayant de définir son propre GRUB par défaut. Il y a généralement des façons de contourner cela, cependant. Pour Ubuntu, plutôt que d’amorcer le support d’installation et de sélectionner l’option d’installer directement, vous devez démarrer en mode "essayez avant d’installer", ouvrez une fenêtre de terminal, puis tapez ubiquity -b. Ceci lancera l’installateur et le dira à pas installer GRUB. Le même truc peut évidemment aussi être utilisé si vous voulez que GRUB d'une autre distribution gère tout. Pour amorcer après une installation de cette manière, il faudra que rEFInd ait déjà été installé; ou vous pouvez démarrer avec rEFInd sur un lecteur flash USB ou un CD-R et l’installer ensuite.

Vous voudrez peut-être comprendre à quel point il est facile de désactiver GRUB dans chaque distribution que vous prévoyez d'installer. En utilisant ces informations, en conjonction avec vos propres plans et priorités, vous pouvez choisir le (s) quel (s) vous souhaitez installer et ceux que vous souhaitez ignorer.

Une autre option consiste à utiliser la virtualisation, comme VirtualBox. Si vous avez assez de mémoire, vous pouvez exécuter une demi-douzaine de distributions simultanément sur des machines virtuelles, tandis qu'une autre contrôle l'ordinateur dans son ensemble. Cette approche contourne les conflits du chargeur de démarrage, ce qui simplifie considérablement la configuration: chaque système d'exploitation est entièrement responsable de son propre "ordinateur".

3
Rod Smith

Comme @oldfred et @Wilf l'ont souligné dans les commentaires, GRUB2 a beaucoup mûri et peut gérer les situations que j'ai mentionnées confortablement. La solution à suivre:

  1. Effectuez une sauvegarde de votre partition ESP ou EFI ou de démarrage (la partition FAT32).
  2. Installez les distributions Linux que vous voulez séparer des partitions (vous pouvez facilement installer toute la distribution sur une seule partition/au lieu de faire un/boot séparé)
  3. La distribution que nous installerons la dernière sera le maître et sa fonction sera utilisée.
  4. Si vous le souhaitez, vous pouvez modifier manuellement le fichier grub.cfg dans le répertoire EFI/distro de la partition EFI pour gérer tous les programmes de démarrage.

Explication de la façon dont cela fonctionne:

GRUB2 s’installe lui-même dans/boot de la distribution et crée un fichier grub.cfg dans un sous-répertoire de la partition EFI, qui charge ensuite le fichier grub.

0
Ashhar Hasan