Cómo solucionar el problema de los controladores NVIDIA que no se cargan después de una actualización del kernel en Ubuntu.

Una actualización del kernel de Ubuntu puede provocar que un sistema NVIDIA arranque con normalidad, aunque el controlador propietario deje de cargarse. Los síntomas visibles varían: nvidia-smipuede indicar que no puede comunicarse con el controlador, las aplicaciones CUDA pueden dejar de detectar la GPU, el escritorio puede recurrir al renderizado por software o modprobe nvidiapuede fallar. La solución práctica consiste en identificar qué componente se ha dañado en lugar de reinstalar todo a la vez.

Esta referencia se centra en los controladores NVIDIA incluidos en Ubuntu y en las directrices actuales de Canonical. A partir de octubre de 2026, Ubuntu recomienda la ubuntu-driversherramienta o la aplicación Controladores adicionales para la mayoría de los sistemas y recomienda módulos del kernel precompilados y firmados cuando estén disponibles. La documentación de NVIDIA para Ubuntu también es compatible con Ubuntu 22.04, 24.04 y 26.04, pero la nomenclatura de los paquetes difiere en las ramas más recientes, por lo que no copie el número de rama de un ejemplo a menos que esté disponible para su máquina.

Lista de verificación para un diagnóstico rápido

ControlarDominioLo que te dice
Ejecutando kerneluname -rLa ABI del kernel exacta que necesita un módulo NVIDIA compatible.
Estado del conductornvidia-smiSi el espacio de usuario puede comunicarse con el módulo del kernel de NVIDIA cargado.
Módulos cargadoslsmod | grep -E 'nvidia|nouveau'Si NVIDIA o Nouveau son los propietarios actuales de la GPU.
Paquete recomendadosudo ubuntu-drivers listLas ramas de controladores que Ubuntu considera apropiadas para el hardware.
Arranque seguromokutil --sb-stateSi los módulos del kernel de terceros sin firmar pueden ser rechazados.
Registro del kernelsudo dmesg | grep -iE 'nvrm|nvidia|nouveau|secure|module'Pistas útiles para detectar discrepancias en la API, rechazo de firmas o fallos en las sondas.
Terminal de Ubuntu que muestra uname -r, un comando nvidia-smi fallido y ningún módulo NVIDIA devuelto por lsmod.
Un patrón típico de fallo tras una actualización: el nuevo kernel se está ejecutando, pero el módulo NVIDIA no se carga. Las versiones exactas del kernel y los controladores en su sistema pueden variar.

1. Confirme que el problema comenzó con el kernel actual.

Primero, registra el kernel en ejecución y el estado actual de NVIDIA:

uname -r
nvidia-smi
lsmod | grep -E 'nvidia|nouveau'

Si nvidia-smifalla y no nvidiaaparecen módulos en lsmod, el fallo se encuentra por debajo de la capa de CUDA o de la aplicación de escritorio. Si nvidia-smiinforma Failed to initialize NVML: Driver/library version mismatch, Canonical documenta esto como una discrepancia entre el espacio de usuario y el módulo del kernel que suele ocurrir después de una actualización del controlador; un reinicio puede ser suficiente si el nuevo módulo ya está instalado.

Si aún puedes seleccionar un kernel antiguo desde GRUB y el controlador funciona correctamente, esto indica claramente que el nuevo kernel carece de un módulo NVIDIA utilizable. Un kernel antiguo es una solución temporal útil, pero no es la solución definitiva, ya que aún necesitas que el kernel actual y la pila de controladores sean compatibles.

2. Pregúntale a Ubuntu qué rama de controladores recomienda.

En un equipo de escritorio o estación de trabajo Ubuntu estándar, utilice la lógica de selección de controladores propia de Ubuntu en lugar de intentar adivinar una rama:

sudo apt update
sudo ubuntu-drivers list

