close

Cargador de arranque

Saltar a navegación Saltar a búsqueda

Un cargador de arranque , [1] en informática , es el programa que, en la fase de arranque de la computadora , carga el kernel del sistema operativo desde la memoria secundaria (por ejemplo un disco duro ) a la memoria primaria (generalmente RAM ), permitiendo que el procesador para ejecutarlo y consecuentemente iniciar el sistema.

El término deriva del hecho de que el proceso de poner en marcha una computadora se llama bootstrap (del dicho inglés to lift oneself by one's own bootstrap , "to pull oneself up by the hebillas of the boots"). En el caso de múltiples sistemas operativos instalados en la misma máquina, la carga por parte del gestor de arranque es precedida por la selección del sistema operativo deseado por parte del usuario a través del gestor de arranque .

Descripción

Tareas

Por lo tanto, la función fundamental de un gestor de arranque es cargar y ejecutar un kernel de sistema operativo, junto con procesos y servicios secundarios. En la mayoría de los casos, esto requiere acceso a la memoria masiva , para leer el kernel del sistema operativo y, potencialmente, otros archivos . En casos más simples, el gestor de arranque contiene la dirección de los bloques de disco en los que se almacenan los archivos que se van a cargar, por lo que debe actualizarse si estos archivos se modifican. El acceso al disco a menudo se realiza a través de funciones proporcionadas por el firmware (el BIOS en sistemas de PC IBM compatibles). Algunos cargadores de arranque tienen la capacidad de interpretar uno o más sistemas de archivos para encontrar archivos para cargar. En este caso, también pueden cargar un archivo de configuración desde el disco o permitir que un usuario avanzado explore el disco en busca de archivos para cargar. Algunos cargadores de arranque pueden usar la funcionalidad proporcionada por algunas tarjetas de red (generalmente ethernet ) para descargar un kernel de la red, generalmente a través de TFTP .

Cada sistema operativo instalado, de hecho, cada volumen de arranque (de hecho, también hay entornos de recuperación o similares) tiene un cargador de arranque específico o, mejor, el archivo de configuración de arranque (para Windows 10 se llama BCD, por ejemplo) contiene instrucciones de arranque específicas que deben ser leído por el cargador de arranque para cada volumen de arranque.

Características adicionales presentes en algunos cargadores de arranque:

  • Muchos núcleos admiten la capacidad de recibir parámetros de arranque para configurar su comportamiento; el cargador de arranque se encarga de pasarlos al núcleo y, en algunos casos, permite que el usuario edite estos parámetros.
  • Algunos kernels esperan que otros archivos estén disponibles para el kernel durante el arranque (por ejemplo, en sistemas similares a Unix , es común usar initrd , un pequeño sistema de archivos almacenado en un archivo). La carga de estos archivos está a cargo del gestor de arranque.
  • Un cargador de arranque puede mostrar al usuario un menú de posibles núcleos para cargar, con parámetros relacionados, lo que le permite elegir qué sistema operativo arrancar.
  • Un cargador de arranque puede requerir una contraseña para permitir que el sistema arranque.

Operación

El cargador de arranque se instala en muchos casos en una posición específica de un dispositivo de memoria masiva específico , generalmente en el primer bloque del primer disco ("primero" con respecto al orden en que los dispositivos están conectados a la computadora), desde donde se carga desde el firmware de la computadora .

Por ejemplo, en la arquitectura compatible con IBM , el gestor de arranque se puede almacenar en el registro de arranque maestro (MBR) del disco de arranque o en el primer sector de la partición que alberga el sistema operativo (en cuyo caso debe ser invocado por un arranque ). administrador instalado en el MBR); o también puede estar en el primer sector de un volumen de arranque , como un entorno de recuperación (como el entorno de recuperación de Windows ).

