CyberSDF

Reprenez la main sur votre numérique

Personnaliser GRUB sur Debian : menu, fond et retour arrière

Disque de démarrage et fiche de configuration GRUB sur un clavier sombre

Verdict : pour modifier l’apparence de GRUB sur Debian, changez /etc/default/grub, puis régénérez /boot/grub/grub.cfg avec update-grub. Utilisez GRUB_BACKGROUND pour un fond ou GRUB_THEME pour un thème. Gardez grub-install pour l’installation du chargeur, après identification du mode BIOS ou UEFI.

Sommaire
  1. GRUB Legacy n’est plus la procédure à copier
  2. Identifier le firmware avant toute écriture
  3. Rendre le menu visible et le délai réversible
  4. Placer un fond avec GRUB_BACKGROUND
  5. Choisir un thème quand un simple fond ne suffit pas
  6. Contrôler la version et la sortie avant de redémarrer
  7. Réinstaller le chargeur est une autre opération
  8. Restaurer le fichier quand le résultat ne convient pas
  9. Relier GRUB au reste de l’administration Debian

Les anciennes recettes d’image dans GRUB et d’écran graphique au démarrage concernent deux couches différentes. Sur une Debian actuelle, ces réglages passent par GRUB 2 : le menu est généré, l’image doit être lisible depuis la partition de démarrage et le résultat se contrôle avant de redémarrer. Cette séparation évite de réinstaller le chargeur alors qu’un réglage d’affichage suffisait.

GRUB Legacy n’est plus la procédure à copier

Les anciennes captures de ce sujet utilisaient /boot/grub/menu.lst, la directive splashimage et, pour l’écran de démarrage des services, splashy. Ces éléments appartiennent à des générations différentes de GRUB et de l’amorçage. La documentation Debian rappelle que GRUB 2 est le chargeur fourni par défaut et que la configuration se règle avec /etc/default/grub ou les scripts de /etc/grub.d/, suivis de update-grub.

GRUB lit ensuite une configuration construite dans /boot/grub/grub.cfg. Ce fichier peut contenir le texte attendu sans être le bon endroit pour conserver une modification : le prochain appel de update-grub le régénère. /boot/grub/grub.cfg est une sortie générée, pas le fichier à éditer pour garder un réglage. Consultez la documentation Debian sur GRUB pour la distinction entre configuration et installation.

Identifier le firmware avant toute écriture

Commencez par lire le mode de démarrage et les montages. Ces commandes ne modifient ni la configuration ni le disque :

if [ -d /sys/firmware/efi ]; then
    printf '%s\n' 'UEFI'
else
    printf '%s\n' 'BIOS ou CSM'
fi
findmnt /boot /boot/efi
lsblk -f

La présence de /sys/firmware/efi indique que le noyau courant a été lancé en UEFI. Le montage d’une partition sur /boot/efi donne une information utile, mais ne suffit pas à prouver le mode du démarrage courant, notamment depuis un système de secours ou un environnement monté. lsblk -f affiche les systèmes de fichiers et leurs UUID : lisez-les avant de désigner une cible à une commande qui écrit.

Une préférence de menu ne demande pas grub-install. En BIOS, cette commande peut écrire le chargeur dans le disque indiqué ; en UEFI, elle peut déposer des fichiers dans la partition système EFI et modifier l’entrée de démarrage. Ce sont des opérations d’installation ou de réparation, pas des réglages d’apparence.

Rendre le menu visible et le délai réversible

Conservez d’abord une copie du fichier de paramètres, puis relevez les variables déjà présentes :

sudo cp -a /etc/default/grub /etc/default/grub.avant-personnalisation
sudo grep -RInE '^(GRUB_TIMEOUT_STYLE|GRUB_TIMEOUT|GRUB_DEFAULT|GRUB_GFXMODE|GRUB_TERMINAL|GRUB_BACKGROUND|GRUB_THEME)=' /etc/default/grub /etc/default/grub.d 2>/dev/null

Si la recherche montre une valeur dans un fichier de /etc/default/grub.d, copiez ce fichier avant de l’éditer : ces fragments sont lus après /etc/default/grub et leur valeur peut l’emporter. Remplacez nom-du-fichier.cfg par le chemin relevé :

sudo cp -a /etc/default/grub.d/nom-du-fichier.cfg /etc/default/grub.d/nom-du-fichier.cfg.avant-personnalisation

Ouvrez le fichier avec sudoedit :

sudoedit /etc/default/grub

Dans le fichier qui définit déjà ces variables, ajoutez ou remplacez ces deux lignes pour afficher le menu pendant cinq secondes :

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5

GRUB_TIMEOUT_STYLE=menu demande l’affichage du menu avant le compte à rebours. Avec hidden, GRUB attend le délai sans montrer immédiatement la liste ; avec GRUB_TIMEOUT=0, il démarre l’entrée par défaut sans attendre. Ne changez pas GRUB_DEFAULT uniquement pour rendre le menu lisible : sa valeur décide aussi de l’entrée lancée par défaut.

Régénérez maintenant le fichier et contrôlez sa syntaxe :

sudo update-grub
sudo grub-script-check /boot/grub/grub.cfg

Le manuel Debian de update-grub définit cette commande comme un raccourci vers grub-mkconfig -o /boot/grub/grub.cfg. Vérifiez que la nouvelle valeur est bien générée :

grep -nE 'set timeout_style=|set timeout=' /boot/grub/grub.cfg

Une commande qui renvoie un code nul à grub-script-check confirme la syntaxe du fichier lu. Elle ne remplace pas l’essai visuel du menu : après le redémarrage, vérifiez que le menu s’affiche, que le délai correspond au réglage et que l’entrée attendue démarre.

