Traté de actualizar mi archivo de configuración de grub para agotar el tiempo a valor 0, por lo que el sistema operativo se inicia rápidamente. Modifiqué el /etc/default/grubarchivo de configuración en mi Ubuntu 18.04 y luego ejecuté:
sudo update-grub
Y no funcionó. También corrí:
sudo grub-mkconfig
sudo update-grub
Pero no funcionaron.
Busqué mucho en la web para resolver este problema, pero todas las guías dicen que ejecute el comando update-grub para actualizar grub por /etc/default/grubarchivo de configuración. No sé si es Ubuntu 18.04 que maneja los archivos grub de una manera diferente, pero no puedo actualizar mi grub con mis parámetros.
Este es mi /etc/default/grubarchivo:
# 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"

Respuestas:
En el
/boot/grub/grub.cfgarchivo hay una condición, casi al final del archivo, que establece el tiempo de espera en 10 si el tiempo de espera se establece en 0. En otras palabras, si establece el tiempo de espera en 0 en su/etc/default/gruby luego actualiza grub, la condición anterior restablecerlo a 10 segundos.Sin embargo,
/boot/grub/grub.cfges un archivo de solo lectura y no puedo eliminar esa condición. Hice algunas pruebas con diferentes valores del tiempo de espera en/etc/default/grub. Intenté con 1ms (0.001), 0.1s y 1s y descubrí que los valores por debajo de 1 (como 0.1 y 0.001) funcionan de la misma manera y casi como el tiempo de espera establecido en 0.fuente
work in the same way and almost like timeouteso se debe a que las matemáticas en bash solo admiten enteros. El tiempo de espera más corto que marcaría la diferencia es1.En mi caso, el problema era que mi sistema no admitía "recordfail", lo que provocaba que se agregara un bloque separado al grub.cfg que por defecto tiene un tiempo de espera de 30 segundos. El código relevante en
/etc/grub.d/00_header:La solución es simplemente agregar un valor para
GRUB_RECORDFAIL_TIMEOUTin/etc/default/gruby ejecutarupdate-grubnuevamente. Por ejemplo:fuente
Como dicen las otras respuestas, descomenta
GRUB_HIDDEN_TIMEOUTy correupdate-grub. Luego comente elsección en
/boot/grub/grub.cfg. En vim, puede anular la propiedad de solo lectura con un signo de exclamación:x!. O puedes corrertener temporalmente permiso de escritura mientras edita el archivo.
fuente
/boot/grub/grub.cfgse recreará con la condición anterior.Se puede establecer
GRUB_TIMEOUTa0.El valor de tiempo de espera de sobrescritura de parte se escribe en
ajust_timeoutfunción en la parte superior de/etc/grub.d/30_os-prober.Por lo tanto, puede establecer el valor editando el archivo y comentando if-block.
fuente
Se puede establecer
GRUB_TIMEOUTa-1.fuente
info -f grub -n 'Simple configurationDescomenta
GRUB_HIDDEN_TIMEOUT=0y corre deupdate-grubnuevo.fuente
GRUB_HIDDEN_TIMEOUT=-1trabajó en Ubuntu 18.10.Simplemente podemos agregar la línea
a
/etc/grub.d/40_custom, hacer que el archivo ejecutable cony correr
para generar el nuevo
/boot/grub/grub.cfgarchivo. Elset timeoutcomando que agregamos es el últimoset timeoutcomando/boot/grub/grub.cfgahora, eso es lo que cuenta.fuente
La solución es agregar
a
/etc/default/grub.Todas las demás soluciones se restablecerán en las actualizaciones de grub.
fuente