J'ai essayé de mettre à jour mon fichier de configuration grub pour un délai d'expiration à la valeur 0, donc le système d'exploitation démarre rapidement. J'ai modifié le /etc/default/grub
fichier de configuration sur mon Ubuntu 18.04, puis j'ai exécuté:
sudo update-grub
et ça n'a pas marché. J'ai aussi couru:
sudo grub-mkconfig
sudo update-grub
mais ils n'ont pas fonctionné.
J'ai beaucoup cherché sur le Web pour résoudre ce problème, mais tous les guides disent d'exécuter la commande update-grub pour mettre à jour grub par /etc/default/grub
fichier de configuration. Je ne sais pas si Ubuntu 18.04 gère les fichiers grub d'une manière différente, mais je ne peux pas mettre à jour mon grub avec mes paramètres.
Voici mon /etc/default/grub
dossier:
# 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"
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"
Réponses:
Dans le
/boot/grub/grub.cfg
fichier, il y a une condition, presque à la fin du fichier, qui définit le délai d'expiration à 10 si le délai d'expiration est défini sur 0. En d'autres termes, si vous définissez le délai d'expiration sur 0 dans votre/etc/default/grub
puis mettez à jour grub, la condition ci-dessus réinitialisez-le à 10 secondes.Cependant,
/boot/grub/grub.cfg
est un fichier en lecture seule et je ne peux pas supprimer cette condition. J'ai fait quelques tests avec différentes valeurs de timeout dans/etc/default/grub
. J'ai essayé avec 1 ms (0,001), 0,1 s et 1 s et j'ai découvert que les valeurs inférieures à 1 (comme 0,1 et 0,001) fonctionnent de la même manière et presque comme un délai d'attente défini sur 0.la source
work in the same way and almost like timeout
c'est parce que les mathématiques en bash ne prennent en charge que les entiers. Le délai le plus court qui ferait une différence est1
.Dans mon cas, le problème était que mon système ne prenait pas en charge "recordfail", ce qui provoquait l'ajout d'un bloc distinct dans le grub.cfg, qui par défaut correspond à un délai d'expiration de 30 secondes. Le code correspondant dans
/etc/grub.d/00_header
:Le correctif consiste simplement à ajouter une valeur pour
GRUB_RECORDFAIL_TIMEOUT
in/etc/default/grub
et à réexécuterupdate-grub
. Par exemple:la source
Comme le disent les autres réponses, décommentez
GRUB_HIDDEN_TIMEOUT
et courezupdate-grub
. Commentez ensuite lesection
/boot/grub/grub.cfg
. Dans vim, vous pouvez simplement remplacer la propriété en lecture seule par un point d'exclamation:x!
. Ou vous pouvez courird'avoir temporairement l'autorisation d'écriture lors de la modification du fichier.
la source
/boot/grub/grub.cfg
sera recréé avec la condition ci-dessus.Vous pouvez définir
GRUB_TIMEOUT
sur0
.La valeur de délai d'écrasement de la pièce est écrite en
ajust_timeout
fonction en haut de/etc/grub.d/30_os-prober
.Ainsi, vous pouvez définir la valeur en modifiant le fichier et en commentant if-block.
la source
Vous pouvez définir
GRUB_TIMEOUT
sur-1
.la source
info -f grub -n 'Simple configuration
Décommentez
GRUB_HIDDEN_TIMEOUT=0
et exécutez àupdate-grub
nouveau.la source
GRUB_HIDDEN_TIMEOUT=-1
travaillé sur Ubuntu 18.10.Nous pouvons simplement ajouter la ligne
pour
/etc/grub.d/40_custom
, rendre le fichier exécutable avecet courir
pour générer le nouveau
/boot/grub/grub.cfg
fichier. Laset timeout
commande-que nous avons ajoutée est la dernièreset timeout
-commande/boot/grub/grub.cfg
maintenant, c'est ce qui compte.la source
La solution est d'ajouter
à
/etc/default/grub
.Toutes les autres solutions seront réinitialisées lors des mises à jour de grub.
la source