GNU GRUB

GNU Grand Unified Bootloader
Parte de Proyecto GNU

Menú de GRUB en modo no gráfico
Información general
Tipo de programa Bootloader
Desarrollador Proyecto GNU
Modelo de desarrollo software de código abierto
Lanzamiento inicial 1995
Licencia GNU GPL 3+
Información técnica
Programado en Ensamblador, C
Plataformas admitidas IA-32, x86-64, PowerPC
Versiones
Última versión estable 2.14 (info) (14 de enero de 2026 (8 meses y 29 días))
Serie Proyecto GNU
GNU Grand Unified Bootloader
GRUB 2
Enlaces
Pantalla de StartUp-Manager, configurador gráfico para GRUB Legacy.
Pantalla de GRUB Customizer, configurador gráfico para GRUB 2.

GNU GRUB (GNU GRand Unified Bootloader) es un cargador de arranque múltiple, desarrollado por el proyecto GNU que permite elegir qué sistema operativo arrancar de los instalados.

Se usa principalmente en sistemas operativos GNU/Linux. El sistema operativo Solaris ha usado GRUB como cargador de arranque en sistemas x86 desde la revisión 10 1/06.

Historia

GRUB fue inicialmente diseñado e implementado por el programador Erich Stefan Boleyn como parte del trabajo en el arranque del sistema operativo GNU Hurd desarrollado por la Free Software Foundation. En 1999, Gordon Matzigkeit y Yoshinori Okuji convirtieron a GRUB en un paquete de software oficial del Proyecto GNU y abrieron el desarrollo del mismo al público.

Alrededor de 2002 investigadores japoneses empezaron a trabajar en PUPA (siglas de Preliminary Universal Programming Architecture), cuyo objetivo era reescribir el cuerpo de GRUB para hacerlo más claro, seguro, robusto y poderoso. PUPA fue posteriormente renombrado a GRUB 2, y la versión original de GRUB fue renombrada a GRUB Legacy. A partir de entonces se fueron realizando actualizaciones de ambas versiones. La última actualización sobre GRUB Legacy (versión 0.97) fue realizada en 2005.

Sobre 2007 algunas distribuciones de GNU/Linux empezaron a usar GRUB 2. A finales de 2009 la mayor parte de las distribuciones de GNU/Linux tenían instalado GRUB 2 por defecto.

Características

GRUB es un cargador de arranque que cumple la Especificación Multiboot. De esta forma puede arrancar de forma uniforme los kernels que cumplen la Especificación Multiboot.

Está diseñado para cumplir los siguientes objetivos, listados por orden de importancia:

Características adicionales que soporta:

Funcionamiento

Cuando se enciende un equipo, el proceso de arranque se inicia con el firmware, que generalmente es el BIOS o el UEFI, realizando una serie de pruebas de autodiagnóstico y cargando el gestor de arranque. El gestor de arranque, en este caso GRUB, permite seleccionar el sistema operativo a cargar, como GNU/Linux.

Una vez seleccionado el sistema operativo, el gestor de arranque carga el kernel (núcleo) en la memoria y le pasa el control.

Proceso de inicio de GRUB Legacy

  1. El BIOS busca un dispositivo de inicio (como el disco duro) y de ahí pasa el control al primer sector físico del dispositivo conocido como master boot record, son los primeros 512 bytes (primer sector) del disco duro y que forman la fase 1 de GRUB.
  2. La fase 1 de GRUB carga la siguiente fase de GRUB, ubicada físicamente en cualquier parte del disco duro. La fase 1 puede cargar ya sea la fase 1.5 o, directamente, la 2.
  3. La fase 1.5 de GRUB, ubicada en los siguientes 30 kilobytes del disco duro, carga la fase 2. En GRUB 2, esta fase ha dejado de existir.
  4. La fase 2 de GRUB (cargada por las fases 1 o 1.5) recibe el control, y presenta al usuario el menú de inicio.
  5. GRUB carga el kernel seleccionado por el usuario, en la memoria y le pasa el control.

En el caso de computadoras con sistema de arranque EFI, el firmware carga el ejecutable de GRUB directamente (fase 2), siempre y cuando esté correctamente instalado en la partición EFI y configurado en la NVRAM.

GRUB 2

boot.img tiene exactamente 446 Bytes y está escrito en el MBR (sector 0). core.img está escrito en el espacio restante entre el MBR y la primera partición, si es que lo hay disponible (por razones de compatibilidad con versiones anteriores la primera partición comienza en el sector 63 en vez del sector 1, aunque no es imposición). El /boot/grub-directorio puede estar ubicado en otra partición, o en la partición "/" ().

GRUB 2 es una reescritura de GRUB que comparte muchas características con su versión anterior, ahora conocida como GRUB Legacy. Las más importantes diferencias entre GRUB 2 y GRUB Legacy son:

Véase también

Referencias

  1. 1 2 «Ohloh Analysis Summary - GNU GRUB». Ohloh. Archivado desde el original el 4 de febrero de 2009. Consultado el 12 de mayo de 2010.
  2. ↑ Sitio oficial de GNU GRUB (en inglés)
  3. ↑ GRUB Manual - 1.2 Grub History (en inglés)
  4. 1 2 3 4 5 6 Mastering Grub – Part 1 – Introduction and Overview of Grub Boot Loader. Ramdev. 21 de septiembre de 2015
  5. ↑ «GRUB 2 en Ubuntu 9.10 Karmic Koala». Archivado desde el original el 17 de diciembre de 2009. Consultado el 30 de noviembre de 2009.
  6. ↑ GNU GRUB manual. 11 GRUB image files. version 2.04, 24 de junio de 2019.

Enlaces externos