Los Bootloaders no son solo de smartphones: así funcionan en tu PC

Seguramente te suene bastante el término bootloader, ya que es de uso frecuente en smartphones y más concretamente en terminales Android. Sin embargo, los cargadores de arranque (que es lo que significa) no son exclusivos de los smartphones, y lo que es más, de hecho su origen está en el PC hasta el punto de que casi no se habla de ellos porque «se da por hecho» su existencia e incluso su funcionalidad. En este artículo te vamos a contar qué es un bootloader, para qué sirve y cómo funciona en PC.

Para poder ejecutar órdenes y aplicaciones, la CPU de un PC siempre recurre a la memoria RAM, ya que ahí es donde se almacena la información y cálculos a los que el procesador tiene que recurrir constantemente para realizar sus tareas.

Como es obvio, el recurso más importante que se almacena en la memoria RAM tiene que ver con el sistema operativo, un «programa» dotado de una función de gestión de procesos que consiguen regular, entre otras cosas, el acceso de la CPU a la memoria precisamente (y aunque suene redundante). Lo que os queremos decir con esto es que en un PC los datos relevantes del sistema operativo deben cargarse en la memoria ya desde el arranque del equipo, y ahí es donde entra en funcionamiento el bootloader.

¿Qué es un bootloader?

Encender PC

Como ya te imaginarás porque su nombre es bastante auto explicativo, la palabra bootloader viene de las palabras en inglés boot (arranque) y loader (cargador), aunque para ser más específicos en realidad viene de bootstrap loader, que en inglés significa de manera literal cargador (o trabilla) del cordón de las botas. El origen de este término viene porque el boot manager es esencial para el arranque del PC y, por lo tanto, sirve como apoyo de manera similar a como lo hace la trabilla de los cordones de unos zapatos.

Un bootloader o cargador de arranque es una especie de software especial que carga en la memoria RAM del equipo los archivos esenciales del sistema operativo que tengas, y esto es válido para Windows, Linux, Max e incluso sistemas basados en DOS como FreeDOS. Para ello, el bootloader se debe utilizar necesariamente en un sistema de arranque, que bien puede ser un CD/DVD, un pen drive o la unidad de almacenamiento de sistema, que es lo habitual en un PC.

Secuencia de arranque

El medio de arranque recibe la información sobre dónde se encuentra el cargador de arranque por medio del firmware del equipo, como puede ser por ejemplo la BIOS, y este es precisamente el motivo por el que en la BIOS podemos configurar los dispositivos de arranque.

Al seleccionar la secuencia de arranque en la BIOS le estamos diciendo al PC, literalmente, dónde debe ir a buscar el bootloader, ya que sin éste el equipo no es capaz de arrancar e iniciar el sistema operativo.

Cómo funciona un bootloader en PC

En el momento en el que pulsamos el botón de encendido del PC, lo primero que aparece en la pantalla son los datos relativos al hardware del equipo, como el procesador, la memoria o los dispositivos de almacenamiento conectados. El software responsable de procesar esta información es el ya mencionado firmware (la BIOS / UEFI en un PC) que se encuentra en la memoria ROM de la placa base.

Arranque

Este proceso inicial se llama POST, que significa Power on Self Test y aunque tenemos un artículo específico hablando de ello, en resumidas cuentas consiste en una serie de procesos y comprobaciones del sistema que se ejecuta en el PC cada vez que se enciende o reinicia. Y, como ya supondrás, el bootloader es lo que se carga justamente después del POST; el sistema comprueba la secuencia de arranque configurada en la BIOS y empieza a buscar por orden el primero de los dispositivos seleccionados que tenga un bootloader para cargar los datos en memoria.

Cuando se encuentre un medio con bootloader, se cargará automáticamente, pero si la lista de dispositivos configurada en la BIOS termina y no se ha encontrado ninguno, el sistema mostrará un mensaje de error y no arrancará. El cargador de arranque es, como supondrás después de leer esto, esencial y primordial para que el equipo pueda funcionar.

¿Dónde se almacena exactamente?

El bootloader suele encontrarse en el MBR (Master Boot Record) del disco duro o SSD, donde también se almacena la tabla de particiones del medio de almacenamiento, no obstante no siempre es así y por norma general podemos encontrarnos estas dos opciones:

  • En el primer bloque del medio de arranque (también conocida como «pista cero del disco»).
  • En una partición específica del medio de arranque.

La primera opción es lo más habitual porque está estrechamente relacionada con el principio de funcionamiento del MBR, el cual no solo contiene la referencia necesaria para que el firmware encuentre el bootloader sino que además también contiene el software de arranque en sí mismo, que es lo que permite que el sistema operativo «arranque».

Disco Duro

En la segunda opción, menos utilizada porque requiere que el usuario lo haya configurado así a propósito por el motivo que sea (aunque también se ve así en PCs OEM de fabricantes), el sistema operativo utiliza como lugar de almacenamiento del bootloader una partición específica que esté creada en la unidad de almacenamiento.

Como dato adicional, debéis saber que los bootloaders también pueden estar repartidos en varios niveles en una configuración denominada multistage y que puede abarcar hasta tres niveles diferentes, ejecutándose los unos después de los otros. Esto se utiliza cuando el cargador de arranque es demasiado grande como para tener cabida en la pista cero del disco.

¿Cuáles son sus funciones?

Tras lo explicado hasta ahora ya te habrás dado cuenta de que los bootloaders son una especie de intermediarios entre el hardware y el sistema operativo del PC. Podríamos decir que la responsabilidad de que el sistema arranque recae sobre este elemento, y para ello su primera tarea es la de cargar el sistema operativo en la memoria RAM del equipo, indispensable para que el procesador sepa qué es lo que debe hacer.

kernel

En el siguiente paso el bootloader carga el kernel del sistema operativo, el componente fundamental del software del sistema que controla todos los accesos a memoria y al procesador y contiene todos los drivers esenciales. Además, procesa todas las órdenes y tareas rutinarias como por ejemplo la integración de la memoria de datos. Algunos bootloaders realizan tareas adicionales que van más allá de la de meros gestores de arranque, como por ejemplo:

  • Reconocimiento y arranque de otros bootloaders (multistage).
  • Ejecución de programas de aplicación.
  • Corregir o añadir funciones que están mal en el firmware.
  • Carga de firmware alternativos.

¿Qué bootloaders existen?

Hasta ahora te hemos contado qué es un bootloader, cuáles son sus funciones y para qué sirve, pero también debes saber que hay diferentes bootloaders dependiendo del uso y del sistema operativo. Los más importantes los hemos resumido en la siguiente tabla:

NombreDescripción
BootmgrEs el gestor de arranque de Microsoft desde Vista / Server 2008
NT-Loader (NTLDR)Es el gestor de arranque que Microsoft utilizó hasta la llegada de Vista (es decir, hasta Windows XP / Server 2003)
bareboxEs un gestor de arranque integrado en escáneres, impresoras, cámaras, etc.
boot.efiEs el bootloader utilizado por dispositivos Mac desde 2006.
BootXAntiguo bootloader utilizado por los Mac hasta 2006.
GRUB (Grand Unified Bootloader)Es un bootloader de código abierto famoso por ser el que generalmente utilizan sistemas Linux.
ARM Core BootloaderBootloader que se utiliza en micro controladores (como en smartphones)
OpenBIOSEs un gestor de arranque libre y portátil con licencia GNU-GPL.