Qué es el gestor de arranque de linux
Un gestor de arranque, también llamado gestor de arranque o gestor de arranque, es un programa informático que se encarga de arrancar un ordenador.

Cuando un ordenador está apagado, su software -incluidos los sistemas operativos, el código de las aplicaciones y los datos‍- permanece almacenado en una memoria no volátil. Cuando el ordenador se enciende, normalmente no tiene un sistema operativo ni su cargador en la memoria de acceso aleatorio (RAM). El ordenador ejecuta primero un programa relativamente pequeño almacenado en la memoria de sólo lectura (ROM, y más tarde EEPROM, NOR flash) junto con algunos datos necesarios, para inicializar la RAM (especialmente en los sistemas x86), para acceder al dispositivo no volátil (normalmente dispositivo de bloque, por ejemplo NAND flash) o a los dispositivos desde los que se pueden cargar los programas y datos del sistema operativo en la RAM.

Algunos sistemas informáticos anteriores, al recibir una señal de arranque de un operador humano o de un dispositivo periférico, pueden cargar un número muy pequeño de instrucciones fijas en la memoria en una ubicación específica, inicializar al menos una CPU y, a continuación, dirigir la CPU a las instrucciones e iniciar su ejecución. Estas instrucciones suelen iniciar una operación de entrada desde algún dispositivo periférico (que puede ser seleccionable por el operador). Otros sistemas pueden enviar comandos de hardware directamente a dispositivos periféricos o controladores de E/S que hacen que se lleve a cabo una operación de entrada extremadamente sencilla (como "leer el sector cero del dispositivo del sistema en la memoria empezando en la posición 1000"), cargando efectivamente un pequeño número de instrucciones del cargador de arranque en la memoria; entonces se puede utilizar una señal de finalización del dispositivo de E/S para iniciar la ejecución de las instrucciones por la CPU.

Los ordenadores más pequeños suelen utilizar mecanismos de cargador de arranque menos flexibles pero más automáticos para garantizar que el ordenador se inicie rápidamente y con una configuración de software predeterminada. En muchos ordenadores de sobremesa, por ejemplo, el proceso de arranque comienza con la ejecución por parte de la CPU de un software contenido en ROM (por ejemplo, la BIOS de un PC IBM o compatible IBM) en una dirección predefinida (algunas CPU, incluida la serie x86 de Intel, están diseñadas para ejecutar este software tras el reinicio sin ayuda externa). Este software contiene una funcionalidad rudimentaria para buscar dispositivos aptos para participar en el arranque, y cargar un pequeño programa desde una sección especial (normalmente el sector de arranque) del dispositivo más prometedor, empezando normalmente en un punto de entrada fijo, como el inicio del sector.
Un gestor de arranque es un programa escrito en código máquina que carga el sistema operativo en la RAM durante el proceso de arranque.