Estoy ejecutando Ubuntu 12.04.
No puedo por mi vida hacer que el menú de grub (con opciones) desaparezca.
Me gustaría que se inicie automáticamente en la primera opción. He editado / etc / default / grub para que tenga el siguiente aspecto:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Después de esto, ejecuté sudo update-grub . Luego me di cuenta de que tenía grub 2, así que ejecuté sudo update-grub2 (ambos hacen que parezca que crean el archivo grub.cfg con éxito.
Reinicio mi computadora y vuelve al menú de grub y se queda allí hasta que elijo. Esto no es deseable si se va la luz ... :-)
También intenté reinstalar grub usando sudo grub-install / dev / sda , que tampoco tuvo éxito

sudo update-grubysudo update-grub2ejecuta el mismo comando. Entonces, no te preocupes por esa parte.cat /boot/grub/grub.cfgvia pastebin y comparta el enlace aquí. Esto es para ver el realgrub.cfggenerado.Respuestas:
Como señalan otras respuestas, puede ser víctima de la situación de falla de registro . La edición
/boot/grub/grub.cfgmanual debe estar fuera de discusión, ya que se genera automáticamente. Otra sugerencia que se ve es editar,/etc/grub.d/00_headerpero luego podría solicitar la intervención del usuario en las actualizaciones.La solución más fácil es definir la variable indocumentada
GRUB_RECORDFAIL_TIMEOUTen/etc/default/grub. Por ejemplo:Editar
Vea esta respuesta para más detalles.
fuente
update-grubpara generar el/boot/grub/grub.cfgarchivo actualizadorecordfail! Desea un tiempo de espera más largo si hubo un error al arrancar. Para borrar manualmente, todo lo que necesita es la respuesta de @ sniffski:grub-editenv create. Sin embargo, podría haber alguna otra razón por la querecordfailse está preparando ...Utilizar:
Esto borrará el archivo de entorno grub y debería iniciarse claramente la próxima vez.
fuente
grub-editenv - unset recordfailfunciona igual de bien y no afecta a otros entornos que podrían establecersecambia el
GRUB_TIMEOUT=10a ceroEste es mi archivo de configuración:
Primero, escriba el nombre del sistema operativo en el que desea iniciar directamente. El mío es Ubuntu. Entonces lo escribirás como en el
GRUB_DEFAULT="Ubuntu, with Linux x.x.x-xx-generic-pae"luego usé 1 segundo en el
GRUB_TIMEOUT=para darme 1 segundo antes de seleccionar el sistema operativo predeterminado (si necesito arrancar a otro sistema operativo, por ejemplo, Xubuntu)en cuanto a
GRUB_CMDLINE_LINUX_DEFAULT=""si lo eliminasquite splash, te mostrará textos en lugar del logotipo de Ubuntu durante el proceso de arranque (me gusta de esta manera: P)Hay otra solución:
Hay un programa llamado boot-repair que ayuda a configurar con una GUI.
como puedes ver en la imagen. hay una caja llamada
Unhide boot menu. Simplemente desmarca la casilla y presiona appy. Puede acceder a esto haciendo clic en la flecha de opciones avanzadas.instalar reparación de arranque
y luego ejecutar
boot-reapirdesde la terminal o desde el tablero.3ra solución:
Puede usar una aplicación GUI fácil de usar llamada grub-customizer para hacer su vida un poco más fácil. Como su nombre lo indica, puede hacer mucho más que simplemente reordenar las entradas del menú Grub con él.
Puedes instalarlo de la siguiente manera:
Como puede ver en el menú hay una
show menuopción. Desbloquee y vea si funcionafuente
grub-updatedespués de cambiar los valores?GRUB_HIDDEN_TIMEOUTy lasGRUB_HIDDEN_TIMEOUT_QUIETopciones están en desuso. Así que comente esos.Para omitir el menú y mostrarlo cuando solo se mantiene presionado
ESC, agregue:Muestra
/etc/default/grub'GRUB_TIMEOUT_STYLE' : si esta opción está configurada en 'cuenta regresiva' u 'oculta', entonces, antes de mostrar el menú, GRUB esperará a que caduque el tiempo de espera establecido por 'GRUB_TIMEOUT'. Si se presiona ESC durante ese tiempo, mostrará el menú y esperará la entrada.
fuente
Podría resolver ese problema agregando la siguiente línea a
/etc/default/grub... y luego corriendo
sudo update-grub.Explicación: El archivo
/boot/grub/grub.cfgse genera al ejecutarseupdate-grubutilizando los archivos en/etc/grub.dy/etc/default/grub. Por lo tanto, no debe editargrub.cfg, pero puede ser útil averiguar por qué está configurado el tiempo de espera. Busque líneas que comienzan conset timeout=y luego busque la siguiente línea que comienza con### END /etc/grub.d/ .... Esto podría darle pistas sobre qué script establece el tiempo de espera. En mi caso, el script os-prober fue responsable del tiempo de espera. Resulta que hay un tiempo de espera codificado de 10 segundos en el/etc/grup.d/30_os-proberque no se estableceGRUB_TIMEOUT. Puede deshabilitar os-proberGRUB_DISABLE_OS_PROBER=trueo editar/etc/grup.d/30_os-probero usarGRUB_OS_PROBER_SKIP_LISTpara omitir algunas de sus particiones de disco duro (30_os-prober se usa cuando se encuentra otro sistema operativo en algún lugar). Vea estas preguntas y respuestas para más detalles. Como otros señalaron, otra razón podría ser el error de registro , en este caso establecidoGRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT.fuente
Tuve el problema de que el menú grub aparecía siempre después de usar AUFS (unionfs) para poner el sistema de archivos raíz de solo lectura. Físicamente tenía que presionar la tecla Intro en el servidor después de cada arranque. Seguí las instrucciones aquí: deshabilitar el menú de grub 2 . Desde entonces, no tuve ningún problema en absoluto.
Edite /boot/grub/grub.cfg y cambie:
A
fuente
set timeout=-1No es lo mismo queset timeout=1. El primero es "esperar para siempre", y el segundo es "esperar un segundo".Mi Ubuntu siempre tuvo un tiempo de espera de 30 segundos, ya sea que hubiera establecido un valor o no. Aquí después es cómo descubrí que recordfail era el valor faltante .
1. Verifique el script de grub real
/boot/grub/grub.cfgEn mi humilde opinión, la mejor manera de verificar lo que hará Grub, es abrir
/boot/grub/grub.cfg. Es el script generado automáticamente mediante elgrub-mkconfiguso de plantillas/etc/grub.dy configuraciones desde/etc/default/grub.Alrededor de la línea 109, verá ver algo como:
En mi caso, con la ayuda de ese script generado, pude descubrir que la
recordfailvariable no estaba configurada.2. Si la
recordfailvariable no está configurada, configúrelaAbra
/etc/default/gruben su editor de texto favorito (por ejemplo, vim) y luego configure la variableGRUB_RECORDFAIL_TIMEOUTen un valor dado, por ejemplo 5 segundos.Su archivo de configuración debería verse así:
3. Actualice la configuración para ejecutar con
update-grubÚltimo paso, actualice la configuración para ejecutar
update-grub. Por ahora, GRUB2 usará el tiempo de espera establecido. Este comando regenerará el/boot/grub.cfgarchivo.4. Verifique el resultado del script generado
Nuevamente, abra
/boot/grub.cfgy verifique el resultado alrededor de la línea 109:Tenga en cuenta que el valor en la línea 109 ahora es 5 en lugar de 30 como antes.
fuente