¡Caso real! Resuelve Kernel Panic en Linux tras actualizar el kernel por falta de espacio en /boot y recupera tu sistema en minutos - Iespai
Información del sistema Linux

¡Caso real! Resuelve Kernel Panic en Linux tras actualizar el kernel por falta de espacio en /boot y recupera tu sistema en minutos



Introducción

Uno de los escenarios más frustrantes que puede enfrentar un administrador de sistemas es un Kernel Panic. Esto puede ocurrir por diversas razones, pero en este artículo nos centraremos en un caso específico que se produce al actualizar el kernel en un sistema Linux, especialmente cuando el directorio /boot está casi lleno. Este problema impide que la actualización del kernel se complete correctamente y, tras el reinicio, provoca un error que impide que la máquina arranque. Vamos a explicar cómo solucionar este problema paso a paso.


¿Qué es un Kernel Panic?

El Kernel Panic es un mecanismo de protección que utiliza el kernel del sistema operativo cuando se encuentra con un error crítico del que no puede recuperarse. En Linux, este tipo de error detiene todos los procesos en ejecución y muestra un mensaje en pantalla, generalmente acompañado de un volcado de memoria o un stack trace. En esencia, el sistema se bloquea completamente.


Causa del Problema: Falta de Espacio en /boot

El directorio /boot contiene los archivos necesarios para arrancar el sistema, como los diferentes kernels y los initramfs. A medida que se actualiza el sistema operativo, los kernels antiguos se mantienen en este directorio por seguridad, lo que puede llevar a la falta de espacio si no se realiza un mantenimiento adecuado. Si el espacio disponible en /boot es insuficiente durante una actualización del kernel, puede provocar que la instalación del nuevo kernel quede incompleta, lo que resulta en un Kernel Panic en el siguiente reinicio.

Escenario

  • Realizas una actualización del sistema que incluye la actualización del kernel.
  • La actualización falla parcialmente debido a la falta de espacio en el directorio /boot.
  • Después del reinicio, aparece un Kernel Panic y la máquina no arranca correctamente.

Solución Paso a Paso

La solución a este problema consiste en:

  1. Arrancar en una versión anterior del kernel.
  2. Limpiar el directorio /boot para liberar espacio.
  3. Completar la actualización del kernel.

Paso 1: Iniciar con una Versión Anterior del Kernel

Cuando un sistema no arranca debido a un Kernel Panic tras una actualización, el primer paso es iniciar en un kernel más antiguo que funcione correctamente.

Instrucciones:

  1. Reinicia el sistema.
  2. Accede al menú de arranque avanzado. Dependiendo de tu distribución de Linux, esto puede lograrse presionando la tecla Shift o Esc repetidamente durante el arranque para abrir el GRUB.
  3. En el menú de GRUB, selecciona la opción Opciones avanzadas para Ubuntu (o tu distribución de Linux).
  4. Selecciona una versión anterior del kernel que sabes que funcionaba correctamente. Asegúrate de elegir una versión que no sea la más reciente (probablemente fallida) y presiona Enter.

Si todo sale bien, el sistema debería arrancar con el kernel anterior.

Paso 2: Limpiar el Directorio /boot

Ahora que has arrancado el sistema, es necesario liberar espacio en /boot. Puedes eliminar los kernels más antiguos y no utilizados para hacer espacio para la actualización pendiente.

Listar los kernels instalados

El primer paso es listar los kernels que tienes instalados para identificar cuáles puedes eliminar.

dpkg --list | grep linux-image

Este comando mostrará una lista de todos los kernels instalados. Verás algo como esto:

ii  linux-image-5.8.0-53-generic       5.8.0-53.60~20.04.1       amd64        Linux kernel image for version 5.8.0 on 64 bit x86 SMP
ii  linux-image-5.8.0-54-generic       5.8.0-54.61~20.04.1       amd64        Linux kernel image for version 5.8.0 on 64 bit x86 SMP
ii  linux-image-5.4.0-73-generic       5.4.0-73.82~20.04.1       amd64        Linux kernel image for version 5.4.0 on 64 bit x86 SMP

Eliminar los kernels antiguos

Asegúrate de no eliminar el kernel que estás utilizando actualmente. Puedes eliminar versiones más antiguas con el siguiente comando:

sudo apt-get remove --purge linux-image-X.X.X-XX-generic

