Saltar al contenido
BIOS&TI
Sistemas Operativos

¿Qué ocurre cuando enciendes una computadora? BIOS/UEFI, bootloader y proceso de arranque

Descubre qué ocurre desde que presionas el botón de encendido hasta que aparece el sistema operativo: firmware, BIOS/UEFI, POST, dispositivos de arranque, bootloader, kernel y servicios del sistema.

tavo7 min de lectura
CompartirFacebookLinkedInXWhatsApp
Imagen destacada del artículo sobre el proceso de arranque de una computadora, desde BIOS/UEFI y bootloader hasta el kernel, servicios y escritorio.

Presionar el botón de encendido de una computadora parece una acción sencilla. En pocos segundos podemos pasar de tener un equipo completamente apagado a ver una pantalla de inicio de sesión o nuestro escritorio. Sin embargo, antes de llegar a ese punto ocurre una cadena de procesos en la que participan el firmware del equipo, el hardware, el dispositivo de almacenamiento, el gestor de arranque, el kernel y diferentes servicios del sistema operativo. Comprender este proceso nos permite conectar muchos de los conceptos que estudiamos anteriormente y entender cómo una computadora pasa de tener solamente energía disponible a ejecutar un sistema operativo completamente funcional.

Del botón de encendido al sistema operativo

Aunque el proceso exacto depende del hardware, firmware, sistema operativo y configuración del equipo, podemos construir un modelo conceptual simplificado del arranque:

Encendido → Firmware → Inicialización del hardware → Selección del dispositivo de arranque → Bootloader → Kernel → Servicios del sistema → Inicio de sesión

Cada una de estas etapas prepara las condiciones necesarias para que pueda comenzar la siguiente.

Figura 1. Modelo conceptual simplificado del proceso de arranque de una computadora, desde el encendido hasta la carga del entorno de usuario.

El equipo recibe energía

Cuando presionamos el botón de encendido, los diferentes componentes del equipo comienzan a recibir alimentación eléctrica y el hardware inicia su proceso de puesta en marcha. La computadora todavía no está ejecutando Windows, GNU/Linux o macOS. Para llegar al sistema operativo primero necesita ejecutar software disponible desde las primeras etapas del arranque. Aquí entra en escena el firmware.

¿Qué es el firmware?

El firmware es software diseñado para controlar o inicializar funciones de un dispositivo y se encuentra estrechamente relacionado con el hardware sobre el que opera. En una computadora, el firmware de la plataforma participa en las primeras etapas del arranque y proporciona mecanismos necesarios para inicializar el equipo y localizar el siguiente componente que debe ejecutarse. En computadoras personales, dos términos aparecen constantemente cuando hablamos de esta etapa: BIOS y UEFI.

BIOS y UEFI: ¿son lo mismo?

BIOS significa Basic Input/Output System. Durante décadas fue una pieza fundamental del proceso de arranque de las computadoras compatibles con PC. UEFI, por su parte, significa Unified Extensible Firmware Interface y define una interfaz de firmware moderna utilizada ampliamente en equipos actuales. Ambos conceptos están relacionados con las primeras etapas del arranque, pero no deben tratarse simplemente como dos nombres diferentes para exactamente la misma tecnología.

Información

BIOS/UEFI no es solamente “la pantalla de configuración”. La interfaz que utilizamos para cambiar el orden de arranque, activar determinadas funciones o modificar configuraciones es solo una parte visible de un conjunto de funciones de firmware mucho más amplio.

Inicialización y comprobación del hardware

Antes de entregar el control al sistema operativo, el firmware necesita preparar diferentes componentes del equipo. Durante estas primeras etapas pueden realizarse tareas de inicialización y comprobación relacionadas con procesador, memoria y dispositivos necesarios para continuar el arranque. Tradicionalmente se utiliza el término POST (Power-On Self-Test) para referirse a comprobaciones realizadas durante el encendido, aunque el comportamiento concreto depende de la plataforma y del firmware utilizado.

Ejemplo

