Introduction
Dans cet atelier, vous allez apprendre à personnaliser le menu de démarrage GRUB2 dans un environnement Linux. GRUB2 (GRand Unified Bootloader) est le premier programme qui s'exécute au démarrage de votre ordinateur ; il est responsable du chargement du noyau Linux. Vous acquerrez une expérience pratique en manipulant son fichier de configuration principal, /etc/default/grub, afin d'adapter l'expérience de démarrage à vos besoins.
Vous commencerez par accéder et inspecter la configuration par défaut de GRUB2. Ensuite, vous modifierez des paramètres clés tels que GRUB_TIMEOUT pour changer la durée d'affichage du menu de démarrage, et GRUB_DEFAULT pour définir l'entrée de démarrage par défaut. Pour conclure l'atelier, vous appliquerez ces modifications en générant un nouveau fichier de configuration GRUB2 avec la commande grub2-mkconfig et vous apprendrez à vérifier que vos personnalisations sont correctement configurées.
Note : Comme il s'agit d'un environnement virtuel LabEx temporaire et jetable, nous ne pouvons pas effectuer un redémarrage réel du système pour voir les changements du menu de démarrage en action. À la place, vous apprendrez à vérifier les modifications de configuration en examinant les fichiers GRUB2 générés, ce qui est une compétence tout aussi cruciale pour les administrateurs système afin de valider leurs configurations avant de redémarrer des systèmes de production.
Accéder au fichier de configuration par défaut de GRUB2 /etc/default/grub
Dans cette étape, vous apprendrez à accéder et à visualiser le fichier de configuration principal de GRUB2. GRUB2 (GRand Unified Bootloader, version 2) est le chargeur de démarrage par défaut de la plupart des distributions Linux modernes. C'est le premier programme qui s'exécute au démarrage de votre machine, et son rôle est de charger le noyau Linux en mémoire puis de lancer le système d'exploitation.
Le fichier de configuration principal que vous utiliserez pour personnaliser le comportement de GRUB2 se trouve à l'emplacement /etc/default/grub. Ce fichier contient des paires clé-valeur qui contrôlent des paramètres tels que le délai d'attente du menu, le système d'exploitation à démarrer par défaut et des paramètres supplémentaires pour le noyau.
Avant d'effectuer des modifications, il est essentiel d'inspecter la configuration actuelle. Comme /etc/default/grub est un fichier système appartenant à l'utilisateur root, vous devez utiliser la commande sudo pour y accéder. Nous utiliserons la commande cat pour afficher son contenu dans le terminal.
Exécutez la commande suivante pour visualiser le contenu du fichier de configuration par défaut de GRUB2 :
sudo cat /etc/default/grub
Vous verrez une sortie similaire à celle-ci. Les valeurs exactes peuvent varier légèrement selon la configuration de votre système.
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rhgb quiet net.ifnames=0 console=tty0 console=ttyS0,115200n8 no_timer_check iommu=pt crash_kexec_post_notifiers=1 nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
Examinons brièvement deux paramètres importants de ce fichier :
GRUB_TIMEOUT: Cette valeur détermine la durée (en secondes) pendant laquelle le menu GRUB2 est affiché avant de démarrer automatiquement l'entrée par défaut.GRUB_DEFAULT: Ceci spécifie quel système d'exploitation ou quel noyau sera démarré par défaut.
Dans l'étape suivante, vous apprendrez comment modifier ces paramètres pour changer le comportement du menu de démarrage.
Modifier les paramètres GRUB_TIMEOUT et GRUB_DEFAULT
Dans cette étape, vous allez modifier le fichier de configuration de GRUB2 pour changer le comportement du menu de démarrage. Plus précisément, vous allez augmenter le délai d'attente du menu et définir une entrée de démarrage par défaut spécifique. Pour éditer le fichier /etc/default/grub, vous utiliserez nano, un éditeur de texte en ligne de commande simple et intuitif. Puisqu'il s'agit d'un fichier système, vous devez utiliser sudo pour obtenir les permissions nécessaires à l'édition.
Tout d'abord, ouvrez le fichier en utilisant nano avec les privilèges sudo.
sudo nano /etc/default/grub
L'éditeur nano s'ouvrira et affichera le contenu du fichier. Vous allez maintenant effectuer deux modifications :
Changer la valeur de
GRUB_TIMEOUT: Localisez la ligne commençant parGRUB_TIMEOUT. Elle est probablement réglée sur1. Utilisez les touches fléchées pour déplacer le curseur sur cette ligne et changez la valeur de1à15. Cela obligera le menu GRUB2 à attendre 15 secondes avant de démarrer automatiquement.La ligne devrait ressembler à ceci après votre modification :
GRUB_TIMEOUT=15Changer le paramètre
GRUB_DEFAULT: Trouvez la ligne commençant parGRUB_DEFAULT. Sa valeur pourrait êtresaved. Changez cette valeur en0. DéfinirGRUB_DEFAULT=0indique à GRUB2 de démarrer automatiquement la première entrée de la liste du menu (la liste commence à l'indice zéro, donc0est la première entrée).La ligne devrait ressembler à ceci après votre modification :
GRUB_DEFAULT=0
Une fois ces modifications effectuées, vous devez enregistrer le fichier et quitter nano.
- Appuyez sur
Ctrl + O(la commande "Write Out") pour enregistrer les modifications. nanovous demandera de confirmer le nom du fichier à écrire. Appuyez simplement surEnter.- Appuyez sur
Ctrl + Xpour quitter l'éditeurnanoet revenir à votre invite de commande.
Vous avez maintenant modifié avec succès les paramètres par défaut de GRUB2. Dans l'étape suivante, vous appliquerez ces changements.
Appliquer et vérifier les modifications de configuration de GRUB2
Dans cette étape, vous allez appliquer les modifications de configuration effectuées précédemment et apprendre à vérifier que GRUB2 a été correctement configuré. Vous utiliserez la commande grub2-mkconfig pour générer un nouveau fichier de configuration basé sur vos modifications.
Générer la nouvelle configuration GRUB2
Maintenant que vous avez modifié le fichier /etc/default/grub, vous devez appliquer ces changements en générant un nouveau fichier de configuration GRUB2. La commande grub2-mkconfig lit les paramètres de /etc/default/grub ainsi que les scripts situés dans /etc/grub.d/ pour créer la configuration finale de GRUB2.
Exécutez la commande suivante pour générer la nouvelle configuration :
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Vous devriez voir une sortie similaire à celle-ci :
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
Cette commande analyse votre système à la recherche des noyaux disponibles, lit vos paramètres de configuration et crée la configuration finale du menu GRUB2.
Vérifier vos modifications de configuration
Vérifions que vos modifications ont été correctement appliquées à la configuration de GRUB2. Tout d'abord, vérifiez que vos paramètres modifiés sont bien reflétés dans le fichier /etc/default/grub :
sudo grep -E "(GRUB_TIMEOUT|GRUB_DEFAULT)" /etc/default/grub
Vous devriez voir une sortie affichant vos valeurs modifiées :
GRUB_TIMEOUT=15
GRUB_DEFAULT=0
Ensuite, vérifiez que ces paramètres ont été appliqués au fichier de configuration GRUB2 généré :
sudo grep -E "(timeout|default)" /boot/grub2/grub.cfg | head -5
Cela vous montrera comment vos paramètres apparaissent dans le fichier de configuration réel de GRUB2.
Créer une sauvegarde de la configuration
Il est toujours recommandé de créer des sauvegardes des fichiers de configuration importants avant d'effectuer des changements :
sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
Cela crée une copie de sauvegarde que vous pourrez restaurer si nécessaire.
Dépanner et valider la configuration de GRUB2
Dans cette dernière étape, vous apprendrez les techniques de dépannage essentielles pour les configurations GRUB2 et comprendrez comment valider vos modifications. Ces compétences sont cruciales pour les administrateurs système qui doivent s'assurer que leurs modifications GRUB2 fonctionnent correctement avant de redémarrer des serveurs de production.
Vérifier la syntaxe de la configuration GRUB2
Vérifiez que votre configuration GRUB2 ne contient pas d'erreurs de syntaxe à l'aide du vérificateur intégré :
sudo grub2-script-check /boot/grub2/grub.cfg
S'il n'y a pas d'erreurs, cette commande ne renverra rien. Toute erreur de syntaxe sera affichée avec le numéro de ligne correspondant, ce qui vous aidera à identifier et à corriger les problèmes.
Comprendre la structure du répertoire GRUB2
Explorez la structure du répertoire de configuration de GRUB2 pour comprendre son fonctionnement. Notez que l'accès à ce répertoire nécessite les privilèges root :
sudo ls -la /etc/grub.d/
Cela vous montrera tous les scripts qui génèrent les différentes parties du menu GRUB2. Chaque script possède un préfixe numérique qui détermine son ordre d'exécution. Vous verrez divers scripts tels que :
00_header: Définit la configuration de base de GRUB2.00_tuned: Configurations spécifiques au service Tuned.01_users: Configurations des utilisateurs.10_linux: Recherche et ajoute les noyaux Linux.20_linux_xen: Prise en charge de l'hyperviseur Xen.30_os-prober: Recherche d'autres systèmes d'exploitation.40_custom: Contient les entrées de menu définies par l'utilisateur.
Les scripts réels peuvent varier en fonction de la configuration de votre système et des paquets installés.
Visualiser les entrées de démarrage disponibles
Examinons quelles entrées de démarrage sont disponibles dans votre configuration générée :
sudo grep "menuentry" /boot/grub2/grub.cfg | head -10
Cette commande affichera les références d'entrées de menu et les entrées de menu réelles. La sortie peut inclure à la fois des variables de configuration (comme menuentry_id_option) et des entrées de menu de démarrage effectives. Recherchez les lignes contenant des définitions complètes de menuentry.
Vérifier les paramètres de délai et par défaut
Vérifiez que vos paramètres de délai d'attente et de démarrage par défaut sont correctement configurés :
sudo grep -E "set timeout|set default" /boot/grub2/grub.cfg
Vous verrez plusieurs paramètres de délai et de défaut dans le fichier de configuration. C'est normal car GRUB2 utilise différentes valeurs de délai selon les scénarios :
- Délai principal (généralement 15 secondes comme configuré).
- Délais conditionnels pour des situations spéciales.
- Différents styles de délai (menu, masqué).
Les paramètres clés à vérifier sont :
set default="0"- Définit la première entrée du menu par défaut.set timeout=15- Définit le délai du menu principal à 15 secondes.
En savoir plus sur la récupération de GRUB2
Comprendre la récupération de GRUB2 est essentiel pour dépanner les problèmes de démarrage. En situation d'urgence, vous pouvez :
- Accéder à la ligne de commande GRUB2 : Appuyez sur
cau menu GRUB2 pour entrer en mode ligne de commande. - Modifier les entrées de démarrage : Appuyez sur
epour éditer une entrée de démarrage avant de lancer le système. - Utiliser le mode rescue : Si GRUB2 ne trouve pas sa configuration, il bascule en mode de secours (rescue mode).
Les commandes de récupération courantes incluent :
ls: Liste les partitions et fichiers disponibles.set root=(hd0,1): Définit la partition racine.linux /boot/vmlinuz root=/dev/sda1: Charge un noyau.boot: Lance le processus de démarrage.
Vérification finale de la configuration
Effectuons une dernière vérification de votre configuration GRUB2 complète :
sudo cat /etc/default/grub | grep -E "(TIMEOUT|DEFAULT)"
Cela confirme que vos paramètres de base sont correctement enregistrés dans le fichier de configuration source.
Ce que vous avez accompli :
- Modifié le délai d'attente et les paramètres de démarrage par défaut de GRUB2.
- Appliqué les changements de configuration à l'aide de
grub2-mkconfig. - Appris à vérifier et à dépanner les configurations GRUB2.
- Mis en place des procédures de sauvegarde pour les fichiers de démarrage critiques.
- Compris la structure du répertoire GRUB2 et les options de récupération.
- Acquis les compétences pour valider les configurations avant les redémarrages système.
Votre configuration GRUB2 est maintenant correctement personnalisée avec un délai de 15 secondes et la première entrée du menu définie par défaut. Dans un environnement de production, ces changements prendraient effet au prochain redémarrage du système, offrant une expérience de démarrage plus conviviale.
Résumé
Dans cet atelier complet, vous avez acquis une expérience pratique des techniques essentielles de personnalisation et de dépannage du chargeur de démarrage GRUB2. Vous avez commencé par examiner la configuration par défaut de GRUB2, puis vous avez modifié des paramètres clés, notamment GRUB_TIMEOUT et GRUB_DEFAULT, pour personnaliser le comportement du menu de démarrage. Vous avez appris à appliquer ces changements à l'aide de la commande grub2-mkconfig et à vérifier que vos modifications ont été correctement implémentées.
Les compétences clés que vous avez développées incluent la compréhension de la structure de configuration de GRUB2, la modification sécurisée du fichier /etc/default/grub, l'application correcte des changements de configuration et la mise en œuvre de procédures de vérification et de sauvegarde appropriées. Vous avez également appris des techniques de dépannage indispensables, telles que la vérification de la syntaxe, la validation de la configuration et la compréhension des options de récupération de GRUB2, qui sont cruciales pour les administrateurs système.
L'atelier a mis l'accent sur les compétences pratiques dont les administrateurs système ont besoin dans des scénarios réels, en particulier la capacité de valider les configurations GRUB2 avant de les appliquer à des systèmes de production. Vous avez appris à utiliser des commandes telles que grub2-script-check pour la validation syntaxique et diverses commandes grep pour vérifier que vos modifications ont été correctement reportées dans les fichiers de configuration générés.
Ces compétences vous préparent à gérer sereinement les scénarios de configuration de démarrage et à dépanner efficacement les problèmes liés au boot dans les environnements Linux d'entreprise. Les techniques de vérification pratiquées sont particulièrement précieuses pour garantir l'exactitude des configurations GRUB2 avant de redémarrer des systèmes critiques.



