Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue85:grub2_et_multibooting [2014/12/02 14:48] – [3] andre_domenech | issue85:grub2_et_multibooting [2014/12/02 17:33] (Version actuelle) – d52fr |
---|
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. | 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 bootloader 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 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. | 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 avec 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 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. | 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. | 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 ! | 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 ! | La prochaine fois, nous plongerons à l'intérieur même de GRUB ! |