Cargador de arranque de segunda etapa de Linux
Los cargadores de arranque de segunda etapa, como GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR o iBoot, no son en sí mismos sistemas operativos, pero son capaces de cargar un sistema operativo correctamente y transferirle la ejecución; posteriormente, el sistema operativo se inicializa a sí mismo y puede cargar controladores de dispositivos adicionales. El cargador de arranque de segunda etapa no necesita controladores para su propio funcionamiento, pero en su lugar puede utilizar métodos genéricos de acceso al almacenamiento proporcionados por el firmware del sistema, como la BIOS o el Firmware Abierto, aunque normalmente con una funcionalidad de hardware restringida y un rendimiento inferior.

Muchos gestores de arranque pueden configurarse para dar al usuario múltiples opciones de arranque. Estas opciones pueden incluir diferentes sistemas operativos (para el arranque dual o múltiple desde diferentes particiones o unidades), diferentes versiones del mismo sistema operativo (en caso de que una nueva versión tenga problemas inesperados), diferentes opciones de carga del sistema operativo (por ejemplo, arrancar en un modo de rescate o seguro), y algunos programas independientes que pueden funcionar sin un sistema operativo, como comprobadores de memoria (por ejemplo, memtest86+), un intérprete de comandos básico (como en GNU GRUB), o incluso juegos (ver Lista de juegos de PC Booter).Algunos gestores de arranque también pueden cargar otros gestores de arranque; por ejemplo, GRUB carga BOOTMGR en lugar de cargar Windows directamente. Normalmente, se preselecciona una opción por defecto con un retardo de tiempo durante el cual el usuario puede pulsar una tecla para cambiar la opción; después de este retardo, la opción por defecto se ejecuta automáticamente para que pueda producirse el arranque normal sin interacción.

El proceso de arranque puede considerarse completo cuando el ordenador está listo para interactuar con el usuario, o el sistema operativo es capaz de ejecutar programas de sistema o programas de aplicación.

Muchos sistemas embebidos deben arrancar inmediatamente. Por ejemplo, esperar un minuto a que se inicie una televisión digital o un dispositivo de navegación GPS suele ser inaceptable. Por lo tanto, tales dispositivos tienen sistemas de software en ROM o memoria flash para que el dispositivo pueda empezar a funcionar inmediatamente; se necesita poca o ninguna carga, porque la carga se puede precalcular y almacenar en la ROM cuando se fabrica el dispositivo.

Los sistemas grandes y complejos pueden tener procedimientos de arranque que proceden en múltiples fases hasta que finalmente el sistema operativo y otros programas se cargan y están listos para ejecutarse. Como los sistemas operativos se diseñan como si nunca se iniciaran ni se detuvieran, un gestor de arranque puede cargar el sistema operativo, configurarse como un mero proceso dentro de ese sistema y, a continuación, transferir irrevocablemente el control al sistema operativo. A continuación, el gestor de arranque termina normalmente como lo haría cualquier otro proceso.
Un gestor de arranque de dos fases consiste en realidad en dos gestores de arranque uno detrás del otro. El primero es pequeño con el único propósito de cargar el segundo. El segundo puede contener entonces todo el código necesario para cargar el núcleo. GRUB utiliza dos (o podría decirse que tres) etapas.