¿Cómo arranca Linux? Del BIOS/UEFI a systemd

Encendés tu PC, ves un logo… y en pocos segundos estás en el escritorio. Parece magia, pero en realidad hay una cadena de eventos perfectamente orquestada que hace que Linux pase de “hardware apagado” a un sistema completamente funcional.

En este artículo te explico cómo arranca Linux paso a paso, desde el firmware (BIOS o UEFI), pasando por el bootloader, hasta llegar al kernel y finalmente a systemd.

Todo comienza cuando presionás el botón de encendido. Lo primero que se ejecuta no es Linux, sino el firmware del equipo: BIOS (más antiguo) o UEFI (moderno).

Su función principal es:

  • Inicializar el hardware (CPU, RAM, discos, GPU).
  • Realizar un chequeo básico (POST).
  • Buscar un dispositivo de arranque.

En sistemas modernos, UEFI reemplaza a BIOS y permite cosas como: arranque más rápido, soporte para discos grandes y Secure Boot.

Idea clave: el firmware no carga Linux directamente, solo busca quién se encargará de hacerlo.

Una vez que el firmware encuentra un dispositivo de arranque, ejecuta el bootloader.

En la mayoría de las distros Linux, este rol lo cumple GRUB.

El bootloader se encarga de:

  • Mostrar un menú de sistemas operativos (si hay más de uno).
  • Permitir elegir kernel o modo de arranque.
  • Cargar el kernel de Linux en memoria.

También puede pasar parámetros al kernel, por ejemplo:

quiet splash

o incluso opciones avanzadas para debugging o recuperación.

Una vez cargado por el bootloader, el kernel de Linux toma el control total del sistema.

En esta etapa:

  • Se inicializa la memoria.
  • Se detecta el hardware.
  • Se cargan drivers esenciales.
  • Se monta el sistema de archivos raíz.

Pero hay un detalle importante: al principio, el kernel no tiene todos los drivers necesarios.

Para resolver ese problema existe el initramfs: un sistema de archivos temporal que se carga en memoria.

Su función es:

  • Proveer drivers necesarios para acceder al disco.
  • Preparar el entorno inicial.
  • Montar el sistema de archivos real.

Una vez que el sistema raíz está listo, el initramfs se descarta.

Idea clave: sin initramfs, muchos sistemas ni siquiera podrían arrancar.

Cuando el kernel termina su trabajo inicial, lanza el primer proceso del sistema: PID 1.

En la mayoría de las distribuciones modernas, ese proceso es: systemd.

systemd es el encargado de:

  • Iniciar servicios (red, audio, login, etc.).
  • Montar sistemas de archivos.
  • Gestionar procesos y dependencias.
  • Preparar el entorno de usuario.

Podés ver el proceso inicial con:

ps -p 1 -o comm=

Una vez que systemd termina de iniciar los servicios esenciales, el sistema está listo para que el usuario interactúe.

Esto puede ser:

  • Una terminal (TTY).
  • Un gestor de login gráfico (GDM, LightDM, SDDM).

Desde ahí, se carga el entorno de escritorio o la sesión de usuario.

El arranque de Linux sigue esta secuencia:

Firmware (BIOS/UEFI)
   
Bootloader (GRUB)
   
Kernel
   
initramfs
   
systemd (PID 1)
   
Servicios + Login
   
Sistema listo

Todo esto ocurre en cuestión de segundos.

  • Problemas con GRUB (no aparece el menú).
  • Kernel corrupto o mal configurado.
  • Errores en initramfs.
  • Servicios que fallan en systemd.

Entender este flujo ayuda muchísimo a diagnosticar fallos de arranque.

El arranque de Linux no es magia, sino una cadena bien definida de componentes que trabajan juntos desde el primer segundo.

Desde el firmware hasta systemd, cada etapa cumple un rol específico que permite transformar hardware en un sistema operativo funcional.

Entender este proceso no solo es interesante: es una herramienta clave para diagnosticar problemas y comprender cómo funciona Linux en profundidad.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *