Mon Ubuntu avait toujours un délai d'expiration de 30 secondes, que j'aurais défini une valeur ou non. Voici comment j'ai découvert que recordfail était la valeur manquante .
1. Vérifiez le script grub réel /boot/grub/grub.cfg
À mon humble avis, la meilleure façon de vérifier ce que fera Grub est d'ouvrir /boot/grub/grub.cfg
. Il s'agit du script généré automatiquement à l' grub-mkconfig
aide de modèles /etc/grub.d
et de paramètres de /etc/default/grub
.
Autour de la ligne 109, vous verrez voir quelque chose comme:
108 if [ "${recordfail}" = 1 ] ; then
109 set timeout=30 # Note here this value
110 else
111 if [ x$feature_timeout_style = xy ] ; then
112 set timeout_style=hidden
113 set timeout=3
114 # Fallback hidden-timeout code in case the timeout_style feature is
115 # unavailable.
116 elif sleep --interruptible 3 ; then
117 set timeout=0
118 fi
119 fi
Dans mon cas, à l'aide de ce script généré, j'ai pu découvrir que la recordfail
variable n'était pas définie.
2. Si la recordfail
variable n'est pas définie, définissez-la
Ouvrez /etc/default/grub
dans votre éditeur de texte préféré (par exemple vim), puis définissez la variable GRUB_RECORDFAIL_TIMEOUT
sur une valeur donnée, par exemple 5 secondes.
Votre fichier de configuration devrait ressembler à:
GRUB_DEFAULT=0
GRUB_TIMEOUT=3
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_RECORDFAIL_TIMEOUT=5
3. Mettez à jour la configuration pour fonctionner avec update-grub
Dernière étape, mettez à jour la configuration avec laquelle exécuter update-grub
. Pour l'instant, GRUB2 utilisera le délai défini. Cette commande régénérera le /boot/grub.cfg
fichier.
4. Vérifiez le résultat du script généré
Encore une fois, ouvrez /boot/grub.cfg
et vérifiez le résultat autour de la ligne 109:
108 if [ "${recordfail}" = 1 ] ; then
109 set timeout=5 # Note here this value
110 else
111 if [ x$feature_timeout_style = xy ] ; then
112 set timeout_style=hidden
113 set timeout=3
114 # Fallback hidden-timeout code in case the timeout_style feature is
115 # unavailable.
116 elif sleep --interruptible 3 ; then
117 set timeout=0
118 fi
119 fi
Notez que la valeur à la ligne 109 est désormais 5 au lieu de 30 comme auparavant.