Placer un fond avec GRUB_BACKGROUND

GRUB 2 peut charger un fond depuis un fichier accessible au moment du démarrage. Les formats reconnus par la configuration Debian de GRUB sont .png, .tga, .jpg et .jpeg. Copiez votre image dans l’arborescence de démarrage, en conservant un nom simple :

sudo install -m 0644 fond.png /boot/grub/fond.png
file /boot/grub/fond.png

Ajoutez ensuite cette variable à /etc/default/grub :

GRUB_BACKGROUND="/boot/grub/fond.png"

Si GRUB_TERMINAL=console est actif, le terminal graphique n’est pas utilisé : après avoir sauvegardé le fichier où la recherche l’a trouvé, commentez cette ligne seulement si vous savez qu’une console texte ne vous est pas nécessaire. Si une variable GRUB_THEME pointe déjà vers un thème valide, ce thème est prioritaire sur GRUB_BACKGROUND. Ne déclarez pas un fond en pensant qu’il remplacera un thème déjà chargé.

Régénérez puis cherchez l’instruction produite :

sudo update-grub
grep -n 'background_image' /boot/grub/grub.cfg
sudo grub-script-check /boot/grub/grub.cfg

Quand le chemin est accepté, la configuration contient une instruction background_image et le module de lecture correspondant. Cela confirme que GRUB a intégré le fichier ; le redémarrage permet ensuite de vérifier le cadrage, le contraste du texte et la lisibilité du menu. Une image peut être techniquement chargée et rendre les intitulés difficiles à lire : choisissez un fond peu contrasté derrière les entrées ou revenez au fond uni.

Choisir un thème quand un simple fond ne suffit pas

Un thème GRUB ne se limite pas à une image. Son fichier texte décrit la disposition du menu, les couleurs, les polices, les zones d’information et les images associées. La variable se présente ainsi :

GRUB_THEME="/boot/grub/themes/mon-theme/theme.txt"

Le chemin doit mener à un fichier réellement présent, avec les polices et les images attendues par le thème. Après sudo update-grub, cherchez set theme= dans grub.cfg, puis contrôlez la syntaxe. Le format des thèmes dans le manuel GNU GRUB détaille les composants que le fichier peut définir. Pour les variables générales et les formats d’image, lisez la section configuration simple de GNU GRUB.

Contrôler la version et la sortie avant de redémarrer

Le numéro de GRUB compte dès qu’un réglage dépend d’un thème ou d’un module graphique. Relevez-le directement sur la machine concernée :

grub-mkconfig --version
sudo grep -nE 'set timeout_style=|set timeout=|background_image|set theme=' /boot/grub/grub.cfg
sudo grub-script-check /boot/grub/grub.cfg

Le 17 septembre 2026, sur Ubuntu 24.04, grub-mkconfig --version a renvoyé grub-mkconfig (GRUB) 2.12-1ubuntu7.3. Cette version ne décrit pas votre Debian : exécutez la même commande localement avant d’appliquer un réglage qui dépend d’un thème.

Une configuration minimale contenant set timeout=5, set default=0 et une entrée de menu a passé grub-script-check avec le code de retour 0 le 17 septembre 2026. Appliquez ce contrôle à votre fichier généré, puis ouvrez le menu au prochain démarrage au lieu de lancer grub-install par habitude.

Réinstaller le chargeur est une autre opération

grub-install installe des fichiers et, selon la plateforme, écrit dans le secteur d’amorçage ou dans la partition système EFI. L’option --target choisit la plateforme, tandis que --efi-directory désigne la partition EFI montée en UEFI. En mode BIOS, l’argument final est le disque entier, pas une partition. Une erreur de cible peut rendre la machine non amorçable tout en laissant la commande se terminer.

Ne lancez donc pas cette commande pour modifier un délai, un fond ou une couleur. Si le chargeur doit réellement être réparé, identifiez le mode firmware, le disque ou la partition EFI avec les commandes de lecture précédentes et suivez la procédure adaptée à votre installation. Le manuel Debian de grub-install décrit la portée de chaque option.

Restaurer le fichier quand le résultat ne convient pas

Si le menu devient illisible ou si le délai ne vous convient pas, restaurez la copie créée avant l’édition et régénérez la sortie :

sudo cp -a /etc/default/grub.avant-personnalisation /etc/default/grub
sudo update-grub
sudo grub-script-check /boot/grub/grub.cfg

Si vous aviez installé un thème, restaurez aussi les fichiers du thème ou retirez sa variable GRUB_THEME. Si vous aviez seulement ajouté GRUB_BACKGROUND, la restauration de /etc/default/grub suffit à supprimer son usage lors de la prochaine génération ; le fichier image peut rester en place sans être appelé. Si une valeur venait d’un fichier de /etc/default/grub.d, restaurez aussi la copie de ce fichier.

Un système qui ne passe plus l’amorçage demande un support de secours et une vérification du mode firmware avant toute écriture. Ne formatez pas la partition EFI et ne choisissez pas un disque au nom approximatif pour tenter de retrouver le menu.

Relier GRUB au reste de l’administration Debian

Le rôle du hook appelé lors d’une mise à jour de noyau est détaillé dans GRUB et les mises à jour Debian. Pour préparer une installation ou vérifier une image avant d’écrire sur un support, consultez installer Debian et mettre à jour un système stable. Les commandes de lecture comme findmnt et lsblk sont expliquées dans les commandes Linux de base.

La règle à retenir tient en une ligne : modifiez les entrées prévues par GRUB, générez grub.cfg, contrôlez sa syntaxe et ne réinstallez le chargeur que pour une opération d’amorçage identifiée.