GRUB 2

A continuación, encontrará una guía práctica, exhaustiva y estructurada para instalar, configurar, personalizar y recuperar GRUB 2 en los entornos más comunes: Ubuntu/Debian, Fedora/RHEL y Arch Linux, tanto en sistemas BIOS/MBR como en UEFI.

El propósito es ofrecer un documento de referencia sólido, con los procedimientos tradicionales y comprobados, pero también con las recomendaciones actuales que garantizan un arranque estable y seguro.

GNU GRUB
GNU GRUB

Guía completa para instalar y configurar GRUB 2

1. Conceptos básicos previos

GRUB 2 (GNU GRand Unified Bootloader, versión 2) es el gestor de arranque predeterminado en la mayoría de las distribuciones Linux modernas. Su función es cargar el kernel y transferirle el control durante el inicio del sistema.

Antes de comenzar, conviene comprender dos realidades distintas en el firmware del sistema:

  • BIOS/MBR: Esquema clásico, presente en equipos más antiguos. GRUB se instala en el MBR (sector 0 del disco) y carga desde ahí el resto de sus componentes.
  • UEFI/GPT: Presente en sistemas modernos. GRUB se instala como un archivo EFI en la partición del sistema EFI (ESP).

Cada entorno tiene comandos y rutas ligeramente distintos, pero los principios son los mismos.

2. Comprobación del entorno

Antes de instalar o reparar GRUB, determine si su sistema usa BIOS o UEFI.

Ejecute:

[ -d /sys/firmware/efi ] && echo "Sistema UEFI" || echo "Sistema BIOS/MBR"
  • Si aparece “Sistema UEFI”, el cargador se instalará en la partición EFI.
  • Si aparece “Sistema BIOS/MBR”, se instalará directamente en el MBR del disco (por ejemplo, /dev/sda).

3. Instalación de GRUB 2

A. En Ubuntu / Debian

3.1 Instalación en BIOS/MBR

  1. Instale los paquetes necesarios: sudo apt update sudo apt install grub-pc os-prober
  2. Identifique el disco principal: sudo fdisk -l
  3. Instale GRUB en el MBR (reemplazando /dev/sda según corresponda): sudo grub-install /dev/sda
  4. Genere el archivo de configuración: sudo update-grub
  5. Reinicie y verifique que aparece el menú de GRUB.

3.2 Instalación en UEFI

  1. Instale los paquetes adecuados: sudo apt update sudo apt install grub-efi-amd64 shim-signed os-prober
  2. Monte la partición EFI (si no lo está ya): sudo mount /dev/sdXY /boot/efi (Reemplace sdXY por la partición EFI, por ejemplo /dev/sda1).
  3. Instale GRUB en el entorno EFI: sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  4. Genere el archivo de configuración: sudo update-grub
  5. Reinicie y verifique el arranque.

Nota: Ubuntu y Debian detectan automáticamente otros sistemas operativos mediante os-prober, generando entradas multiboot.

B. En Fedora / RHEL / CentOS

3.3 Instalación en BIOS/MBR

  1. Asegúrese de tener los paquetes: sudo dnf install grub2 grub2-tools os-prober
  2. Identifique el disco de arranque principal: sudo fdisk -l
  3. Instale GRUB en el MBR: sudo grub2-install /dev/sda
  4. Genere el archivo de configuración: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Reinicie el sistema.

3.4 Instalación en UEFI

  1. Instale los paquetes adecuados: sudo dnf install grub2-efi-x64 shim-x64
  2. Monte la partición EFI: sudo mount /dev/sdXY /boot/efi
  3. Instale GRUB en el entorno EFI: sudo grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  4. Genere el archivo de configuración: sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
  5. Compruebe en la BIOS/UEFI que la entrada de arranque “GRUB” aparece en la lista.

C. En Arch Linux

3.5 Instalación en BIOS/MBR

  1. Instale GRUB y los complementos necesarios: sudo pacman -S grub os-prober
  2. Instale GRUB en el disco: sudo grub-install --target=i386-pc /dev/sda
  3. Genere el archivo de configuración: sudo grub-mkconfig -o /boot/grub/grub.cfg
  4. Reinicie y compruebe que el menú aparece correctamente.