Para la mayoría de los sistemas de escritorio y de juegos, Canonical recomienda el controlador UDA estándar en lugar de un -serverpaquete. En servidores de computación, siga las instrucciones para servidores ubuntu-drivers list --gpgpucuando corresponda. Si su sistema se instaló previamente con .runel instalador independiente de NVIDIA o un repositorio de terceros, mezclar fuentes de paquetes puede dificultar el diagnóstico. Canonical advierte explícitamente que los controladores instalados fuera de sus métodos documentados pueden sobrescribir componentes proporcionados por Ubuntu e interferir con el arranque seguro.

Terminal de Ubuntu que muestra la lista de controladores de Ubuntu y los dispositivos de controladores de Ubuntu con un controlador NVIDIA marcado como recomendado.
Utilice la función de detección de controladores de Ubuntu para identificar la rama adecuada para la GPU instalada, en lugar de codificar una versión de otra máquina.

3. Compruebe el arranque seguro antes de reconstruir nada.

El arranque seguro es una causa frecuente de que un módulo NVIDIA exista en el disco pero no se cargue. Compruebe su estado:

mokutil --sb-state
sudo modprobe nvidia

Si Secure Boot está habilitado y modprobedevuelve un mensaje como este Key was rejected by service, el kernel está aplicando la confianza en los módulos. Ubuntu ha aplicado la validación de módulos del kernel bajo Secure Boot en las versiones amd64 compatibles durante años. Canonical prefiere usar módulos NVIDIA precompilados y firmados cuando estén disponibles. Si usa DKMS intencionalmente, Ubuntu podría requerir que se cree y registre una clave de propietario de máquina (MOK) al reiniciar.

No desactive el arranque seguro como primer paso para solucionar el problema. Puede ser un breve experimento de diagnóstico en un entorno controlado, pero la mejor solución suele ser instalar un módulo firmado o registrar correctamente el MOK. Canonical documenta el proceso de registro en su documentación de arranque seguro UEFI .

La terminal de Ubuntu muestra SecureBoot habilitado y el comando modprobe nvidia falla con un mensaje de rechazo de clave.
El rechazo de la firma apunta a un problema de confianza en Secure Boot, en lugar de a la falta de una GPU. Resuelva la firma del módulo o la inscripción en MOK en lugar de reinstalar repetidamente las bibliotecas del espacio de usuario.

4. Compruebe si existe el módulo NVIDIA correspondiente para el kernel en ejecución.

Los paquetes NVIDIA precompilados de Ubuntu están vinculados a una ABI del kernel. Reemplazar DRIVER_BRANCHcon la rama que se muestra en ubuntu-drivers list:

DRIVER_BRANCH=XXX
apt-cache policy linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

Si el paquete está instalado para el kernel actual, continúe con las comprobaciones de arranque seguro, Nouveau y registro que se describen a continuación. Si no está instalado, instale el paquete de módulo correspondiente:

sudo apt install linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

Canonical también admite la instalación del metapackage de variante, por ejemplo linux-modules-nvidia-${DRIVER_BRANCH}-generic, lo que ayuda a que las futuras actualizaciones del kernel incluyan los módulos NVIDIA correspondientes. El nombre exacto del paquete depende de tu versión de Ubuntu, variante del kernel, rama del controlador y si utilizas una variante de servidor, así que verifica el candidato que muestra APT antes de confirmarlo.

La terminal de Ubuntu está comprobando la política de apt-cache para un paquete de módulo del kernel de NVIDIA y los encabezados del kernel actual.
Comprobar la política de paquetes ayuda a distinguir entre un módulo NVIDIA específico del kernel que falta y un problema con el controlador del espacio de usuario.

5. Si utiliza DKMS, asegúrese de que los encabezados del kernel actuales estén presentes.

DKMS compila un módulo para el kernel exacto que estás utilizando. Por lo tanto, necesita los encabezados del kernel correspondientes. Canonical recomienda DKMS principalmente cuando no hay módulos precompilados disponibles, como ocurre con algunos kernels personalizados.

sudo apt install linux-headers-$(uname -r)
dkms status

