Bootloaders: toda la información acerca de los gestores de arranque

Para poder ejecutar aplicaciones, el procesador de un ordenador recurre a los servicios de la memoria interna o memoria principal. Para hacerlo, los archivos necesarios se cargan en la memoria interna. Esa es la razón por la cual la capacidad, la velocidad de transmisión y la velocidad de acceso de dicha memoria son un factor decisivo en la capacidad máxima de rendimiento del ordenador en su conjunto.

Uno de los programas más importantes cuyos datos se guardan en la memoria interna es el sistema operativo. Así, Windows, macOS y otros sistemas operativos, dotados con una función de gestión de procesos, consiguen regular, entre otras cosas, el acceso del procesador a la memoria interna. De este modo, los datos relevantes del software deben cargarse en la memoria interna ya desde el arranque del dispositivo, y siguen estando allí mientras se utiliza el ordenador. Este proceso es coordinado por un llamado bootloader, que lo hace posible, y que en la mayoría de los sistemas operativos modernos viene instalado por defecto.

¿Qué es un bootloader?

Un bootloader o gestor de arranque es un software especial que carga en la memoria interna el sistema operativo instalado en el sistema. Para conseguirlo, el bootloader suele ejecutarse directamente al arrancar un dispositivo usando algún medio que sea booteable, es decir, que sirva como unidad de arranque, como puede ser un disco duro, un CD o DVD, o un stick USB. El medio de arranque recibe la información acerca de dónde se encuentra el bootloader por parte del firmwaredel ordenador (BIOS, por ejemplo). Todo el proceso es lo que se denomina inicio, arranque o, en inglés booten.

Nota

El término bootloader es una abreviación de bootstrap loader, que en inglés significa literalmente cargador de la tira (o trabilla) de botas. El término se originó porque el boot manager es el componente decisivo para arrancar el ordenador y, por lo tanto, sirve como apoyo, de manera similar a como lo hace la trabilla de la bota a la hora de atarla.

¿Cómo funciona un bootloader?

Cuando aprietas el botón de arranque de un ordenador, lo primero que aparece en la pantalla son los datos acerca del hardwaredel equipo. El software responsable de esta información es, en primer lugar, el ya mencionado firmware, que los productores de los dispositivos por lo general implementan en una memoria flash en la placa base o mainboard. En la mayoría de ordenadores de mesa y portátiles se apuesta por el ya veterano BIOS (Basic Input/Output System) o por el más reciente UEFI (Unified Extensible Firmware Interface). Ambos programas reúnen diferentes datos del hardware y para generar, entre otras cosas, una lista completa de todas las unidades de disco disponibles en el dispositivo.

Una vez se ha completado este proceso, el firmware comprueba uno a uno los soportes de datos encontrados en busca del bootloader o, más concretamente, la llamada boot signature o boot record. La búsqueda se inicia siempre en los medios extraíbles conectados (CD/DVD, stick USB, discos duros externos, etc.) y luego pasa a los discos duros internos. En estos últimos, el bootloader (o la boot signature) suele estar en el Master Boot Record (MBR), que también aloja la tabla de particiones del soporte de datos. Cuando se encuentre un bootloader, este se cargará y se iniciará así el sistema. Si la búsqueda, en cambio, no tiene éxito, el firmware mostrará un mensaje de error.

Consejo

Si tienes un sistema operativo instalado adecuadamente, se iniciará mediante un bootloader que, por lo general, estará en la partición primaria. Si, de lo contrario, tu sistema está dañado y requiere ser reinstalado, deberás recurrir a los ya mencionados medios extraíbles que sirven como unidad de arranque. Lo mismo ocurre, naturalmente, si aún no tienes ningún sistema operativo instalado. En nuestro artículo te contamos cómo transformar un stick USB convencional en una unidad de arranque.

¿Dónde se guardan exactamente los bootloaders?

En lo que a la ubicación de los bootloaders se refiere, se han consolidado dos opciones:

  1. El bootloader se guarda en el primer bloque del medio booteable o de arranque.
  2. El bootloader se guarda en una partición específica del medio de arranque.

La primera opción está estrechamente relacionada con el principio de los Master Boot Records, que no solo contienen la referencia necesaria por parte del firmware hacia el bootloader, sino también el software de inicio en sí. Para el record se reserva siempre el primer bloque o sector de memoria disponible en el medio. Este bloque o sector también es llamado, precisamente por esta función tan importante, boot block o boot sector.

En la segunda opción, el sistema operativo usa como lugar de almacenamiento del bootloader una partición seleccionada, si bien el sistema de archivos de base y la tabla de particiones utilizada no tienen por qué coincidir en absoluto. El firmware siempre es un factor decisivo y, este tipo de ubicación del bootloader, requiere además un formato de archivo específico del gestor de arranque. En dispositivos con UEFI se trata, por ejemplo, del formato PE/COFF (Portable Executable / Common Object File Format).

Nota

Los bootloaders pueden estar repartidos en varios niveles. De ser así, se denominan multistage bootloaders y pueden abarcar hasta tres niveles diferentes, que se ejecutan uno tras otros. En general, suelen usarse cuando el programa de inicio es demasiado grande para el boot sector.

Resumen de las tareas de un bootloader

Los bootloaders sirven como intermediarios entre el hardware y el sistema operativo. En cuanto un bootloader es ejecutado por el firmware correspondiente, la responsabilidad del sistema recae en él, que debe lograr que el arranque ocurra. Para ello, su primera tarea es cargar la memoria interna, indispensable para que el procesador funcione.

En el siguiente paso, el bootloader carga el núcleo del sistema operativo, es decir, el componente elemental del software del sistema, el cual controla todos los accesos a la memoria y al procesador y contiene todos los controladores importantes. Además, el bootloader procesa diferentes órdenes y tareas rutinarias como, por ejemplo, la integración de la memoria de datos. Algunos bootloaders realizan también tareas que van más allá de su función como meros gestores de arranque, entre las cuales están las siguientes:

  • Reconocimiento y arranque de otros bootloaders disponibles
  • Ejecución de programas de aplicación (se usaba mucho en los 80 para iniciar juegos desde disquetes)
  • Corrección o adición de funciones o entradas defectuosas o insuficientes en el firmware
  • Carga de firmware alternativo

Una vez se han completado todas las tareas con éxito, el bootloader devuelve la responsabilidad del sistema al núcleo.

¿Qué bootloaders conocidos existen?

Hasta aquí, hemos resumido los datos más importantes en materia de bootloaders. La siguiente tabla resume los bootloaders más populares y más importantes:

Nombre del bootloader Descripción
Bootmgr Gestor de arranque de Microsoft desde Windows Vista / Windows Server 2008
NT-Loader (NTLDR) Gestor de arranque de Microsoft hasta Windows XP /Windows Server 2003
barebox Bootloader para sistemas integrados en impresoras, cámaras, coches, aviones, etc.
boot.efi Bootloader EFI utilizado desde 2006 en dispositivos Mac
BootX Antiguo bootloader de sistemas operativos Mac
Grand Unified Bootloader (GRUB) Bootloader libre para sistemas operativos unixoides como Linux
ARM Core Bootloader Bootloader para microcontroladores (usado, por ejemplo, en iPhones)
OpenBIOS Gestor de arranque libre y portátil con licencia GNU-GPL

¡No te vayas! ¡Tenemos algo para ti!
Consigue tu dominio .mx un año gratis.

Introduce el dominio que deseas en la barra de búsqueda para comprobar su disponibilidad.
12 meses desde $0/año
después $700/año