« Pour modifier GRUB, il suffit d’éditer directement /boot/grub/grub.cfg. »
Ce fichier est généralement généré. Une modification directe peut être écrasée au prochain update et rend le changement difficile à reproduire.
01Identifie les emplacements
test -f /etc/default/grub && sed -n '1,80p' /etc/default/grub
find /boot -maxdepth 3 -type f ( -name 'grub.cfg' -o -name 'grubenv' ) -print 2>/dev/null
ls -ld /sys/firmware/efi 2>/dev/null || true
Sur Debian/Ubuntu, les sources incluent généralement /etc/default/grub et les scripts de /etc/grub.d. Sur les familles RHEL, le chemin généré dépend notamment du mode BIOS ou UEFI.
02Travaille uniquement sur la copie du lab
export LAB="/tmp/soria-linux-systemd-$USER"
cp "$LAB/grub/default-grub.sample" "$LAB/grub/default-grub.work"
cp "$LAB/grub/grub.cfg.sample" "$LAB/grub/grub.cfg.work"
diff -u "$LAB/grub/grub.cfg.sample" "$LAB/grub/grub.cfg.work"
03Lis une entrée GRUB
sed -n '1,80p' "$LAB/grub/grub.cfg.work"
grep -nE '^(menuentry|[[:space:]]*(linux|linuxefi|initrd|initrdefi))' "$LAB/grub/grub.cfg.work"
menuentrylinux/linuxefiinitrd/initrdefi04Teste une modification contrôlée
sed -i 's/ ro quiet/ ro quiet systemd.unit=multi-user.target/' "$LAB/grub/grub.cfg.work"
diff -u "$LAB/grub/grub.cfg.sample" "$LAB/grub/grub.cfg.work" || true
La modification reste dans une copie. systemd.unit=multi-user.target illustre un paramètre de boot temporaire ; il ne doit pas être appliqué sans comprendre son effet.
05Valide avant génération
command -v grub-script-check
grub-script-check "$LAB/grub/grub.cfg.work"
Si l’outil n’est pas installé, conserve la copie et effectue la validation sur une VM de laboratoire équipée de GRUB2.
06Comprends la génération réelle
Les commandes usuelles diffèrent selon la distribution :
command -v update-grub || true
command -v grub-mkconfig || true
command -v grub2-mkconfig || true
Ne les exécute qu’après avoir identifié le chemin de sortie correct, créé un snapshot, vérifié l’accès console et sauvegardé les sources. Le lab n’exécute aucune génération réelle.
07Prépare le rollback
Rédige une fiche de changement GRUB
Inclue objectif, source modifiée, fichier généré attendu, commande de validation, snapshot, accès console, test au prochain boot, entrée précédente conservée et procédure de retour arrière.
✓Ce que tu retiens
GRUB se gère à partir de sources reproductibles. Le fichier généré se lit et se valide, mais ne doit pas devenir la source de vérité. Tout changement de boot exige une voie de récupération indépendante.