Por ejemplo, para eliminar el kernel 5.4.0-73-generic, ejecutarías:

sudo apt-get remove --purge linux-image-5.4.0-73-generic

Limpiar los paquetes obsoletos

Una vez que hayas eliminado los kernels antiguos, es una buena práctica limpiar los paquetes obsoletos:

sudo apt-get autoremove
sudo apt-get clean

Estos comandos liberarán aún más espacio eliminando dependencias no utilizadas y limpiando la caché del paquete.

Verificar el espacio en /boot

Después de eliminar los kernels antiguos, es importante verificar cuánto espacio has liberado en /boot:

df -h /boot

Este comando te dará una idea del espacio disponible en el sistema de archivos /boot.

Paso 3: Completar la Actualización del Kernel

Ahora que has liberado espacio en /boot, puedes proceder con la actualización del kernel. Esto asegurará que el nuevo kernel se instale correctamente sin problemas de espacio.

Actualizar el sistema

Ejecuta una actualización completa del sistema para asegurarte de que todo se haya instalado correctamente:

sudo apt-get update
sudo apt-get upgrade

Si la actualización del kernel estaba pendiente, este proceso debería completarla sin errores esta vez.

Verificar la instalación del nuevo kernel

Para asegurarte de que el nuevo kernel se ha instalado correctamente, puedes verificar la versión actual del kernel:

uname -r

Este comando te mostrará la versión del kernel que estás ejecutando actualmente. Asegúrate de que sea la versión más reciente que intentaste instalar.

Paso 4: Reiniciar el Sistema

Finalmente, reinicia el sistema para arrancar con el nuevo kernel y asegurarte de que el problema del Kernel Panic se ha resuelto.

sudo reboot

Prevención de Futuras Ocupaciones en /boot

Para evitar que este problema ocurra nuevamente, es importante realizar un mantenimiento regular del directorio /boot. Aquí hay algunas recomendaciones:

  1. Eliminar kernels antiguos regularmente: Después de cada actualización del sistema, elimina los kernels antiguos que ya no necesitas.
   sudo apt-get autoremove --purge
  1. Monitorizar el espacio en /boot: Es una buena práctica verificar regularmente cuánto espacio tienes disponible en /boot usando df -h /boot.
  2. Usar herramientas automáticas: Existen herramientas como unattended-upgrades que pueden eliminar automáticamente los kernels antiguos. Puedes configurar esto para que no tengas que hacerlo manualmente cada vez.

Conclusión

Un Kernel Panic debido a la falta de espacio en /boot después de una actualización del kernel es un problema común, pero puede ser resuelto fácilmente si sigues los pasos correctos. Al arrancar en un kernel anterior, limpiar el directorio /boot y completar la actualización, puedes restaurar la funcionalidad del sistema y evitar este problema en el futuro. Recuerda realizar un mantenimiento regular para evitar que el directorio /boot se llene, lo que garantizará que tus futuras actualizaciones del kernel se realicen sin problemas.

oscar Lastera Sanchez

Entradas recientes

El Comando Init en Linux: Gestión de Procesos en el Proceso de Inicio del Sistema

En el mundo de la administración de sistemas Linux, uno de los elementos más críticos…

3 semanas hace

El Futuro de ChatGPT: ¿Cuán Cerca Está de Pensar Como Nosotros?

La inteligencia artificial (IA) ha evolucionado rápidamente en los últimos años, con desarrollos impresionantes como…

1 mes hace

IPv6: Mejoras Respecto a IPv4 y Herramientas para su Gestión en Linux

El crecimiento exponencial de dispositivos conectados a internet ha planteado serios desafíos a las redes…

1 mes hace

Cómo determinar si NTP está siendo utilizado para la sincronización del reloj: Guía para administradores de sistemas

La sincronización precisa del tiempo en los sistemas de red es crucial para la correcta…

1 mes hace

La Revolución de IPv6: Descubre por qué Necesitamos un Nuevo Protocolo

Desde que se ratificó hace casi 20 años, el protocolo IPv6 ha traído una serie…

1 mes hace

Guía Completa para Capturar y Analizar Tráfico IP con tcpdump: Domina la Herramienta Esencial para Administradores de Sistemas

Capturar tráfico IP es una tarea esencial para los administradores de sistemas, ya sea para…

1 mes hace

Esta web usa cookies.