Instalar Grub en un ordenador con UEFI

En este artículo se describe como instalar el gestor de arranque Grub en un ordenador con el nuevo sistema UEFI, sucesor de BIOS. Está especialmente orientado a usuarios avanzados, sin embargo, cualquier persona encontrará explicaciones interesantes sobre el nuevo sistema UEFI.

El programa de instalación de Ubuntu 14.04 instala automáticamente Grub, sin hacer nada especial, ya sea en un ordenador con BIOS o con UEFI. Sin embargo, hay ocasiones en que es necesario instalar Grub de forma manual, por ejemplo, si otro sistema operativo se lo ha cargado. En OpenXarxes lo hacemos por un motivo diferente, instalamos Ubuntu usando una maqueta en la que previamente hemos puesto los programas y configuraciones específicos para cada cliente. Esto lo hacemos usando fsarchiver, pero claro, este programa no instala Grub, debemos hacerlo manualmente.

Veamos algunos conceptos. UEFI es, por decirlo de una manera sencilla, lo que antiguamente era BIOS, el sistema básico que permite arrancar el ordenador. https://es.wikipedia.org/wiki/Extensible_Firmware_Interface

UEFI usa un procedimiento de arranque diferente. Antiguamente, en los ordenadores con BIOS, el sistema buscaba el primer sector del disco duro, el Master Boot Record (MBR), ahí se encontraba el código de ejecución que permitía iniciar el sistema. Este sector tan solo tenía 512 bytes. Durante muchos años esto ha sido una severa limitación, que los gestores de arranque (Grub, por ejemplo) han solucionado como buenamente han podido. Ahora UEFI arranca usando toda una partición FAT32, llamada partición EFI, que suele tener entre 100 MB y 200MB, de esta manera hay mucho más espacio en disco para poder usar gestores de arranque más atractivos y funcionales. Los ordenadores con UEFI tienen la opción de arranque heredado, es decir, pueden arrancar con el procedimiento BIOS, buscando el MBR en el disco duro.

Pongámonos ahora manos a la obra. Este será el escenario que vamos a tener: teníamos instalado Ubuntu 14.04, que instaló automáticamente Grub en nuestro ordenador con UEFI, resulta que luego instalamos otro sistema operativo y éste se carga el Grub, tenemos que repararlo instalándolo manualmente.

Lo primero que hacemos es arrancar usando un LiveUSB. A continuación debemos identificar la partición EFI, usando el programa GParted. Se trata de una partición FAT32, con la marca de arranque (boot) y que normalmente tiene la etiqueta EFI, aunque a veces tiene una etiqueta diferente. Esta partición es muy importante, si se daña nuestro ordenador no arrancará y habrá que repararla.

gparted

En el ejemplo de la imagen la partición EFI es /dev/sda2 y nuestro sistema Ubuntu se encuentra en /dev/sda7 (sda8 es la partición /home). A partir de aquí vamos a instalar Grub, usaremos el método chroot (CHange ROOT) que consiste en montar la partición del sistema (sda7) estando en el LiveUSB y ejecutar comandos dentro de esa partición.

Así que lo primero que vamos a hacer es montar la partición raíz de Linux, en nuestro ejemplo es /dev/sda7:

sudo mount /dev/sda7 /mnt

A continuación, debemos montar la partición EFI dentro de la partición raíz que acabamos de montar. Para ello ejecutamos esto:

sudo mount /dev/sda2 /mnt/boot/efi/

Luego debemos enlazar carpetas especiales de Linux dentro de la partición raíz que hemos montado. Debemos ejecutar una serie de comandos:

sudo mount -t proc /proc /mnt/proc

sudo mount –bind /dev /mnt/dev

sudo mount –bind /dev/pts /mnt/dev/pts

sudo mount –bind /sys /mnt/sys

Después hay que cambiar la raíz (Change Root) desde el sistema LiveUSB hacia el sistema que hay en la partición que hemos montado. Ejecutamos:

sudo chroot /mnt

A partir de este momento todos los comandos que ejecutemos afectarán al sistema de la partición montada, y no al sistema del LiveUSB. Ejecutamos lo siguiente:

grub-install

Solamente con este comando se instalará Grub en nuestro sistema usando la partición EFI.

Si todo ha salido bien, al reiniciar el ordenador se iniciará Ubuntu. En esta imagen se muestran todos los comandos ejecutados:

Grub-Uefi

manuInstalar Grub en un ordenador con UEFI

Comments 2

  1. Paulo

    Hola, te agradezco el tutorial, siempre es bueno que la gente que tiene mayores experiencias las comenten para fomentar el conocimiento. Quisiera hacer una consulta respecto de si aplica este tutorial a mi caso, te comento, sobre una máquina con uefi, entré a «bios» y activé el modo de compatibilidad legacy, instalé win7, el muy jodido me creó dos particiones adicionales una de 100 mb. que dice sistema y la otra de poco más de 100 mb. que se llama RSA creo, era algo de Reserved System… no se qué. Luego instalé Linux, lo hice en este orden ya que siempre ha sido así para evitar reparar grub, en esta instalación cree las particiones para linux: EFI, biosGrub, /raíz, SWAP y /home, una vez terminada la instalación reinicia el equipo y pasa directo a windows, entonces no es que windows me haya embarrado el grub, peor que eso, instalado grub desde la instalación del sistema Linux no fue capaz de reemplazar al programa de inicio de microsoft. Entonces antes de correr algunos riesgos quisiera que me dijeras si tienes conocimiento sobre si aplica tu tutorial a mi caso.
    Te reitero las gracias.

    1. Post
      Author
      manu

      Este artículo que he escrito se aplica sólo cuando se ha formateado el disco duro en formato «gpt», para otros formatos se debe instalar grub como se hacía antiguamente (hay muchos tutoriales en la web). Para comprobar si tu disco duro está en formato «gpt» o «msdos» puedes usar el programa gparted, accedes a Ver -> Información del dispositivo y ahí te sale información del disco duro (modelo, tamaño, etc.) y en qué formato está.

Deja un comentario