Si la entrada de NVIDIA DKMS no muestra una compilación exitosa para el kernel actual, inspeccione el registro de compilación /var/lib/dkms/antes de intentar eliminar paquetes al azar. Los fallos típicos incluyen encabezados faltantes, combinaciones de compilador/kernel no compatibles o un problema de firma de módulo. Después de corregir el requisito previo, reinstale el paquete DKMS apropiado o use la ruta automatizada de Ubuntu:

sudo ubuntu-drivers install --include-dkms

Utilice ese comando únicamente cuando DKMS sea realmente necesario. La documentación actual de Canonical para escritorio indica que los módulos precompilados son la opción preferida para la mayoría de los usuarios, especialmente con Secure Boot.

La terminal de Ubuntu está instalando los encabezados de Linux para el kernel que se está ejecutando actualmente.
Se requieren encabezados de kernel coincidentes cuando DKMS debe compilar un módulo NVIDIA para el kernel actual.

6. Instale el módulo precompilado que falte cuando esté disponible.

Si el paso 4 mostró que el kernel actual carece del módulo NVIDIA precompilado, instálelo explícitamente y deje que APT reconstruya el initramfs:

sudo apt install linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

Luego, verifique que APT se haya completado sin errores de dependencia. Evite forzar la instalación del paquete con dpkg --force-*; esto puede dejar el módulo del kernel, las bibliotecas del espacio de usuario y el metapackage en versiones incompatibles.

Si no está seguro de qué rama utilizar, la reparación general más segura es:

sudo ubuntu-drivers install

Canonical indica que ubuntu-driversutiliza la misma lógica que la aplicación Controladores adicionales y, por defecto, elige controladores firmados precompilados que se sabe que funcionan con Secure Boot.

Instalación en la terminal de Ubuntu del paquete linux-modules-nvidia para el kernel actual y actualización de initramfs.
La instalación del paquete de módulos específico del kernel soluciona el problema común en el que la rama del controlador está presente, pero el nuevo kernel carece de su módulo NVIDIA correspondiente.

7. Reinicie después de realizar cambios en los paquetes.

En este caso, reiniciar el sistema no es un mero trámite. El núcleo en ejecución puede mantener un módulo NVIDIA antiguo en memoria, mientras que APT ya ha actualizado las bibliotecas de espacio de usuario en el disco. Canonical documenta específicamente este comportamiento como la causa de una discrepancia en la versión del controlador/biblioteca NVML tras las actualizaciones.

sudo reboot

Tras reiniciar, no reinstale inmediatamente. Primero verifique el resultado con los comandos de la siguiente sección.

Terminal de Ubuntu que muestra una operación de instalación de ubuntu-drivers seguida de un reinicio con sudo.
Tras realizar cambios en el controlador o en el módulo del kernel, reinicie el sistema para que el kernel cargue el módulo NVIDIA recién instalado y los componentes del espacio de usuario vuelvan a la misma versión.

8. Verifique que el módulo NVIDIA esté cargado.

Correr:

nvidia-smi
lsmod | grep nvidia
cat /proc/driver/nvidia/version

Una reparación exitosa presenta tres indicadores útiles: nvidia-smimuestra la GPU, lsmodlos módulos NVIDIA e /proc/driver/nvidia/versioninforma la versión del módulo en ejecución. Para cargas de trabajo CUDA, vuelva a ejecutar la aplicación o el marco de trabajo que falló anteriormente; nvidia-smiesto demuestra la comunicación del controlador, no la compatibilidad de todas las bibliotecas CUDA en su entorno.

Terminal de Ubuntu que muestra la salida correcta de nvidia-smi y los módulos NVIDIA listados por lsmod.
Estado final correcto: nvidia-smi puede comunicarse con la GPU y los módulos del kernel de NVIDIA están cargados. Los valores mostrados son un ejemplo, no una versión obligatoria.

Si aún así falla: utilice el síntoma para elegir la siguiente acción.

“Incompatibilidad entre la versión del controlador y la de la biblioteca”

