GRUB2.- Cambiar el sistema operativo de arranque por defecto

  • admin 

Cambiar el sistema operativo de arranque por defecto.

Paso 1.- Conocer cual es el orden de las opciones de arranque en el grub2.

Podemos fijarnos cual es el orden de las opciones del menú cuando arranca el grub2 y contar desde cero (0) y de arriba hacia abajo. O abrimos el archivo /boot/grub/grub.cfg sin permisos de root, buscamos cada línea que comienza con menuentry; y ya que la tenemos localizadas contamos de la misma manera, desde 0 y de arriba hacia abajo.

Importante.- Se debe de abrir el archivo /boot/grub/grub.cfg sin permisos de root porque ese no se modifica. Esta generado automáticamente por update-grub (también se le llama con update-grub2 y /usr/sbin/grub-mkconfig, las tres son la mis cosa) cuando usamos templates de /etc/grub.d y/o cambiamos el archivo /etc/default/grub

Ejemplo:

Mis opciones de arranque en el grub2 están en este orden y junto a ellas le puse el número que le toca en GRUB_DEFAULT para arrancar desde ahí:

0 —– Ubuntu, Linux 2.6.31-14-generic
1 —– Ubuntu, Linux 2.6.31-14-generic (recovery mode)
2 —– Memory test (memtest86+)
3 —– Memory test (memtest86+, serial console 115200)
4 —– Ubuntu 8.04.2, kernel 2.6.24-24-generic (on /dev/sda1)
5 —– Ubuntu 8.04.2, kernel 2.6.24-24-generic (recovery mode) (on /dev/sda1)
6 —– Ubuntu 8.04.2, memtest86+ (on /dev/sda1)

Paso 2.- Abrimos el archivo /etc/default/grub y cambiamos la línea GRUB_DEFAULT. Le cambiamos el número que tiene por el que tiene la opción en el grub2 con la que va a arrancar por defecto y guardamos.

Abrimos el archivo con esta orden:

sudo nano /etc/default/grub

Ejemplo:

Quiero que arranque con el Ubuntu 8.04.2, kernel 2.6.24-24-generic (recovery mode) (on /dev/sda1) y como le toca el 5 la línea GRUB_DEFAULT queda:

GRUB_DEFAULT=5

Nota.- Para cambiar el archivo /etc/default/grub y evitarnos problemas es mejor usar el editor nano porque así evitamos introducir caracteres extraños y muchas veces invisibles en el código.

Paso 3.- Actualice el archivo /boot/grub/grub.cfg; ejecutando en consola update-grub

En la terminal cualquiera de estas dos:
sudo update-grub
sudo update-grub2
Nota: Necesario crear alias.

`alias update-grub=’grub2-mkconfig -o /boot/grub2/grub.cfg’`

This means that, when we write update-grub as administrator in terminal (in current session), it executes grub2-mkconfig -o /boot/grub2/grub.cfg command. Unfortunately, this type of alias is available for only current session.

So if you want to make alias permanent, follow these steps:

  • Open terminal
  • Type command:
  • gedit .bashrc

  • You can write the following command after ‘# ./etc/bashrc’ line or at the end of the document. Don’t write it in the middle because there are conditional situations so you can break everything:
  • alias update-grub=’sudo grub2-mkconfig -o /boot/grub2/grub.cfg’