Existen algunas limitaciones impuestas por la técnica y por los fabricantes de hardware y firmware por lo que, para sortearlas, muchos cargadores de arranque modernos operan recurriendo al denominado arranque en dos etapas , etapa 1 y etapa 2, división lógica que destaca diferentes momentos del inicio. En cuanto a las limitaciones, son, por ejemplo, la posibilidad de cargar desde el dispositivo de arranque en la memoria principal solo una pequeña cantidad de bytes y encontrarlo posicionado en un lugar poco conveniente en la memoria - este es el caso emblemático de los sistemas basados ​​en en la familia x86 que carga los primeros 512 bytes que encuentra en el dispositivo de arranque a partir de la dirección 0x0000: 0x7C00 y superior (último byte en 0x0000: 0x7DFF).

Con la llegada de la tecnología Uefi y el relativo particionamiento GPT , el funcionamiento del gestor de arranque ha cambiado sustancialmente a partir del hecho de que está ubicado físicamente en la carpeta efi contenida en la partición del sistema relativa.

Ejemplo de arranque por etapas

Aquí hay una breve descripción de un posible arranque por etapas:

Etapa 1

La etapa 1, también denominada anteriormente administrador de arranque , se ocupa de tareas muy básicas que se pueden codificar en un espacio relativamente pequeño, como buscar el primer volumen del sistema en el disco de arranque, buscar, cargar la segunda etapa, más compleja y extendida, en la memoria y pasarle el control. En esta etapa, se pueden llevar a cabo incluso inicializaciones mínimas del sistema útiles en la segunda etapa, pero no siempre es así.

Etapa 2

La etapa 2 es el administrador de lanzamiento real del programa ejecutivo o sistema operativo . Es mucho más sofisticado, complejo y extendido que la primera etapa y se ocupa principalmente, entre otros, de elegir qué kernel cargar en la memoria y luego darle el control. Comienza a parecerse a un sistema operativo real con más detalles, aunque sea mínimo: sin embargo, es más correcto llamarlo un programa ejecutivo ya que carece de muchas de las características de los sistemas operativos modernos, como la multiprogramación , la gestión de recursos, etc.

Un solo cargador de arranque es capaz de cargar muchos tipos de kernel diferentes (y, por lo tanto, muchos sistemas operativos) en diferentes particiones. Por supuesto, solo se puede cargar un núcleo a la vez.

Los cargadores de arranque más populares

Tenga en cuenta: los que se enumeran a continuación son solo algunos cargadores de arranque para PC [2] o similares (por ejemplo, servidores ). Además, hay que tener en cuenta que los ordenadores también son, por ejemplo, un navegador por satélite o un PLC y muchos otros tipos: estos tienen en su mayoría cargadores de arranque específicos.

Los sistemas IBM , servidores Blade o mainframes , usan cargadores de arranque propietarios [3] cuando no directamente los comandos contenidos en la UEFI o (si son sistemas en la configuración basada en Linux) los cargadores de arranque vistos anteriormente (o cargadores de arranque Linux específicos recompilados específicamente para los sistemas operativos de las máquinas IBM como "Petitboot").

Cargador de arranque móvil

El sistema operativo de un teléfono inteligente , tableta o PDA también contiene un cargador de arranque. En el ámbito de los dispositivos móviles, los bootloaders de los sistemas operativos originales suelen ser modificados por los OEM , es decir, los fabricantes de los dispositivos, como ocurre con los smartphones que montan Android . Esto, sin embargo, no ocurre con los dispositivos Apple ya que son fabricados por la misma empresa que desarrolla el sistema operativo ( IOS ).

Los cargadores de arranque de los sistemas operativos instalados en los dispositivos móviles, con las relativas limitaciones del lado del usuario, han desatado la “moda” de los llamados modding y operaciones consecuentes ( root , unlock, flash , etc.) [4] .

Notas

  1. ^ También gestor de arranque . Lit. "cargador de arranque".
  2. ^ Excepto Windows Boot Manager, ya que las ediciones recientes de Windows también se usan para dispositivos móviles.
  3. ^ Esta es la situación típica de los antiguos Os/400 , por ejemplo.
  4. ^ Guía del gestor de arranque: qué es y para qué sirve - AndroidPIT

Artículos relacionados