Primero, reinicie el sistema. Luego, compare la versión del módulo del kernel en ejecución con los paquetes instalados. Canonical indica que los componentes del espacio de usuario actualizados pueden presentar discrepancias temporales con un módulo antiguo que aún se encuentra cargado en memoria. Si la discrepancia persiste después del reinicio, verifique si existen fuentes de paquetes mixtas y múltiples ramas de controladores.

“No se encontraron dispositivos” y Nouveau está cargado.

Controlar:

lsmod | grep nouveau

La documentación del servidor Ubuntu indica que Nouveau puede entrar en conflicto con el controlador propietario de NVIDIA en esta situación. Si Nouveau está cargado y se pretende utilizar el controlador propietario, Canonical documenta cómo bloquearlo y reconstruir el initramfs:

echo "blacklist nouveau" | sudo tee /etc/modprobe.d/disable-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/disable-nouveau.conf
sudo update-initramfs -u
sudo reboot

No bloquees Nouveau simplemente porque esté en el disco; primero confirma que esté cargado y que sea relevante para el fallo.

modprobe nvidiadice que la llave fue rechazada

Regrese a la ruta de arranque seguro. Utilice módulos Ubuntu firmados siempre que sea posible, o complete la inscripción MOK para un módulo DKMS. Reinstalar repetidamente el mismo módulo sin firmar no modificará la decisión de confianza.

El nuevo kernel no tiene un paquete de módulos compatible.

Inicie temporalmente un kernel antiguo que funcione correctamente, mantenga el sistema actualizado y compruebe si Ubuntu proporciona un módulo precompilado compatible con el kernel más reciente. Si va a usar un kernel personalizado, DKMS podría ser una opción adecuada, pero revise su registro de compilación y confirme la firma de Secure Boot. Evite mantener un kernel antiguo de forma permanente a menos que tenga un plan de mantenimiento para las actualizaciones de seguridad.

Instrucciones para recopilar información antes de pedir ayuda.

Estos comandos proporcionan un paquete de diagnóstico compacto sin modificar el sistema:

uname -a
lspci -nnk | grep -A3 -i nvidia
nvidia-smi
lsmod | grep -E 'nvidia|nouveau'
mokutil --sb-state
dkms status
apt-cache policy 'nvidia-driver-*' | sed -n '1,160p'
sudo dmesg | grep -iE 'nvrm|nvidia|nouveau|secure|module' | tail -n 120

Incluye la versión de Ubuntu (de lsb_release -ao ) /etc/os-release, el kernel exacto (de uname -r) y si el controlador se instaló originalmente mediante paquetes de Ubuntu, el repositorio de NVIDIA, un PPA o el instalador independiente. Estos detalles suelen ser más importantes que la afirmación genérica de que «el controlador dejó de funcionar después de una actualización».

Prevención práctica

  • ubuntu-driversPara sistemas de escritorio normales, se recomienda utilizar el flujo de trabajo de Ubuntu o el de controladores adicionales.
  • Mantén instalado el metapackage del kernel correspondiente para que las futuras actualizaciones del kernel puedan incluir módulos NVIDIA compatibles.
  • Reinicie el sistema después de actualizar el kernel o los controladores de NVIDIA, en lugar de continuar con una configuración mixta de almacenamiento en memoria y en disco.
  • Mantén disponible al menos un kernel que funcione correctamente hasta que hayas confirmado que el nuevo arranca con el controlador de la GPU.
  • Evite mezclar paquetes de Ubuntu, PPA, el instalador independiente de NVIDIA y múltiples repositorios, a menos que gestione intencionadamente las consecuencias.

Referencias oficiales

Los procedimientos actuales de Canonical se encuentran en Instalar controladores NVIDIA — Ubuntu Desktop y Instalación de controladores NVIDIA — Ubuntu Server . Para obtener instrucciones específicas sobre DKMS, consulte Crear sus propios módulos NVIDIA usando el paquete DKMS . La documentación del proveedor NVIDIA está disponible en la Guía de instalación de controladores NVIDIA para Ubuntu .