3.6 Instalación en UEFI

  1. Instale los paquetes EFI: sudo pacman -S grub efibootmgr os-prober
  2. Monte la partición EFI: sudo mount /dev/sdXY /boot/efi
  3. Instale GRUB: sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  4. Genere la configuración: sudo grub-mkconfig -o /boot/grub/grub.cfg
  5. Verifique con efibootmgr -v que GRUB figura como entrada de arranque.

4. Configuración básica

El archivo principal de configuración no se edita directamente, ya que se genera automáticamente.
Las variables ajustables se encuentran en /etc/default/grub.

Ejemplo típico:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Para aplicar los cambios:

  • Ubuntu/Debian: sudo update-grub
  • Fedora/RHEL/Arch: sudo grub2-mkconfig -o /boot/grub2/grub.cfg (o /boot/grub/grub.cfg según la ruta del sistema).

5. Personalización

5.1 Apariencia

Puede asignar un fondo al menú de GRUB añadiendo en /etc/default/grub:

GRUB_BACKGROUND="/boot/grub/fondo.png"

El archivo debe estar en formato PNG, JPG o TGA y accesible desde /boot o /boot/grub.

5.2 Temas

Para cambiar completamente el aspecto visual, instale un tema en /boot/grub/themes/ y añada:

GRUB_THEME="/boot/grub/themes/nombre_de_tema/theme.txt"

Luego regenere el archivo de configuración.

5.3 Arranque predeterminado

Para seleccionar un sistema predeterminado distinto:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Esto hará que GRUB recuerde el último sistema iniciado.

5.4 Modo de rescate

En caso de emergencia, GRUB ofrece un intérprete de comandos (pulsando c en el menú).
Allí pueden usarse órdenes como:

ls
set root=(hd0,1)
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
boot

Este procedimiento permite arrancar un sistema manualmente incluso sin menú.

6. Recuperación de GRUB

6.1 Desde un Live CD o USB (Ubuntu/Debian)

  1. Inicie desde un medio Live.
  2. Monte la partición raíz: sudo mount /dev/sdXY /mnt
  3. Si usa UEFI, monte también la partición EFI: sudo mount /dev/sdXZ /mnt/boot/efi
  4. Entre al entorno chroot: sudo chroot /mnt
  5. Reinstale GRUB:
    • BIOS: grub-install /dev/sda
    • UEFI: grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  6. Regenerar la configuración: update-grub
  7. Salga del chroot y reinicie: exit sudo reboot

6.2 En Fedora / Arch Linux (mismo principio)

El procedimiento es idéntico, cambiando los comandos:

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

o

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

7. Recomendaciones de buenas prácticas

  1. Mantener una partición /boot simple, preferentemente en ext4.
  2. Evitar particiones cifradas o LVM para /boot, salvo que se conozcan las implicaciones.
  3. Respaldar /etc/default/grub y /boot/efi antes de actualizar el sistema.
  4. Ejecutar update-grub o grub-mkconfig tras instalar nuevos kernels.
  5. Verificar las entradas con os-prober si se tienen varios sistemas operativos.
  6. Mantener BIOS/UEFI actualizado, especialmente en equipos modernos con Secure Boot.

8. Tabla resumen de comandos clave

AcciónUbuntu/DebianFedora/RHELArch Linux
Instalar GRUB (BIOS)grub-install /dev/sdagrub2-install /dev/sdagrub-install /dev/sda
Instalar GRUB (UEFI)grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUBIgualIgual
Generar configuraciónupdate-grubgrub2-mkconfig -o /boot/grub2/grub.cfggrub-mkconfig -o /boot/grub/grub.cfg
Paquete principalgrub-pc o grub-efigrub2grub
Detectar otros sistemas (multiboot)os-proberos-proberos-prober
Archivo de configuración principal/etc/default/grub/etc/default/grub/etc/default/grub
Archivo generado/boot/grub/grub.cfg/boot/grub2/grub.cfg/boot/grub/grub.cfg

9. Conclusión

GRUB 2 sigue siendo la piedra angular del arranque en la mayoría de los sistemas GNU/Linux.
Su conocimiento técnico permite al administrador —tanto en entornos domésticos como en servidores— mantener control total sobre el proceso de inicio, garantizar recuperaciones rápidas y personalizar la experiencia de arranque.

La tradición de comprender cómo arranca un sistema no ha perdido valor: aunque hoy los instaladores automatizan gran parte de la tarea, el dominio manual de GRUB 2 sigue siendo signo de buena administración y estabilidad.