jueves, 15 de abril de 2010

Windows como primera opción en el menú de arranque de GRUB

Resumen: si tienes algún motivo por el que quieras que Windows aparezca primero en el menú de arranque de GRUB sigue las siguientes instrucciones.

Actualización abril de 2022: Ahora GRUB soporta la opción GRUB_DEFAULT=saved que tiene un comportamiento mucho más conveniente. Verán, con esta opcioń activada, durante el siguiente encendido o reinicio, la opción predeterminada pasará a ser la última elegida por nosotros. Esto es super conveniente a la hora de actualizar Windows 10, por ejemplo. Ya saben, cuando dejamos la computadora prendida y se reinicia sola por actualización y volvemos y la encontramos en Linux. O vice versa, aunque mi Linux no se reinicia sin mi permiso pero puede ocurrir que le de reiniciar y me aleje del teclado y no esté presente para elegir SO de booteo cuando llegue el momento.

Para usar la opción saved deben editar el archivo /etc/default/grub y hacer tres cosas:

- Primero: agregar, al final, la línea GRUB_SAVEDEFAULT=true, ya que sin esto GRUB no se acordará del último SO booteado.

- Segundo: editar la línea que dice GRUB_DEFAULT=0 y cambiarla por GRUB_DEFAULT=saved

- Tercero: ejecutar update-grub para que el archivo en default se procese y se actualice la configuración en el directorio boot, sea donde sea que cada uno de nosotros lo tengamos.

Actualización febrero de 2020: Revisando entradas antiguas me di cuenta de que esta estaba muy obsoleta. En la actualidad, es mucho más seguro editar con gedit el archivo /etc/default/grub, y después ejecutar update-grub. También se recomienda respaldar primero el archivo, pero gedit debería crear una copia de manera automática. Sólo deben cambiar el número de la entrada GRUB_DEFAULT=0 que está casi al principio del archivo. Las entradas típicas de Ubuntu como modo seguro o test de memoria cuentan como un sistema operativo más, así que cuenten desde arriba empezando por cero para saber cuál número sería su Windows. En mi caso, mi Windows es la posición número 4, por lo que debo poner GRUB_DEFAULT=4 para que esa sea la entrada predeterminada.

En una terminal ejecuta los comandos: sudo nautilus

Navega hasta el directorio /etc/grub.d

Allí encontrarás los siguientes archivos:

  • 00_header
  • 05_debian_theme
  • 10_linux
  • 20_memtest86+
  • 30_os-prober
  • 40_custom
  • Readme

Renombra el archivo 10_linux y ponle 11_linux

Renombra el archivo 30_os-prober y ponle 10_os-prober

El directorio debe contener ahora los siguientes archivos:

  • 00_header
  • 05_debian_theme
  • 10_os-prober
  • 11_linux
  • 20_memtest86+
  • 40_custom
  • Readme

Cierra la ventana de Nautilus y en la terminal ejecuta el comando: sudo update-grub

Con esto debería bastar. Ahora verás que al reiniciar el PC Windows es la primera opción en el menú de arranque.

La historia larga

Algunos miembros de mi familia tienen problemas para acostumbrarse a Ubuntu. Además recientemente hay un problema con el plugin de flash que hace que algunas páginas dejen de mostrar el reproductor de un día para el otro, haciendo necesario reinstalar el plugin. Como no puedo pedirles que lo solucionen ellos mismos, y no siempre estoy yo para hacerlo, decidí que lo mejor por ahora era hacer de Windows el sistema operativo por defecto cuando alguien que no sea yo enciende el equipo.

Busqué en internet cómo cambiar el orden de las entradas del menú de GRUB. Y encontré que lo más común es editar el archivo /etc/default/grub y cambiar la opción GRUB_DEFAULT=0 para poner el lugar que ocupa la entrada de Windows 7 en lugar de 0 que es la última kernel de Ubuntu. Pero este método tiene la desventaja que cuando se actualiza la kernel la entrada que representa Windows 7 es desplazada un lugar hacia abajo, por lo que cada vez que se actualiza la kernel debes volver a editar el archivo /etc/default/grub para indicar la nueva posición que tiene Windows 7 en el menú de arranque.

Así que me puse a buscar otra solución más práctica aún. Y la encontré. Es la siguiente: presten atención al contenido del directorio /etc/grub.d. Allí veremos unos archivos que probablemente se llamen:

  • 00_header
  • 05_debian_theme
  • 10_linux
  • 20_memtest86+
  • 30_os-prober
  • 40_custom
  • Readme

Si abrimos el archivo Readme con gedit veremos la explicación de para qué son los números al principio del nombre de cada uno de esos archivos.

Bien, luego de leer el Readme es fácil deducir que para que Windows 7 aparezca primero en la lista el camino más corto es renombrar el fichero 10_linux y llamarlo 11_linux y el fichero 30_os-prober y llamarlo 10_os-prober. De esta forma se modifica el orden de las entradas en el menú de arranque de GRUB y aunque descarguemos una nueva kernel esta siempre aparecerá debajo de Windows 7. No debemos olvidar ejecutar en una terminal el comando sudo update-grub o los cambios no serán efectivos. Si no te permite renombrar los ficheros es por una cuestión de permisos, cierra todas las ventanas de Nautilus y luego en una terminal escribe sudo nautilus ahora sí navega hasta el directorio indicado y renombra los ficheros.

Actualización 20/08/2010

El problema del plugin de Flash parece estar resuelto en Ubuntu 10.04.

0 comentarios:

Publicar un comentario