Accueil
» Conseils PC
»
Comment résoudre le problème de chargement des pilotes Nvidia après une mise à jour du noyau sous Ubuntu
Comment résoudre le problème de chargement des pilotes Nvidia après une mise à jour du noyau sous Ubuntu
Une mise à jour du noyau peut laisser Ubuntu sur un écran de connexion avec des graphismes basse résolution, un écran noir ou un bureau fonctionnant sans accélération NVIDIA. Cela ne signifie pas automatiquement que la carte graphique est défaillante. Une mise à jour du noyau modifie le noyau sur lequel un module NVIDIA externe doit être compilé, et le démarrage sécurisé peut refuser de charger un module dont la clé de signature n'est pas approuvée.
Commencez par identifier la cause du problème. Si le noyau précédent démarre avec NVIDIA fonctionnel, le problème vient probablement du nouveau noyau ou de la compilation de ses modules. Si le module semble installé mais que le noyau signale un rejet de clé ou de signature, vérifiez le démarrage sécurisé et l'enregistrement de la clé propriétaire de la machine (MOK). Ce guide utilise le flux de travail des pilotes d'Ubuntu ; la terminologie des menus et les branches des pilotes peuvent varier selon la version d'Ubuntu et le matériel.
Vue GRUB illustrative : la sélection d’un noyau installé antérieurement peut aider à restaurer un bureau fonctionnel pendant que vous diagnostiquez le noyau mis à jour.
Est-il possible de démarrer d'abord le noyau précédent sans risque ?
Oui, s'il est toujours installé. Redémarrez et ouvrez le menu GRUB ; sur de nombreux systèmes, maintenir la touche Maj enfoncée (BIOS classique) ou appuyer sur Échap (UEFI) au démarrage permet de l'afficher. Choisissez « Options avancées » pour Ubuntu , puis sélectionnez l'ancien noyau sans « mode de récupération ». La séquence exacte des touches et les intitulés du menu dépendent du firmware et de la configuration de GRUB. Si le menu est masqué, référez-vous au comportement de l'ordinateur au démarrage plutôt que de modifier les paramètres du firmware au hasard.
Une fois le système démarré, vérifiez le noyau en cours d'exécution uname -r. Un noyau plus ancien fonctionnel vous offre une solution de récupération et le temps d'examiner les paquets. Il ne s'agit pas d'une solution permanente : les mises à jour de sécurité restent importantes, il est donc conseillé de revenir au nouveau noyau après avoir réparé son pilote. Si aucun des deux noyaux ne démarre normalement, utilisez le point d'entrée de récupération d'Ubuntu ou une clé USB live pour sauvegarder vos données importantes avant de modifier les paquets.
Que devez-vous vérifier avant de réinstaller quoi que ce soit ?
Ouvrez un terminal (ou une console texte avec Ctrl+Alt+F3 si la connexion graphique n'est pas disponible) et recueillez une courte base de données :
uname -rIdentifie le noyau actif. mokutil --sb-stateIndique si le démarrage sécurisé est activé. dkms statusAffiche si une version prenant en charge les modules de noyau dynamiques est enregistrée pour ce noyau. nvidia-smiTeste la communication avec le pilote NVIDIA chargé ; il s'agit d'une commande de diagnostic, et non de réparation. Le journal du noyau peut révéler un module manquant, une compilation ayant échoué ou un rejet de signature. L'absence de ligne correspondante dans le journal ne garantit pas le bon fonctionnement du pilote.
Utilisez conjointement le noyau actif, l'état DKMS et l'utilitaire NVIDIA pour distinguer un problème de compilation manquante d'un problème de pilote chargé ; les exemples de résultats peuvent varier selon la version.
Le module NVIDIA n'a-t-il pas pu être compilé pour le nouveau noyau ?
Si DKMS ne mentionne NVIDIA que pour un noyau ancien, ou si aucun module NVIDIA n'est disponible uname -r, installez les en-têtes du noyau correspondants et laissez Ubuntu réparer son pilote intégré. Les en-têtes fournissent les fichiers nécessaires à la compilation d'un module externe pour le noyau en cours d'exécution. Assurez-vous d'abord de disposer d'un accès réseau et d'un espace disque suffisant, puis exécutez :
L'outil recommandé par Ubuntu ubuntu-driverssélectionne un pilote disponible et adapté à la machine. Examinez les paquets proposés par APT avant d'accepter. Si le pilote est déjà installé et que la compilation DKMS semble incomplète, identifiez le paquet installé plutôt que de deviner une branche :
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
Réinstallez ensuite le paquet DKMS correspondant à celui indiqué sur votre système (remplacez son nom exact par le sien) sudo apt install --reinstall nvidia-dkms-<branch>. Évitez de copier un numéro de pilote depuis une autre version d'Ubuntu ou de mélanger les paquets Ubuntu avec l'installateur autonome de NVIDIA ; des méthodes d'installation concurrentes peuvent écraser des fichiers ou perturber le démarrage sécurisé. Si APT signale des dépendances non satisfaites, des paquets bloqués ou une erreur de compilation DKMS, lisez l'erreur complète avant d'exécuter d'autres commandes. Le journal de compilation pertinent se trouve généralement sous/var/lib/dkms/ ; utilisez le chemin indiqué dans l'erreur plutôt que de supprimer les répertoires DKMS.
Installez les en-têtes du noyau en cours d'exécution, puis réparez le paquet DKMS Ubuntu exact déjà sélectionné pour le système. Le nom du paquet et la sortie d'APT peuvent varier.
Le démarrage sécurisé bloque-t-il un module compilé ?
C'est possible. Avec le démarrage sécurisé activé, le noyau d'Ubuntu vérifie les signatures des modules tiers. Le système d'exploitation d'Ubuntu peut créer une clé de signature MOK et vous demander de l'enregistrer. Si l'installation a affiché une invite pour définir un mot de passe à usage unique, mais que le redémarrage suivant a lancé directement Ubuntu, il est possible que la clé n'ait pas été enregistrée. Consultez mokutil --sb-statele journal du noyau pour vérifier s'il s'agit d'une vérification ou d'un message de rejet de la clé.
Lorsque l'installation du paquet Ubuntu a mis en file d'attente l'enregistrement d'une clé MOK, redémarrez votre ordinateur et suivez les instructions à l'écran (bleu) du Gestionnaire de clés MOK : sélectionnez « Enregistrer la clé MOK » , puis « Continuer », confirmez la clé, saisissez le mot de passe à usage unique créé lors de l'installation du paquet et redémarrez. Ce mot de passe n'est pas nécessairement votre mot de passe de connexion Ubuntu. Lisez attentivement les instructions à l'écran ; le libellé des menus peut varier. Si aucun enregistrement n'a été mis en file d'attente, la réinstallation d'un paquet de pilote Ubuntu compatible peut vous demander de configurer une clé. N'enregistrez pas un fichier de clé inconnu et ne partagez pas le mot de passe à usage unique.
L'écran d'inscription du gestionnaire MOK s'affiche lors du redémarrage lorsqu'une inscription de clé est en attente ; sélectionnez « Inscrire MOK » uniquement pour la clé à laquelle vous souhaitez faire confiance.
Que se passe-t-il si la compilation échoue même avec les en-têtes installés ?
Vérifiez que le nouveau noyau est entièrement installé et que ses en-têtes correspondent exactement uname -rau paquet d'en-têtes installé. Examinez ensuite l'erreur DKMS d'APT et le journal de compilation. Un nouveau noyau peut révéler une incompatibilité avec une ancienne branche de pilote NVIDIA ; la recompilation ne peut pas corriger le code source qui ne prend pas en charge cette interface noyau. Utilisez le sélecteur de pilotes d'Ubuntu pour installer une branche compatible avec votre version, puis redémarrez. Si vous avez installé le pilote avec l'installateur .run de NVIDIA, suivez les instructions de désinstallation de NVIDIA avant de revenir aux paquets Ubuntu ; n'utilisez pas plusieurs gestionnaires de paquets simultanément.
Pour un accès temporaire, démarrez l'ancien noyau depuis GRUB et conservez-le installé jusqu'à ce que le pilote du nouveau noyau se charge correctement. Si vous utilisez un noyau personnalisé, une distribution non standard ou une configuration serveur/de calcul graphique, la configuration de bureau recommandée automatiquement par Ubuntu risque de ne pas correspondre à votre configuration. Consultez la documentation du noyau ou de la configuration requise plutôt que d'imposer un paquet générique.
Comment vérifier que la correction a fonctionné ?
Après la réparation des paquets ou l'enregistrement de la clé, redémarrez l'ordinateur et démarrez le nouveau noyau. Exécutez les commandes suivantes : uname -r[ commande 1], [commande 2] et [commande 3]. Une entrée DKMS est présente pour le noyau en cours d'exécution, aucun rejet de signature de module n'apparaît dans le journal du noyau lors du démarrage actuel, et les informations relatives au GPU et à son pilote s'affichent. Vérifiez également que la session de bureau démarre normalement et qu'une application nécessitant l'accélération GPU peut utiliser le GPU NVIDIA. Les ordinateurs portables hybrides peuvent utiliser intentionnellement la carte graphique intégrée pour le bureau ; par conséquent, un GPU silencieux n'est pas à lui seul une preuve de panne.dkms statusnvidia-sminvidia-smi
Si l'erreur persiste, enregistrez la sortie complète de la compilation DKMS, la version du noyau actif, la version d'Ubuntu ( cat /etc/os-release), l'état du démarrage sécurisé et les lignes pertinentes du journal du noyau. Ces informations permettent de déterminer si l'étape suivante consiste à installer une branche de pilote compatible, à résoudre un problème de signature ou un problème de compatibilité du noyau. La documentation officielle d'Ubuntu recommande cette ubuntu-driversméthode pour la plupart des systèmes, en particulier lorsque le démarrage sécurisé est activé ; consultez les guides d'installation des pilotes NVIDIA pour Ubuntu Desktop , Ubuntu Server et Ubuntu Security : Démarrage sécurisé UEFI . Pour plus de détails sur la compatibilité des pilotes, consultez la documentation d'installation des pilotes NVIDIA pour Linux . Les versions de pilotes disponibles et les instructions précises varient selon la version d'Ubuntu et la prise en charge du GPU.