La magia de poder instalar varios sistemas operativos en un mismo equipo se debe a los gestores de arranque múltiple. Pero,
¿qué es un gestor de arranque? Es el primer software que se ejecuta en tu ordenador luego del BIOS. Su misión es cargar el kernel de un sistema operativo y pasarle el control de ejecución para que continúe con el resto del proceso de inicialización. Los gestores de arranque que permiten iniciar más de un sistema operativo se denominan gestores de arranque múltiple.
Dicho esto podemos definir a GNU GRUB (o simplemente GRUB) como un gestor de arranque múltiple muy poderoso que permite cargar una amplia variedad de sistemas operativos, tanto libres como propietarios.
Un poco de historia
La idea de GRUB se originó en 1995 cuando Erich Boleyn hacía pruebas con GNU Hurd y unmicrokernel conocido como Mach 4 (o GNU Mach) y ante las incompatibilidades de los diversos métodos de arranque de la época decidió, junto con Brian Ford, crear la especificación Multiboot. Esta especificación brindaba una interfaz común entre el gestor de arranque y el sistema operativo, permitiendo que cualquier gestor de arranque pudiera iniciar cualquier sistema operativo siempre y cuando ambos cumplieran con el estándar.
Erich comenzó a editar el gestor de arranque de FreeBSD pero más tarde se dio cuenta que sería más fácil comenzar su propio gestor desde cero. No fue sino hasta 1999 cuando el proyecto GNU adoptó GRUB como paquete oficial y puso su código fuente a disposición de la comunidad.
CaracterísticasUna de las características más importantes de GRUB es su flexibilidad. Actualmente soporta los sistemas de archivos más populares, entre ellos: ext4, ReiserFS, XFS, HPS, FAT, NTFS y hasta el ISO 9660 para CDs o DVDs. También permite acceder a los datos de cualquier dispositivo instalado siempre y cuando sea reconocido por el BIOS.
Su arquitectura está diseñada para soportar módulos, algo realmente conveniente para ajustarlo a la medida de tus necesidades, además tiene una interfaz de línea de comandos muy útil donde podemos ejecutar tareas que nos pueden salvar la vida en casos de emergencia.
La interfaz predeterminada de GRUB no es nada especial (tampoco muy linda), consiste simplemente de un menú de opciones en un fondo negro sobre letras blancas. Sin embargo no es algo para preocuparse demasiado porque soporta imágenes de fondo de 8 bits (256 colores) en formato PNG, JPG o TGA. Gracias a esa característica es que muchas distribuciones de Linuxpueden personalizar el fondo del GRUB y darle un toque más personalizado.
Otra característica genial de GRUB es que permite el arranque a través de la red. Si no tienes o no deseas usar un disco duro, puedes configurar GRUB para que cargue la imagen del sistema operativo usando el protocolo TFTP.
La manera en que el usuario interactúa con GRUB es mediante el menú al momento del arranque donde se puede usar el teclado para seleccionar el sistema operativo con el que desea arrancar. Seleccionado el kernel, GRUB lo carga en memoria, le pasa el control de ejecución y el resto de la historia ya la conocen.