Introduction
Dans ce laboratoire, vous apprendrez à 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 travaillant sur son fichier de configuration principal, /etc/default/grub, afin d'adapter l'expérience de démarrage à vos besoins.
Vous commencerez par accéder à la configuration par défaut de GRUB2 et l'inspecter. 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, vous appliquerez ces modifications en générant un nouveau fichier de configuration GRUB2 avec la commande grub2-mkconfig et apprendrez à vérifier que vos personnalisations sont correctement configurées.
Remarque : Comme il s'agit d'un environnement virtuel LabEx temporaire, nous ne pouvons pas effectuer de redémarrage réel du système pour constater les changements. À 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 importante pour les administrateurs système afin de valider leurs configurations avant de redémarrer des systèmes en production.
Accéder au fichier de configuration par défaut de GRUB2 /etc/default/grub
Dans cette étape, vous apprendrez à accéder au fichier de configuration principal de GRUB2 et à le consulter. 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 ordinateur, 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 dans /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 de démarrage, le système d'exploitation par défaut à lancer, ainsi que des paramètres supplémentaires pour le noyau.
Avant d'effectuer des changements, 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 afficher le contenu du fichier de configuration par défaut de GRUB2 :
sudo cat /etc/default/grub
Pour conserver une référence simple que vous pourrez comparer plus tard dans le laboratoire, enregistrez les paramètres actuels de délai d'attente et d'entrée par défaut dans un fichier de votre répertoire personnel :
sudo grep -E "^(GRUB_TIMEOUT|GRUB_DEFAULT)" /etc/default/grub | tee ~/grub-current-settings.txt >/dev/null
Vous verrez un résultat similaire à ce qui suit. 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 lancer automatiquement l'entrée par défaut.GRUB_DEFAULT: Ce paramètre spécifie quel système d'exploitation ou quel noyau sera lancé par défaut.
Dans l'étape suivante, vous apprendrez à 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 modifier le fichier /etc/default/grub, vous utiliserez nano, un éditeur de texte en ligne de commande simple et intuitif. Comme il s'agit d'un fichier système, vous devez utiliser sudo pour obtenir les autorisations nécessaires à l'édition.
Tout d'abord, ouvrez le fichier avec nano en utilisant 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 changements :
Modifier la valeur de
GRUB_TIMEOUT: Localisez la ligne qui commence parGRUB_TIMEOUT. Elle est probablement réglée sur1. Utilisez les touches fléchées pour déplacer le curseur sur cette ligne et remplacez la valeur1par15. Cela fera en sorte que le menu GRUB2 attende 15 secondes avant de démarrer automatiquement.La ligne devrait ressembler à ceci après votre modification :
GRUB_TIMEOUT=15Modifier le paramètre
GRUB_DEFAULT: Trouvez la ligne qui commence parGRUB_DEFAULT. Sa valeur est peut-êtresaved. Remplacez cette valeur par0. DéfinirGRUB_DEFAULT=0indique à GRUB2 de lancer automatiquement la première entrée de la liste du menu (la liste est indexée à partir de zéro, donc0correspond à 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 changements. nanovous demandera de confirmer le nom du fichier à enregistrer. Appuyez simplement surEntrée.- 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 changements de configuration de GRUB2
Dans cette étape, vous appliquerez les changements de configuration effectués précédemment et apprendrez à 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 et les scripts 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 un résultat similaire à celui-ci :
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
Cette commande scanne 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 changements de configuration
Vérifions que vos changements ont été correctement appliqués à 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 un résultat affichant vos nouvelles valeurs :
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 modifications :
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 des techniques de dépannage essentielles pour les configurations GRUB2 et comprendrez comment valider vos changements. 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 systèmes en production.
Vérifier la syntaxe de la configuration GRUB2
Vérifiez que votre configuration GRUB2 ne contient aucune erreur de syntaxe en utilisant le vérificateur de syntaxe intégré :
sudo grub2-script-check /boot/grub2/grub.cfg
S'il n'y a aucune erreur, 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 des répertoires de GRUB2
Explorez la structure des répertoires de configuration de GRUB2 pour comprendre son fonctionnement. Notez que ce répertoire nécessite des privilèges root pour être consulté :
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 l'ordre d'exécution. Vous verrez divers scripts tels que :
00_header: Définit la configuration de base de GRUB200_tuned: Configurations spécifiques à Tuned01_users: Configurations utilisateur10_linux: Recherche et ajoute les noyaux Linux20_linux_xen: Support de l'hyperviseur Xen30_os-prober: Recherche d'autres systèmes d'exploitation40_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.
Afficher 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 des entrées de menu et les entrées de menu réelles. Le résultat peut inclure à la fois des variables de configuration (comme menuentry_id_option) et des entrées de menu de démarrage réelles. Recherchez les lignes qui contiennent des définitions complètes d'entrées de menu.
Vérifier les paramètres de délai d'attente et par défaut
Vérifiez que vos paramètres de délai d'attente et 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 d'attente et par défaut dans le fichier de configuration. C'est normal, car GRUB2 utilise différentes valeurs de délai d'attente selon les scénarios :
- Délai d'attente principal (généralement 15 secondes comme configuré)
- Délais d'attente conditionnels pour des situations spéciales
- Différents styles de délai d'attente (menu, masqué)
Les paramètres clés à vérifier sont :
set default="0"- Définit la première entrée du menu comme valeur par défautset timeout=15- Définit le délai d'attente principal du menu à 15 secondes
En savoir plus sur la récupération de GRUB2
Comprendre la récupération de GRUB2 est essentiel pour résoudre les problèmes de démarrage. En cas d'urgence, vous pouvez :
- Accéder à la ligne de commande GRUB2 : Appuyez sur
cdans le menu GRUB2 pour entrer en mode ligne de commande - Modifier les entrées de démarrage : Appuyez sur
epour modifier une entrée de démarrage avant de lancer le système - Utiliser le mode de secours (rescue mode) : Si GRUB2 ne trouve pas sa configuration, il bascule en mode de secours
Les commandes de récupération courantes incluent :
ls: Lister les partitions et fichiers disponiblesset root=(hd0,1): Définir la partition racinelinux /boot/vmlinuz root=/dev/sda1: Charger un noyauboot: Lancer le processus de démarrage
Vérification finale de la configuration
Effectuons une vérification finale 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 :
- Modification du délai d'attente et des paramètres de démarrage par défaut de GRUB2
- Application des changements de configuration à l'aide de
grub2-mkconfig - Apprentissage de la vérification et du dépannage des configurations GRUB2
- Création de procédures de sauvegarde pour les fichiers de démarrage critiques
- Compréhension de la structure des répertoires GRUB2 et des options de récupération
- Acquisition de compétences pour valider les configurations avant le redémarrage du système
Votre configuration GRUB2 est désormais correctement personnalisée avec un délai d'attente de 15 secondes et la première entrée du menu 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 ce laboratoire 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, ainsi que la mise en œuvre de procédures de vérification et de sauvegarde appropriées. Vous avez également appris des techniques de dépannage essentielles, notamment 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.
Le laboratoire 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é à valider les configurations GRUB2 avant de les appliquer à des systèmes en production. Vous avez appris à utiliser des commandes comme grub2-script-check pour la validation de la syntaxe et diverses commandes grep pour vérifier que vos changements ont été correctement appliqués aux fichiers de configuration générés.
Ces compétences vous préparent à gérer les scénarios de configuration de démarrage avec confiance et à résoudre efficacement les problèmes liés au démarrage dans les environnements Linux d'entreprise. Les techniques de vérification que vous avez pratiquées sont particulièrement précieuses pour garantir que les configurations GRUB2 sont correctes avant de redémarrer des systèmes en production.



