Inicio
» Consejos PC
»
Cómo solucionar el problema de los controladores de Nvidia que no se cargan después de una actualización del kernel en Ubuntu.
Cómo solucionar el problema de los controladores de Nvidia que no se cargan después de una actualización del kernel en Ubuntu.
Una actualización del kernel puede provocar que Ubuntu se quede en la pantalla de inicio de sesión con gráficos de baja resolución, una pantalla en negro o un escritorio que funcione sin la aceleración de NVIDIA. Esto no significa automáticamente que la tarjeta gráfica haya fallado. Una actualización del kernel modifica el kernel sobre el que se debe compilar un módulo de NVIDIA externo, y el Arranque Seguro puede rechazar la carga de un módulo cuya clave de firma no sea de confianza.
Comience por identificar el problema. Si el kernel anterior arrancaba con NVIDIA funcionando, es probable que el problema se deba al nuevo kernel o a la compilación de su módulo. Si el módulo aparece instalado, pero el kernel informa de un rechazo de clave o firma, compruebe el arranque seguro y la inscripción de la clave de propietario de la máquina (MOK). Esta guía utiliza el flujo de trabajo de controladores empaquetados de Ubuntu; la terminología del menú y las ramas de controladores pueden variar según la versión de Ubuntu y el hardware.
Vista ilustrativa de GRUB: seleccionar un kernel instalado anteriormente puede ayudar a restaurar un escritorio funcional mientras se diagnostica el kernel actualizado.
¿Puedes arrancar primero el kernel anterior de forma segura?
Sí, si aún está instalado. Reinicia y abre el menú GRUB; en muchos sistemas, al mantener pulsada la tecla Mayús en la BIOS tradicional o pulsar Esc en la UEFI durante el arranque, se muestra. Elige Opciones avanzadas para Ubuntu y, a continuación, selecciona el kernel anterior sin el modo de recuperación. La sincronización exacta de las teclas y las etiquetas del menú dependen del firmware y la configuración de GRUB. Si el menú está oculto, consulta el comportamiento de arranque del equipo en lugar de modificar la configuración del firmware al azar.
Una vez que el sistema se inicie, confirme el kernel en ejecución con uname -r. Un kernel anterior que funcione le brinda una ruta de recuperación y tiempo para inspeccionar los paquetes. No es una solución permanente: las actualizaciones de seguridad siguen siendo importantes, así que vuelva al kernel nuevo después de reparar su controlador. Si ninguno de los kernels se inicia normalmente, use la entrada de recuperación de Ubuntu o una memoria USB de arranque para hacer una copia de seguridad de los datos importantes antes de realizar cambios en los paquetes.
¿Qué debes comprobar antes de reinstalar algo?
Abra una terminal (o una consola de texto con Ctrl+Alt+F3 si el inicio de sesión gráfico no está disponible) y recopile una breve línea de base:
uname -rIdentifica el núcleo activo. mokutil --sb-stateInforma si el arranque seguro está habilitado. dkms statusMuestra si hay una compilación de soporte para módulos de núcleo dinámico registrada para ese núcleo. nvidia-smiPrueba la comunicación con el controlador NVIDIA cargado; es un comando de diagnóstico, no de reparación. El registro del núcleo puede revelar un módulo faltante, una compilación fallida o un rechazo de firma. La ausencia de una línea de registro coincidente no prueba que el controlador esté en buen estado.
Utilice el kernel activo, el estado de DKMS y la utilidad de NVIDIA conjuntamente para distinguir entre un problema de compilación faltante y un problema de controlador cargado; la salida de ejemplo puede variar según la versión.
¿Falló la compilación del módulo NVIDIA para el nuevo kernel?
Si DKMS solo muestra NVIDIA para un kernel antiguo, o si no hay ningún módulo NVIDIA disponible uname -r, instale los encabezados del kernel correspondientes y deje que Ubuntu repare su controlador empaquetado. Los encabezados proporcionan los archivos necesarios para compilar un módulo externo para el kernel en ejecución. Primero, asegúrese de tener acceso a la red y suficiente espacio en disco, luego ejecute:
La herramienta recomendada por Ubuntu ubuntu-driversselecciona un controlador disponible adecuado para la máquina. Revise los paquetes que propone APT antes de aceptarlos. Si el controlador ya está instalado y la compilación DKMS parece incompleta, identifique el paquete instalado en lugar de intentar adivinar una rama.
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
Luego, reinstale el paquete DKMS correspondiente que se muestra en su sistema (sustituya su nombre de paquete exacto): sudo apt install --reinstall nvidia-dkms-<branch>. Evite copiar un número de controlador de otra versión de Ubuntu o mezclar paquetes de Ubuntu con el instalador independiente de NVIDIA; los métodos de instalación alternativos pueden sobrescribir archivos o complicar el arranque seguro. Si APT informa dependencias no satisfechas, paquetes retenidos o una compilación DKMS fallida, lea el error completo antes de ejecutar más comandos. El registro de compilación relevante generalmente se encuentra en /var/lib/dkms/; use la ruta que se indica en el error en lugar de eliminar los directorios DKMS.
Instala los encabezados para el kernel en ejecución y, a continuación, repara el paquete DKMS de Ubuntu que ya esté seleccionado para el sistema. El nombre del paquete y la salida de APT varían.
¿El arranque seguro está bloqueando un módulo integrado?
Es posible. Con el arranque seguro activado, el kernel de Ubuntu verifica las firmas de los módulos del kernel de terceros. El sistema de gestión de paquetes de Ubuntu puede crear una clave de firma MOK y solicitar su registro. Si durante la instalación se solicitó establecer una contraseña de un solo uso, pero al reiniciar Ubuntu se inició directamente, es posible que la clave no se haya registrado. Consulte mokutil --sb-stateel registro del kernel para ver si hay mensajes de verificación o rechazo de clave.
Cuando la configuración del paquete de Ubuntu haya puesto en cola una inscripción de MOK, reinicie y siga las instrucciones en la pantalla azul del Administrador de MOK: seleccione Inscribir MOK , continúe, confirme la clave, introduzca la contraseña de un solo uso que creó durante la instalación del paquete y reinicie. Esta contraseña no tiene por qué ser la de su inicio de sesión de Ubuntu. Lea la pantalla con atención; la redacción del menú puede variar. Si no se puso en cola ninguna inscripción, la reinstalación de un paquete de controladores de Ubuntu compatible podría solicitar la configuración de la clave. No inscriba un archivo de clave desconocido ni comparta la contraseña de un solo uso.
Se accede a la pantalla de inscripción de MOK Manager durante el reinicio cuando hay una inscripción de clave pendiente; seleccione "Inscribir MOK" solo para la clave en la que desea confiar.
¿Qué ocurre si la compilación falla incluso con los archivos de cabecera instalados?
Comprueba si el nuevo kernel está completamente instalado y si sus encabezados coinciden exactamente: uname -rdeben corresponder al paquete de encabezados instalado. A continuación, revisa el error DKMS de APT y el registro de compilación. Un nuevo kernel puede presentar incompatibilidad con una rama de controlador NVIDIA anterior; la recompilación no puede solucionar el código fuente que no admite esa interfaz del kernel. Usa el selector de controladores de Ubuntu para instalar una rama compatible con tu versión y luego reinicia. Si instalaste el controlador con el instalador .run de NVIDIA, sigue las instrucciones de eliminación de NVIDIA antes de volver a los paquetes de Ubuntu; no sobrecargues gestores de paquetes.
Para un acceso temporal, inicie el kernel anterior desde GRUB y manténgalo instalado hasta que el controlador del nuevo kernel se cargue correctamente. Si utiliza un kernel personalizado, una variante no estándar o una configuración de servidor/computadora gráfica, la recomendación automática de escritorio de Ubuntu podría no coincidir con su configuración prevista. Consulte la documentación de ese kernel o carga de trabajo en lugar de forzar un paquete genérico.
¿Cómo se verifica que la solución funcionó?
Tras reparar los paquetes o registrar la clave, reinicie e inicie el nuevo kernel. Ejecute uname -r, dkms status, y nvidia-smide nuevo. Un resultado exitoso es una entrada DKMS para el kernel en ejecución, ningún rechazo de firma de módulo en el registro del kernel del arranque actual y nvidia-smila visualización de la información de la GPU y el controlador. Confirme también que se inicia la sesión de escritorio normal y que una aplicación que necesita aceleración de GPU puede usar la GPU NVIDIA. Los portátiles híbridos pueden usar intencionalmente gráficos integrados para el escritorio, por lo que una GPU silenciosa por sí sola no es prueba de fallo.
Si el mismo error persiste, guarde la salida completa de la compilación DKMS, la versión activa del kernel, la versión de Ubuntu ( cat /etc/os-release), el estado de Secure Boot y las líneas relevantes del registro del kernel. Estos detalles permiten identificar si el siguiente paso es una rama de controlador compatible, un problema de firma o un problema de compatibilidad del kernel. La guía oficial de Ubuntu recomienda su ubuntu-driversmétodo para la mayoría de los sistemas, especialmente cuando Secure Boot está habilitado; consulte Ubuntu Desktop: Instalar controladores NVIDIA , Ubuntu Server: Instalación de controladores NVIDIA y Ubuntu Security: UEFI Secure Boot . Para obtener detalles de compatibilidad de controladores de bajo nivel, consulte la documentación de instalación de controladores de Linux de NVIDIA . Las versiones de controladores disponibles y las instrucciones exactas varían según la versión de Ubuntu y el estado de compatibilidad con la GPU.