Cuando existe un problema grave con algún componente esencial, el equipo puede no llegar siquiera a mostrar el sistema operativo. Dependiendo del hardware, podemos observar mensajes de error, indicadores luminosos, códigos o señales proporcionadas por el propio firmware.

¿Dónde está el sistema operativo?

Una vez que el hardware necesario está disponible, el proceso de arranque debe determinar desde dónde continuar.

Un sistema operativo puede encontrarse en diferentes medios o entornos, por ejemplo:

  • SSD o NVMe.
  • Disco duro.
  • Unidad USB.
  • Otros medios compatibles.
  • En determinados escenarios, recursos proporcionados mediante la red.

La configuración de arranque ayuda a determinar qué opción debe utilizarse.

MBR y GPT: cómo se organiza el disco

Al estudiar el arranque aparecen frecuentemente los términos MBR y GPT. MBR (Master Boot Record) es un esquema histórico relacionado con el particionado y el arranque en sistemas BIOS tradicionales. GPT (GUID Partition Table) es un esquema de particionado moderno estrechamente asociado al ecosistema UEFI y permite superar diversas limitaciones del modelo MBR. Por ahora basta con entender que describen formas diferentes de organizar información sobre las particiones de una unidad. Profundizaremos posteriormente en particiones y sistemas de archivos.

El bootloader: preparando el sistema operativo

El bootloader o gestor de arranque es el software encargado de continuar el proceso necesario para cargar el sistema operativo. Dependiendo de la plataforma puede localizar componentes necesarios para el arranque, presentar opciones cuando existen varios sistemas instalados y preparar la transferencia de control hacia el kernel u otros componentes de carga.

Algunos nombres que aparecen al estudiar gestores y mecanismos de arranque son:

  • Windows Boot Manager, dentro del proceso de arranque de Windows.
  • GRUB, ampliamente utilizado en sistemas GNU/Linux.
  • systemd-boot, utilizado en determinadas configuraciones Linux.
  • Mecanismos propios del proceso de arranque de las plataformas Apple.

Estos ejemplos no implican que todas las plataformas sigan exactamente la misma arquitectura.

El kernel entra en escena

Finalmente llegamos a un componente que ya conocemos del artículo anterior: el kernel. Durante el arranque, los componentes correspondientes preparan y cargan el kernel para que pueda comenzar su inicialización. A partir de este punto el sistema operativo empieza a asumir progresivamente el control de recursos fundamentales del equipo.

Durante esta etapa pueden entrar en juego tareas relacionadas con:

  • Administración de memoria.
  • Planificación de ejecución.
  • Inicialización de subsistemas.
  • Controladores necesarios.
  • Sistemas de archivos.
  • Entrada y salida.
  • Funciones de red.
  • Mecanismos de seguridad.

Del kernel al espacio de usuario

Tener el kernel ejecutándose todavía no significa que el sistema esté completamente preparado para que el usuario trabaje. El sistema necesita iniciar componentes adicionales en espacio de usuario, poner en marcha servicios y preparar el entorno que utilizarán las aplicaciones. Las implementaciones cambian entre sistemas operativos, pero conceptualmente estamos pasando de la inicialización del núcleo hacia un sistema capaz de ofrecer servicios de nivel superior.

Servicios y procesos en segundo plano

Durante el arranque comienzan a ejecutarse diferentes servicios necesarios para el funcionamiento normal del equipo.

Dependiendo del sistema y de su configuración pueden intervenir componentes relacionados con:

  • Red.
  • Registro de eventos.
  • Dispositivos.
  • Seguridad.
  • Audio.
  • Interfaz gráfica.
  • Actualizaciones.
  • Sincronización.
  • Servicios instalados por aplicaciones.

Finalmente aparece el inicio de sesión

Después de inicializar los componentes necesarios, el sistema puede presentar el mecanismo mediante el cual el usuario inicia una sesión. Tras autenticarnos, se prepara nuestro entorno de usuario: configuración, procesos asociados a la sesión, interfaz gráfica o shell y diferentes aplicaciones configuradas para iniciarse automáticamente. Lo que para nosotros fue simplemente pulsar un botón ha requerido una cadena completa de software y hardware trabajando de forma coordinada.

