FIXED: Kernel Panic – «Unable to mount root fs on unknown-block(0,0)» (Ubuntu)

Unable to mount root fs on unknown-block(0,0)

Este mensaje es un <strong»>kernel panic típico cuando Linux no puede montar la partición raíz (/) durante el arranque. En otras palabras: el kernel arrancó, pero no encontró (o no pudo leer) el disco/partición donde está el sistema.

Qué significa “unknown-block(0,0)”

  • Indica que el kernel no llegó a ver ningún dispositivo de bloque válido para usar como root (ni siquiera pudo identificarlo como sda1, nvme0n1p2, etc.).
  • Suele pasar por drivers/storage faltantes, initramfs roto, UUID/GRUB apuntando a una partición equivocada, o disco no detectado.

Causas más comunes (Ubuntu)

  1. GRUB apunta al root incorrecto
    Cambiaste particiones, clonaste disco, tocaste /etc/fstab, cambió el UUID, etc.
  2. initramfs dañado o incompleto
    El initramfs es el “mini-sistema” que carga módulos para poder ver discos (SATA/NVMe/RAID/LVM/encrypted).
  3. Falta el driver del controlador de almacenamiento
    Ej.: NVMe, AHCI/RAID, controladores especiales, o el módulo no está en initramfs.
  4. Modo de disco en BIOS/UEFI cambió
    Cambiar AHCI ↔ RAID/Intel RST puede hacer que Linux no vea el disco igual que antes.
  5. Root en LVM / RAID / LUKS (disco cifrado) y algo se rompió
    Si el root está dentro de LVM o cifrado, el arranque depende aún más del initramfs.
  6. Disco con fallas o no detectado
    Cable, SSD muerto, tabla de particiones corrupta, etc.

Solución

1. Arrancar con un kernel anterior

Durante el arranque, elegí:
➜ Advanced options for Ubuntu ➜ Seleccioná una versión anterior del kernel (una que funcione)

2. Ver qué kernel funciona

Una vez que inicies sesión, abrí la Terminal y ejecutá:

uname -r
Esto muestra la versión del kernel que está funcionando (por ejemplo: 6.5.0-35-generic)

3. Revisar los kernels instalados

Verificá qué versiones de kernel tenés instaladas:
dpkg --list | grep linux-image
Identificá la versión más nueva que provocó el error (por ejemplo: 6.5.0-36-generic)

4. Eliminar el kernel roto

Borrá el kernel que está fallando:

sudo apt remove linux-image-6.5.0-36-generic linux-headers-6.5.0-36-generic

Reemplazá los números por los tuyos. Asegurate de mantener al menos un kernel funcional instalado.

5. Actualizar el menú de GRUB

Actualizá GRUB para que no intente arrancar con el kernel eliminado:

sudo update-grub

6. (Opcional) Reinstalar el kernel que funciona

Si querés, podés reinstalar el kernel actual (el que te permitió iniciar) para asegurarte de que esté completo:

sudo apt install --reinstall linux-image-$(uname -r) linux-headers-$(uname -r)

7. (Opcional) Bloquear el kernel actual para evitar futuros problemas

Si querés evitar que se actualice a una versión que vuelva a romper el arranque, podés “congelar” el kernel actual:

sudo apt-mark hold linux-image-$(uname -r)
sudo apt-mark hold linux-headers-$(uname -r)

Después de esto, reiniciá normalmente: ya no deberías necesitar entrar a “Advanced options”. Problema resuelto.

Comentarios
advertise width me