¿Cómo hacer que grub2 recuerde la última opción?


102

Grub2: la documentación de Ubuntu de la comunidad dice lo siguiente:

Se puede guardar un sistema operativo ejecutando sudo grub-set-default si DEFAULT = salvado se configura en / etc / default / grub. También se puede guardar si GRUB_SAVEDEFAULT = true también se establece en / etc / default / grub. En este caso, el sistema operativo predeterminado permanece hasta que se seleccione manualmente un nuevo sistema operativo del menú GRUB 2 o se ejecute el comando grub-set-default.

Pongo las líneas DEFAULT=savedY GRUB_SAVEDEFAULT=trueen /etc/default/grub, y corrí sudo grub-set-default. Aquí está la salida:

$ sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <bug-grub@gnu.org>.

¿No estoy siguiendo la documentación correctamente? ¿Cuál es la forma correcta de hacer esto?


2
Después de cambiar el archivo grub, es mejor que siempre ejecutes " sudo update-grub".
— Julien Chau

Simplemente ejecute: sudo grub-set-default guardado Es así de simple.
— T. Coles

Respuestas:


153

La documentación en este caso es incorrecta. Todas las variables en /etc/default/grubprincipio con GRUB_, por lo que es GRUB_DEFAULT=saved, no DEFAULT=saved . He corregido el wiki de Ubuntu para reflejar eso.

El manual oficial de grub describe esto correctamente: http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Ponga lo siguiente en /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Entonces corre:

sudo update-grub

44
+1 para el enlace, he editado su respuesta con la solución que funcionó para mí (que obtuve del enlace que proporcionó)
— Jay Sullivan

El enlace en esta respuesta está roto. 'Página 404'.
— sdlins

¿Debo eliminar la línea existente GRUB_DEFAULT=0?
— usuario25

@ user25 yes remove GRUB_DEFAULT=0, la línea debería leerGRUB_DEFAULT=saved
— ctrl-alt-delor

4

En mi caso, no funcionaba para las entradas definidas a través de las /etc/grub.d/40_customcuales faltaba la savedefaultlínea.

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}

3

Está olvidando el número (es decir, "ENTRADA es un número o un título de elemento de menú" en su texto).

sudo grub-set-default 1

para que la opción 1 sea la predeterminada.

Ejecute siempresudo update-grub después de modificar el /etc/default/grubarchivo para aplicar los cambios.


77
Esto no funcionó para mí, solo configura el menú de GRUB para que apunte a la entrada n. ° 1, no la última opción
— Jay Sullivan

Si su opción de menú estaría enterrada en un submenú, como dentro de 'Opciones avanzadas para ubuntu', el formato es 'submenu-index> submenu-item-index'. Por lo tanto, deberá especificar 1> 'índice de su elección'. También se supone que puede especificar por nombre de cadena para cada selección.
— Epu

2

savedefault no funcionará si no hay un encabezado adecuado en grub.cfg generado automáticamente

Para generar el encabezado adecuado, debe configurarlo en / etc / default / grub

GRUB_DEFAULT=saved

y haga grub-mkconfig para sustituir su copia de grub.cfg

grub-mkconfig -o /boot/grub.cfg

savedefault de Grub 2.02 no requiere ningún argumento adicional

Puede ver la fuente de savedefault en grub.cfg


Mire la respuesta de @ccpizza, puede ser esto útil: askubuntu.com/a/674148/97838
— Hibou57
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.