GRUB, el cargador de arranque de código abierto, es el cargador de arranque predeterminado del sistema operativo Solaris.
El cargador de arranque es el primer programa de software que se ejecuta al encender un sistema. Al encender un sistema x86, el sistema básico de entrada/salida (BIOS, del inglés Basic Input/Output System) inicializa la CPU, la memoria y el hardware de la plataforma. Cuando termina la fase de inicialización, la BIOS carga el cargador de arranque desde el dispositivo de arranque configurado y, a continuación, transfiere el control del sistema al cargador de arranque.
GRUB es un cargador de arranque de código abierto con una interfaz de menú muy sencilla que incluye opciones de arranque predefinidas en un archivo de configuración. También es una interfaz de línea de comandos a la que se puede tener acceso desde la interfaz de menú para ejecutar distintos comandos de arranque. En el sistema operativo Solaris, la implementación de GRUB se ajusta a la especificación de arranque múltiple (multiboot). La especificación se describe con todo detalle en http://www.gnu.org/software/grub/grub.html.
Como el núcleo de Solaris es totalmente compatible con la especificación de arranque múltiple (multiboot), se puede utilizar GRUB para arrancar un sistema basado en x86 de Solaris. Mediante GRUB, el proceso de arranque resulta más sencillo y, además, permite la instalación de varios sistemas operativos.
Una ventaja importante de GRUB es su tratamiento intuitivo de los sistemas de archivos y los formatos ejecutables del núcleo, lo que permite cargar un sistema operativo sin necesidad de registrar la ubicación física del núcleo en el disco. En un arranque basado en GRUB, el núcleo se carga especificando el nombre del archivo, la unidad y la partición en la que se encuentra el núcleo. El arranque basado en GRUB sustituye al Asistente de configuración de dispositivos de Solaris por un menú de GRUB.