El proceso completo en una sola vista

Figura 2. Resumen conceptual de las principales etapas del proceso de arranque, desde el encendido del equipo hasta la carga del entorno de usuario.

¿Cómo cambia el proceso entre Windows, GNU/Linux y macOS?

Windows

En un equipo Windows moderno con UEFI intervienen diferentes componentes del entorno de firmware y del proceso de arranque de Windows hasta llegar a la carga del kernel, los servicios y finalmente la sesión del usuario. Herramientas como Windows Boot Manager forman parte de este proceso.

GNU/Linux

En GNU/Linux existen diferentes configuraciones posibles. Un gestor como GRUB o systemd-boot puede participar en la selección y carga del sistema. El kernel puede utilizar un entorno inicial como initramfs antes de acceder al sistema de archivos raíz definitivo. Posteriormente comienza el sistema de inicialización del espacio de usuario; en numerosas distribuciones modernas se utiliza systemd, aunque no es la única posibilidad.

macOS

macOS utiliza un proceso de arranque propio estrechamente integrado con el hardware y las tecnologías de Apple. Aunque podemos reconocer conceptos generales como firmware, carga del sistema, kernel y servicios, no debemos asumir que utiliza exactamente los mismos componentes o secuencia que Windows o GNU/Linux.

¿Y qué tiene que ver todo esto con la seguridad?

El proceso de arranque ocurre antes de que podamos utilizar normalmente el sistema, por lo que su integridad es especialmente importante. Si un componente crítico de esta cadena fuera sustituido o modificado sin autorización, podría comprometer la confianza en todo lo que se ejecuta posteriormente.

Recomendación de seguridad

Secure Boot es una tecnología asociada al ecosistema UEFI que ayuda a verificar componentes del proceso de arranque según las políticas y claves de confianza configuradas. Su objetivo no es “hacer invulnerable” una computadora, sino contribuir a establecer una cadena de confianza durante etapas tempranas del arranque.

Información

TPM y Secure Boot no son lo mismo. Pueden participar en arquitecturas de seguridad complementarias, pero cumplen funciones diferentes. En futuros artículos estudiaremos TPM, cifrado de disco y cadenas de confianza con mayor profundidad.

Del botón de encendido a un sistema completamente funcional

Ahora sabemos que iniciar una computadora implica mucho más que cargar una pantalla. El firmware prepara la plataforma, se determina cómo continuar el arranque, un gestor o mecanismo de carga prepara el sistema operativo, el kernel comienza a administrar los recursos y posteriormente se inicializan los servicios y el entorno del usuario. Este recorrido conecta directamente hardware, firmware y sistema operativo.

Continúa aprendiendo: si quieres comprender mejor qué ocurre cuando el kernel toma el control, revisa Componentes de un sistema operativo: kernel, espacio de usuario, shell y servicios.

PRÓXIMO ARTÍCULO

¿Qué es el kernel y cómo funciona?

En el siguiente artículo entraremos en profundidad en el núcleo del sistema operativo, sus responsabilidades y su relación con los recursos del equipo.

Referencias

  1. UEFI Specifications (abre en una nueva pestaña)UEFI Forum
  2. BCDBoot Command-Line Options (abre en una nueva pestaña)Microsoft Learn
  3. GNU GRUB Manual 2.14 (abre en una nueva pestaña)GNU Project / Free Software Foundation
  4. Ramfs, rootfs and initramfs (abre en una nueva pestaña)The Linux Kernel Documentation
  5. Boot process for a Mac with Apple silicon (abre en una nueva pestaña)Apple Platform Security
  6. UEFI Secure Boot (abre en una nueva pestaña)UEFI Forum

Autoría editorial

tavo

CEO

BIOS&TI Cyber Brief

Seguridad que llega a tu bandeja.

Inteligencia, vulnerabilidades, herramientas y análisis de ciberseguridad directamente en tu correo.