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/grub
archivo 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/grub
archivo 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/grub
archivo:
# 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.cfg
archivo 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/grub
y luego actualiza grub, la condición anterior restablecerlo a 10 segundos.Sin embargo,
/boot/grub/grub.cfg
es 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 timeout
eso 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_TIMEOUT
in/etc/default/grub
y ejecutarupdate-grub
nuevamente. Por ejemplo:fuente
Como dicen las otras respuestas, descomenta
GRUB_HIDDEN_TIMEOUT
y 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.cfg
se recreará con la condición anterior.Se puede establecer
GRUB_TIMEOUT
a0
.El valor de tiempo de espera de sobrescritura de parte se escribe en
ajust_timeout
funció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_TIMEOUT
a-1
.fuente
info -f grub -n 'Simple configuration
Descomenta
GRUB_HIDDEN_TIMEOUT=0
y corre deupdate-grub
nuevo.fuente
GRUB_HIDDEN_TIMEOUT=-1
trabajó 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.cfg
archivo. Elset timeout
comando que agregamos es el últimoset timeout
comando/boot/grub/grub.cfg
ahora, 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