Saltar al contenido

1.3 Discos, Particiones y el Proceso de Arranque

¡Prepárate!

  • Aprenderás la nomenclatura que usa Linux para interactuar con discos (ej. /dev/sda, /dev/nvme0n1). - Entenderás las limitaciones del antiguo MBR frente al moderno GPT. - Memorizarás la etapa crítica de arranque desde la BIOS hasta que systemd toma el control con PID 1.

Para un administrador de sistemas operando servidores, un fallo en el disco duro o un sistema que se queda “congelado” durante el arranque (kernel panic) son el pan de cada día. Entender con exactitud cómo detecta Linux los discos y qué archivos intervienen para llegar a la pantalla de inicio de sesión es vital.


En Linux, los discos duros y otros medios de almacenamiento de bloques se representan como archivos en el directorio /dev.

La nomenclatura depende del tipo de conexión física o bus:

  • Discos SATA/SAS (Tradicionales y SSDs): /dev/sda (primer disco), /dev/sdb (segundo disco), etc.
  • Discos NVMe (Alto rendimiento PCIe): /dev/nvme0n1 (primer disco), /dev/nvme1n1 (segundo disco).
  • Lectores SD / eMMC: /dev/mmcblk0.

Cuando particionamos un disco, a cada partición se le asigna un número:

  • Las particiones de /dev/sda se llaman /dev/sda1, /dev/sda2, etc.
  • Las particiones de /dev/nvme0n1 se llaman /dev/nvme0n1p1, /dev/nvme0n1p2, etc.
  • MBR (Master Boot Record): Es el estándar antiguo. Limitado a un máximo de 4 particiones primarias y no soporta discos mayores de 2 Terabytes. Se almacena en el primer sector absoluto del disco.
  • GPT (GUID Partition Table): Es el estándar moderno atado a motherboards UEFI. Permite hasta 128 particiones por defecto en Linux y soporta discos de tamaños masivos de Zettabytes. Contiene copias de seguridad de sí misma al final del disco para evitar corrupción.

Pintar las “rayas de la pista” en un disco para que Linux sepa organizar carpetas requiere formatearlas con un sistema de archivos.

  • ext4 (Fourth Extended Filesystem): Es el estándar tradicional de facto en la familia Debian y la mayoría de Linux. Es rápido, tiene excelente compatibilidad y es journaling (mantiene un registro (journal) de lo que va a escribir antes de hacerlo, para evitar corrupciones si hay un apagón).
  • xfs: El estándar por defecto en la familia RHEL. Está ultra-optimizado para manejar archivos paralelamente y de tamaños gigantescos.
  • btrfs y ZFS: Sistemas de próxima generación (Copy-on-Write) que gestionan el particionamiento y los archivos simultáneamente, permitiendo “snapshots” (fotografías del sistema en el tiempo) nativos sin herramientas extra.

El instalador de distribuciones como Ubuntu o Debian suele preguntarte si quieres todo junto o separar /home. Aquí están los tres escenarios más comunes:

La opción más sencilla: todo en una sola partición raíz. Válida para VMs, entornos de prueba o equipos con poco espacio.

ParticiónPunto de montajeSistema de archivosTamaño orientativo
/dev/sda1/boot/efiFAT32512 MB
/dev/sda2[SWAP]swapRAM × 1-2
/dev/sda3/ext4Todo el resto
  • Directorio/ Todo el sistema en una sola partición
    • Directorioboot/
      • Directorioefi/ sda1 — FAT32, 512 MB
    • Directoriohome/ sda3 — mismo disco que el sistema
      • Directoriousuario/
    • Directoriovar/
      • Directoriolog/
    • Directorioetc/
    • Directoriotmp/

4. El Proceso de Arranque (Desde Botón de Encendido a Servidor Activo)

Sección titulada “4. El Proceso de Arranque (Desde Botón de Encendido a Servidor Activo)"

¿Qué pasa desde el segundo que enciendes la máquina de metal hasta que puedes escribir comandos?

graph TD
    A[1. BIOS / UEFI] -->|POST & Hardware Init| B[2. Bootloader / GRUB2]
    B -->|Selects OS| C[3. Linux Kernel]
    C -->|Mounts Initramfs| D[4. Initramfs Temporary Root]
    D -->|Loads Drivers| E[5. Real Root / Mounted]
    E -->|Starts Init Process| F[6. systemd PID 1]
    F -->|Parallel Execution| G[7. Targets & Login]
  1. Firmware (BIOS/UEFI): Inicializa el hardware rudimentario (CPU, memoria, teclado). Comprueba que nada está en cortocircuito (POST) y busca la partición /boot/efi para encontrar el gestor de arranque.
  2. Bootloader (GRUB2): Lee su configuración (/boot/grub/grub.cfg) que dice dónde se encuentra físicamente el Kernel. Carga el Kernel y un archivo llamado initramfs en la memoria RAM, y le cede el control.
  3. El Kernel (vmlinuz): Autodetecta el hardware a bajo nivel. Comienza a gestionar la memoria. Es el cerebro absoluto.
  4. Initramfs (Initial RAM Filesystem): El Kernel inicialmente no sabe cómo leer el disco duro real (ext4, volúmenes LVM, o si está cifrado con contraseña). El initramfs es un “mini-Linux” que se carga en la RAM que contiene solo los drivers (módulos) necesarios para saber leer el disco duro central de verdad.
  5. Montaje de Raíz: Una vez superado el initramfs, el sistema monta el disco de verdad en la raíz (/).
  6. Init (systemd): El Kernel ejecuta el primer programa real: /sbin/init (que en sistemas modernos es siempre systemd). Se le asigna el ID de Proceso 1 (PID 1).
  7. Systemd Targets: systemd lee su configuración e inicia servicios en paralelo para llegar a un “Target” objetivo. Por ejemplo, el multi-user.target para servidores. Inicializa la red, SSH, monta bases de datos, y finalmente, muestra el Prompt de Login.

  1. Estás instalando Linux en un servidor con un disco NVMe ultra-rápido. ¿Bajo qué ruta y nombre de archivo lo buscarías típicamente en la terminal para particionarlo?

  2. ¿Cuál de las siguientes es una limitación histórica crítica del esquema de particiones MBR (Master Boot Record) que fue superada por GPT?

  3. Durante el proceso de arranque de Linux, ¿qué pieza de software se encarga de cargar en RAM un “mini-Linux” temporal con los controladores justos para poder montar el disco duro real?