Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue85:grub2_et_multibooting [2014/11/30 11:11] – [4] auntiee | issue85:grub2_et_multibooting [2014/12/02 17:33] (Version actuelle) – d52fr |
---|
Lately, I figured out an approach, and I was compelled to share that knowledge with other FCM readers. The answer is in customizing GRUB, the Grand Unified Bootloader.** | Lately, I figured out an approach, and I was compelled to share that knowledge with other FCM readers. The answer is in customizing GRUB, the Grand Unified Bootloader.** |
| |
De nouveaux parfums de Linux surgissent sans cesse. Ubuntu, Debian, Linux Mint, Bodhi Linux, Snowlinux, antiX, ... | De nouveaux parfums de Linux surgissent sans cesse. Ubuntu, Debian, Linux Mint, Bodhi Linux, Snowlinux, antiX, ... de nouvelles versions sortent régulièrement. On se sent un peu dépassé ! Comme si cela n'était pas suffisant, la plupart des distributions proposent des choix supplémentaires entre plusieurs bureaux pré-installés et des programmes par défaut. Les gestionnaires de bureau les plus courants sont notamment Gnome, Cinnamon, Unity, XFCE, LXDE et Enlightenment. Cette richesse est une joie pour les protagonistes de l'Open Source. N'empêche que nous avons besoin de solutions pratiques pour pouvoir utiliser et comparer de multiples distributions. Une approche habituelle est de lancer une session live (à partir d'un DVD ou d'une clé USB), ou d'exécuter un deuxième système d'exploitation à l'intérieur d'une quelconque « machine virtuelle » mystique, mais aucune de ces solutions ne vous permet d'évaluer complètement ce que seraient le comportement, la vitesse et la stabilité de la distrib. si elle était installée sur et démarrée directement du disque dur de votre PC ! Des distributions multiples installées sur votre disque dur parmi lesquelles choisir, vous permettraient d'essayer différentes distributions possibles dans une situation bien réelle et pendant beaucoup plus longtemps que ne dure une session live. |
sortent régulièrement de nouvelles versions. On se sent un peu dépassé ! Comme si cela n'était pas suffisant, la plupart des distributions proposent des choix supplémentaires entre plusieurs bureaux pré-installés et des programmes par défauts. Les gestionnaires de bureau le plus courant sont notamment Gnome, Cinnamon, Unity, XFCE, LXDE et Enlightenment. Cette richesse est une joie pour les protagonistes de l'Open Source. N'empêche que nous avons besoin de solutions pratiques pour pouvoir utiliser et comparer des distributions multiples. Une approche habituelle est de lancer une session live (à partir d'un DVD ou d'une clé USB), ou d'exécuter un deuxième système d'exploitation à l'intérieur d'une quelconque « machine virtuelle » mystique, mais aucune de ces solutions ne vous permettent d'évaluer complètement ce que seraient le comportement, la vitesse et la stabilité de la distrib. quand elle sera installée sur, et démarrée directement du, disque dur de votre PC ! Des distributions multiples installées sur votre disque dur parmi lesquelles choisir, vous permettraient d'essayer différentes distributions possibles dans une situation bien réelle et pendant beaucoup plus longtemps que ne dure une session live. | |
| Récemment, j'ai trouvé une approche et me suis senti obligé de partager cette connaissance avec d'autres lecteurs du FCM. La réponse se trouve dans la personnalisation de GRUB, the Grand Unified Bootloader. |
| |
Récemment, j'ai trouvé une approche et me suis senti obligé de partager cette connaissance avec d'autres lecteurs du FCM. La réponse se trouve dans la personnalisation de GRUB, the Grand Unified Bootloader (le grand chargeur de démarrage unifié). | |
===== 2 ===== | ===== 2 ===== |
| |
With GRUB, I mean version 2 (GRUB2), which is the version packaged with most Linux distributions (i.e. grub-pc package version 1.97 and later!). From Ubuntu 12.10 on, version 2.00 of grub-pc is installed.** | With GRUB, I mean version 2 (GRUB2), which is the version packaged with most Linux distributions (i.e. grub-pc package version 1.97 and later!). From Ubuntu 12.10 on, version 2.00 of grub-pc is installed.** |
| |
Au démarrage de mon PC, la première chose après le BIOS, qui se présente est un menu GRUB dans lequel les systèmes d'exploitation installés (neuf chez moi) sont affichés afin que vous puissiez en choisir un. Beaucoup d'entre nous connaissons le « double amorçage » de Windows et une distribution Linux : c'est l'option par défaut qui est proposée quand vous installez Ubuntu ou une autre distribution Linux sur une machine sous Windows seul. Après l'installation et le redémarrage, vous verrez un menu GRUB à partir duquel vous pouvez choisir le système d'exploitation à démarrer : Ubuntu ou Windows. Si vous ne voyez pas le menu GRUB (par exemple, si vous n'avez qu'Ubuntu sur votre disque dur), appuyez sur MAJ pendant le démarrage pour le révéler. GRUB sait faire plus pour vous que de vous proposer un menu de double amorçage et l'amorçage multiple est ce que nous allons faire dans cette série en quatre parties ! Dans cette première partie, nous découvrirons l'objectif général ainsi que le comportement de GRUB. | Au démarrage de mon PC, la première chose qui se présente après le BIOS, est un menu GRUB dans lequel les systèmes d'exploitation installés (neuf chez moi) sont affichés afin que vous puissiez en choisir un. Beaucoup d'entre nous connaissons le « dual-boot » de Windows et d'une distribution Linux : c'est l'option par défaut qui est proposée quand vous installez Ubuntu ou une autre distribution Linux sur une machine sous Windows seul. Après l'installation et le redémarrage, vous verrez un menu GRUB à partir duquel vous pouvez choisir le système d'exploitation à démarrer : Ubuntu ou Windows. Si vous ne voyez pas le menu GRUB (par exemple, si vous n'avez qu'Ubuntu sur votre disque dur), appuyez sur MAJ pendant le démarrage pour le révéler. GRUB sait faire plus pour vous que de vous proposer un menu de dual-boot et le multibooting est ce que nous allons faire dans cette série en quatre parties ! Dans cette première partie, nous découvrirons l'objectif général ainsi que le comportement de GRUB. |
| |
Quand je dis GRUB, je veux dire la version 2 (GRUB2), qui est la version embarquée dans la plupart des distributions Linux (c-à-d grub-pc version du paquet 1.97 et supérieure !). À partir d'Ubuntu 12.10, la version 2.00 de grub-pc est installée. | Quand je dis GRUB, je veux dire la version 2 (GRUB2), qui est la version embarquée dans la plupart des distributions Linux (c'est-à-dire le paquet grub-pc en version 1.97 ou supérieure !). À partir d'Ubuntu 12.10, la version 2.00 de grub-pc est installée. |
| |
===== 3 ===== | ===== 3 ===== |
A bootloader like GRUB contains pointers to one or more OSs on your hard disk, as each OS is installed on a separate partition of the hard disk (or another hard disk). Usually, when more than one OS is installed, GRUB offers a menu from which an OS can be selected at startup. If you don't interfere, its default selection is booted after 10 seconds. Furthermore, GRUB is able to keep track of several installed versions of the kernel in a Linux distribution (something which dual-booters will be familiar with). Each installed kernel (within one and the same OS) will appear as a separate line in the GRUB menu (or in a submenu). In this way, it is still possible to “fall back” to a previous kernel version in case things don’t work as expected with a newly installed kernel. Of course, GRUB does not store all of its information within the small MBR sector: on installation it has been configured to look for needed modules and configuration settings in the /boot/grub folder on a Linux partition.** | A bootloader like GRUB contains pointers to one or more OSs on your hard disk, as each OS is installed on a separate partition of the hard disk (or another hard disk). Usually, when more than one OS is installed, GRUB offers a menu from which an OS can be selected at startup. If you don't interfere, its default selection is booted after 10 seconds. Furthermore, GRUB is able to keep track of several installed versions of the kernel in a Linux distribution (something which dual-booters will be familiar with). Each installed kernel (within one and the same OS) will appear as a separate line in the GRUB menu (or in a submenu). In this way, it is still possible to “fall back” to a previous kernel version in case things don’t work as expected with a newly installed kernel. Of course, GRUB does not store all of its information within the small MBR sector: on installation it has been configured to look for needed modules and configuration settings in the /boot/grub folder on a Linux partition.** |
| |
GRUB est un chargeur de démarrage (bootloader), qui, par défaut, est installé sur le Master Boot Record (MBR) ou secteur d'amorçage maître. Que de grands mots. Le MBR est le premier secteur de votre disque dur (512 octet), et, en tant que tel, c'est la première chose lue au démarrage. Son contenu n'apparaît pas dans le(s) système(s) de fichiers sur le disque dur et, donc, il ne peut pas être lu par un gestionnaire de fichier (d'ailleurs on n'en a pas besoin). C'est l'emplacement logique pour le chargeur de démarrage, qui est plus ou moins un petit système d'exploitation. Quand vous démarrez votre machine à partir du disque dur, le BIOS donne le contrôle du PC au chargeur de démarrage. Et le chargeur de démarrage doit correctement transférer le contrôle de votre machine à un système d'exploitation. Des chargeurs de démarrage autre que GRUB existe aussi, notamment LiLo. | GRUB est un bootloader qui, par défaut, est installé sur le Master Boot Record (MBR). Que de grands mots ! Le MBR est le premier secteur de votre disque dur (512 octets), et, en tant que tel, c'est la première chose lue au démarrage. Son contenu n'apparaît pas dans le(s) système(s) de fichiers sur le disque dur et, donc, il ne peut pas être lu par un gestionnaire de fichiers (d'ailleurs on n'en a pas besoin). C'est l'emplacement logique pour le chargeur de démarrage, qui est plus ou moins un petit système d'exploitation. Quand vous démarrez votre machine à partir du disque dur, le BIOS donne le contrôle du PC au bootloader. Et le chargeur de démarrage doit correctement transférer le contrôle de votre machine à un système d'exploitation. Des bootloaders autre que GRUB existent aussi, notamment LiLo. |
| |
Puisque chaque système d'exploitation est installé sur une partition distincte du disque dur (ou sur un autre disque dur), un chargeur de démarrage comme GRUB contient des indications menant à un ou plusieurs systèmes d'exploitations sur votre disque dur. En règle générale, quand plus d'un système d'exploitation est installé, GRUB propose un menu à partir duquel un système peut être choisi au démarrage. Si vous n'interférez pas, la sélection par défaut est démarrée après 10 secondes. Qui plus est, GRUB sait garder la trace de plusieurs versions du noyau installées dans une distribution Linux (ce que des gens avec double-amorçage savent déjà). Chaque noyau installé (au sein du même système d'exploitation) apparaîtra sur une ligne distincte dans le menu GRUB (ou dans un sous-menu). Ainsi, il est toujours possible de retrouver une version précédente du noyau si des choses ne fonctionnent pas comme prévu avec un nouveau noyau. Bien entendu, GRUB ne stocke pas toutes ses informations dans le petit secteur du MBR : il a été configuré lors de son installation pour rechercher les modules et les paramètres de configuration nécessaires dans le dossier /boot/grub sur une partition Linux. | Puisque chaque système d'exploitation est installé sur une partition distincte du disque dur (ou sur un autre disque dur), un bootloader comme GRUB contient des indications menant à un ou plusieurs systèmes d'exploitation sur votre disque dur. En règle générale, quand plus d'un système d'exploitation est installé, GRUB propose un menu à partir duquel un système peut être choisi au démarrage. Si vous n'interférez pas, la sélection par défaut est démarrée après 10 secondes. Qui plus est, GRUB sait garder la trace de plusieurs versions du noyau installées dans une distribution Linux (ce que des gens avec dual-boot savent déjà). Chaque noyau installé (au sein du même système d'exploitation) apparaîtra sur une ligne distincte dans le menu GRUB (ou dans un sous-menu). Ainsi, il est toujours possible de retrouver une version précédente du noyau si des choses ne fonctionnent pas comme prévu avec un nouveau noyau. Bien entendu, GRUB ne stocke pas toutes ses informations dans le petit secteur du MBR : il a été configuré lors de son installation pour rechercher les modules et les paramètres de configuration nécessaires dans le dossier /boot/grub sur une partition Linux. |
| |
===== 4 ===== | ===== 4 ===== |
| |
À ce stade, nous avons une idée générale des responsabilités de GRUB. Cependant, commencer tout de suite à installer les distributions Linux A, B, C et D sur les partitions 1, 2, 3 et 4 finira par créer des ennuis. Voyons pourquoi. | À ce stade, nous avons une idée générale des responsabilités de GRUB. Cependant, commencer tout de suite à installer les distributions Linux A, B, C et D sur les partitions 1, 2, 3 et 4 finira par créer des ennuis. Voyons pourquoi. |
| |
| Chaque fois que vous installez une nouvelle distribution, le GRUB déjà présent sur le MBR est écrasé parce que la nouvelle distribution ré-installe GRUB à partir de son propre paquet grub-pc. Ce nouveau GRUB doit rechercher son fichier de configuration grub.cfg dans le répertoire /boot/grub de la distrib. Linux tout juste installée. Aucun problème jusqu'ici, puisque ce fichier de configuration est rempli d'indications vers tous les systèmes d'exploitation sur votre disque dur. Ainsi, vous aurez finalement un menu GRUB à jour après l'installation de votre distribution Linux la plus récente (supposons qu'il s'agit de la distrib. D). Supposons également que vous avez fignolé la configuration de ce GRUB pour que l'apparence du menu GRUB soit géniale (avec, notamment, un joli fond, de très belles couleurs pour le texte, le système d'exploitation par défaut pré-établi, etc.). Cela va-t-il fonctionner comme vous voudrez ? Oui, pour le moment. Cependant, le fichier grub.cfg sur lequel repose GRUB (sur le MBR) n'est géré que par la distribution D (que vous avez installée sur la partition 4). Une mise à jour du noyau de la distribution C, paraîtra-t-elle dans le menu GRUB ? Non, parce que la distribution D n'a pas connaissance de la mise à jour de ce noyau-là. Que se passe-t-il quand le paquet grub-pc est mis à jour dans la distrib. A, B ou C - ou quand vous remplacez A par une nouvelle distrib. E ? Le MBR sera écrasé par GRUB... à partir de la distrib. A (ou E), B ou C (ce qui ne se réfère pas au /boot/grub/grub.cfg sur la partition 4, mais à celui qui figure sur la partition 1, 2 ou 3). Et donc... au revoir le joli fond et autres réglages qui étaient présents dans l'ancien fichier de configuration de grub. Et qu'adviendra-t-il si vous remplacez la distrib. D et écrasez GRUB ? La même chose. |
| |
| |
| |
Next time, we will dive into some internals of GRUB!** | Next time, we will dive into some internals of GRUB!** |
| |
| Enfin, ce n'est qu'en faisant des mises à jour du grub.cfg à l'intérieur de la distrib. D, en lançant la commande « sudo update-grub » que les modifications du noyau ou du système d'exploitation faites ailleurs sur votre disque dur seront détectées et le menu GRUB mis à jour en conséquence. Ce qui vous rend extrêmement dépendant de la distrib. D. Ce n'est pas l'idéal quand vous aimez changer vos installations Linux de temps en temps. |
| |
| L'objectif de cette série d'articles est de vous aider à mieux comprendre le fonctionnement de GRUB et vous montrer une option plus avancée qu'une installation de GRUB gérée par l'une des distributions Linux : nous allons finir par avoir un bootloader indépendant sur le MBR. Autrement dit, une installation de GRUB qui ne sera pas affectée par des remplacements successifs de vos distributions Linux et dont le contrôle est dans vos propres mains ! |
| |
| La prochaine fois, nous plongerons à l'intérieur même de GRUB ! |