Haga que grub mantenga su arranque predeterminado en las actualizaciones del kernel

11

Arranco dos veces mi máquina y quiero que se inicie por defecto en Windows para que cada vez que reinicie la máquina de forma remota desde mi hogar pueda volver a Windows (en lugar de Ubuntu).

El problema es que cada vez que Ubuntu actualiza el kernel, tengo que restablecer el elemento de arranque predeterminado de grub a Windows. Esto se debe a que el cargador del menú de grub usa posiciones, es decir, 6 para que el SO predeterminado arranque. Y cuando Ubuntu instala un nuevo núcleo, cambia ese orden.

Estoy buscando una forma de configurar grub para recordar su elemento de arranque predeterminado en las actualizaciones del kernel.

reprogramador
fuente

Respuestas:

9

Grub 1 (Ubuntu 9.04 y versiones anteriores)

Creo que la forma más fácil de hacer esto es mover la entrada de arranque de Windows sobre las entradas de Ubuntu /boot/grub/menu.lst. Por defecto, el archivo de configuración de Grub se presenta así:

  1. opciones basicas
  2. configuración del núcleo debian auto-magic (incluidas utilidades como memtest86 + por defecto)
  3. otros sistemas operativos detectados

La sección 2 está delimitada por estas líneas en el archivo de configuración:

### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST

Las entradas para sistemas operativos autodetectados (por ejemplo, Windows) se colocan después de esta sección. Cuando instala un nuevo núcleo, la sección 2 es la única sección que se modifica. Por lo tanto, mover el sistema operativo autodetectado a algún lugar antes de la BEGINlínea lo colocará donde el número de entrada no cambiará cuando se instale un nuevo núcleo.


Grub 2 (Ubuntu 9.10 y posterior)

Con Grub2, todo el archivo de configuración se crea de nuevo cada vez que update-grubse ejecuta, por lo que la edición /boot/grub/grub.cfgno será una solución permanente. Los archivos /etc/default/gruby las secuencias de comandos manejan cómo se genera ese archivo /etc/grub.d/*. Por lo tanto, modificamos la configuración modificando los archivos que controlan secciones individuales del archivo de configuración y luego update-grubvolviendo a ejecutarlos .

Mi /etc/grub.dincluye estos archivos:

  • 00_header
  • 05_debian_theme
  • 10_hurd
  • 10_linux
  • 20_memtest86 +
  • 21_memtest86
  • 30_os-prober
  • 40_personalizado

Estos son shellscripts que consiguen ejecutan con el fin de generar el archivo de configuración. La entrada de arranque de Windows es generada por 30_os-prober, que se ejecuta después de que se generen las entradas de arranque de Linux 10_linux. Así que solo cambie el nombre 30_os-probera algo menor que 10 y vuelva a ejecutarupdate-grub

mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub

Ahora su entrada de Windows debería ser la primera entrada, y puede configurarla como entrada de arranque predeterminada ( GRUB_DEFAULT=) en /etc/default/grub.

quijote curandero
fuente
2

Siga las instrucciones en mi blog aquí para usar el cargador de arranque de Windows limpio para su trabajo. Lo uso ahora, y cuando inicio la PC, tengo dos opciones:

Windows Vista Ubuntu 10.04

No hay otro desorden. También puede configurar muchas opciones diferentes para ello. Si no presiono nada durante 5 segundos, Windows se inicia.

Buena suerte.

Antrikshy
fuente
ese enlace está casi muerto
tshepang