web-dev-qa-db-fra.com

Temps d’attente 10 secondes après l’édition sur "0" dans / etc / default / grub?

En utilisant toutes les solutions décrites sur ce site, la définition du temps d’attente du menu Grub à zéro ne fonctionne pas.

J'ai fait ce qui suit:

Sudo cp /etc/default/grub /etc/default/grub.old    
Sudo gedit /etc/default/grub

Non commenté cette ligne, par instruction.

GRUB_HIDDEN_TIMEOUT="0"

Définissez cette ligne, par instruction.

GRUB_TIMEOUT="0"

/ etc/default/grub ressemble maintenant à ceci:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg. 
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="0"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Après avoir édité le fichier / etc/default/grub ->

Sudo update-grub

Après le redémarrage, le temps d’attente de Grub est toujours réglé sur 10 secondes.

J'ai pu obtenir le temps d'attente d'une seconde avec un simple changement. Edité ces deux lignes dans / etc/default/grub

#GRUB_HIDDEN_TIMEOUT="0"

GRUB_TIMEOUT="1"  

Commenté le premier retour à la valeur par défaut et définir GRUB_TIMEOUT à "1".

Après,

Sudo update-grub

Cette solution fonctionne, mais ma question est la suivante:

Où est l'interruption qui réinitialise la valeur TIMEOUT à 10 secondes lorsque GRUB-TIMEOUT est défini sur "0".

Peut-être l’un des tests "IF" dans grub.cfg ??

5
RCF

Ceci est un bug . Le problème est dans le fichier /etc/grub.d/30_os-prober.

Comme présenté ici , une solution consiste à ajouter les fichiers /etc/grub.d/25_pre-os-prober et /etc/grub.d/35_post-os-prober.

Les deux fichiers doivent également être marqués comme exécutables pour fonctionner.

Après avoir ajouté ces deux fichiers, vos modifications de la variable GRUB_TIMEOUT dans /etc/default/grub devraient fonctionner comme prévu.

Si vous ne démarrez pas simultanément, une autre solution consiste à désinstaller os-prober.

25_pre-os-prober:

#! /bin/sh
# file: /etc/grub.d/25_pre-os-prober
set -e

# Save the $timeout and $timeout_style values set by /etc/grub.d/00_header
# before /etc/grub.d/30_os-prober messes them up.

cat << EOF
set timeout_bak=\${timeout}
set timeout_style_bak=\${timeout_style}
EOF

35_post-os-prober

#! /bin/sh
# file: /etc/grub.d/35_post-os-prober
set -e

# Reset $timeout and $timeout_style to their original values
# set by /etc/grub.d/00_header before /etc/grub.d/30_os-prober messed them up.

cat << EOF
set timeout=\${timeout_bak}
set timeout_style=\${timeout_style_bak}
EOF
5
edwin

Si vous lisez la documentation sur info -f grub -n 'Simple configuration', il est indiqué que GRUB_HIDDEN_TIMEOUT_* est obsolète.

Pourriez-vous essayer d'utiliser plutôt dans /etc/default/grub:

GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
#GRUB_HIDDEN_TIMEOUT="0"
#GRUB_HIDDEN_TIMEOUT_QUIET="true"
# rest of file unchanged

Courir

Sudo update-grub

et voir si cela fonctionne ou pas.

Vous pourriez vérifier dans /boot/grub/grub.cfg rechercher délai d'attente que la mise à jour a été correctement effectuée.

2
solsTiCe

J'ai toujours réussi à obtenir un temps de 0 seconde, bien qu'un temps de 1 seconde ne soit pas beaucoup plus de temps perdu. Essayez de changer cette ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"

pour ça:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Je ne vois rien dans ce fichier de configuration qui semble dérégler, mais vous pouvez essayer ceci si vous êtes désespéré pour sauver 1 seconde pendant le temps de démarrage.

0
Daniel