La rama exacta del controlador, la ABI del kernel y los nombres de los paquetes dependen de la versión. Siempre sustituya los valores que le indique su sistema y APT en lugar de considerar las versiones de ejemplo como universales.

Dejar un comentario

Cómo solucionar el problema de los controladores NVIDIA que no se cargan después de una actualización del kernel en Ubuntu.

Cómo solucionar el problema de los controladores NVIDIA que no se cargan después de una actualización del kernel en Ubuntu.

Solucione los problemas de carga de los controladores NVIDIA tras una actualización del kernel de Ubuntu comprobando los módulos del kernel, el arranque seguro, DKMS, los encabezados, Nouveau y las discrepancias de versión.

Cómo instalar Pardus 23 en hardware antiguo: Paso a paso

Cómo instalar Pardus 23 en hardware antiguo: Paso a paso

Instale Pardus 23.4 XFCE en PC de 64 bits más antiguas con BIOS heredada, una unidad USB de arranque, particionamiento seguro y comprobaciones posteriores a la instalación para hardware de bajas especificaciones.

Explicación del modelo de seguridad del sistema operativo Gooroom: arranque seguro, protección del sistema operativo y aislamiento del navegador.

Explicación del modelo de seguridad del sistema operativo Gooroom: arranque seguro, protección del sistema operativo y aislamiento del navegador.

Aprende cómo Gooroom OS implementa capas de arranque seguro, protección de ejecutables y del sistema operativo, y controles del navegador, y qué deben verificar los usuarios sobre el entorno aislado (sandboxing).

Ejecutar Debian 12 en un VPS con poca RAM sin fallos por falta de memoria que provoquen la caída de MySQL.

Ejecutar Debian 12 en un VPS con poca RAM sin fallos por falta de memoria que provoquen la caída de MySQL.

Diagnostica la presión de memoria en Debian 12, ajusta el tamaño de MariaDB o MySQL, agrega espacio de intercambio con cuidado y verifica si tu VPS puede manejar su carga de trabajo.

Cómo configurar conexiones VPN en Pardus Linux Desktop

Cómo configurar conexiones VPN en Pardus Linux Desktop

Configure conexiones VPN OpenVPN, WireGuard, OpenConnect o IPsec en el equipo de escritorio Pardus 25 y, a continuación, verifique el enrutamiento, el DNS y el estado del túnel.

SLES 15 vs. RHEL 9: Comparativa del rendimiento de servidores empresariales

SLES 15 vs. RHEL 9: Comparativa del rendimiento de servidores empresariales

Compare el rendimiento de SLES 15 y RHEL 9, los flujos del kernel, los perfiles TuneD, las variables de carga de trabajo y cómo evaluar el rendimiento de ambos sistemas de manera justa.

Solucionar un problema de SUSE Linux Server que se bloquea al reiniciarse tras el apagado de systemd.

Solucionar un problema de SUSE Linux Server que se bloquea al reiniciarse tras el apagado de systemd.

Aprenda a diagnosticar y solucionar problemas en un servidor SUSE Linux que se bloquea durante el apagado de systemd, encontrando tareas atascadas, revisando el arranque anterior y corrigiendo el servicio o punto de montaje que lo bloquea.

Cómo personalizar el panel XFCE en Pardus Linux para usuarios de Windows

Cómo personalizar el panel XFCE en Pardus Linux para usuarios de Windows

Personaliza Pardus XFCE con una barra de tareas inferior, menú de aplicaciones, accesos directos a tus aplicaciones favoritas, botones para abrir ventanas, bandeja del sistema y reloj. Aprende qué modificar y cómo probar la distribución.

Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades

Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades

Configure las actualizaciones automáticas en un servidor Debian sin interfaz gráfica, verifique los temporizadores de systemd, realice pruebas de forma segura, controle los reinicios y supervise las actualizaciones de seguridad automáticas.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucione los problemas de Cockpit en SUSE Linux Enterprise Server comprobando la URL HTTPS, el socket systemd, los paquetes instalados, la zona firewalld, los certificados y los registros.