Accueil
» LINUX
»
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 Ubuntu peut permettre à un système NVIDIA de démarrer normalement alors que le pilote propriétaire ne se charge plus. Les symptômes visibles varient : nvidia-smimessage d’erreur indiquant une impossibilité de communication avec le pilote, applications CUDA ne reconnaissant plus le GPU, basculement du rendu logiciel vers le bureau, voire modprobe nvidiaplantage. La solution consiste à identifier la couche défectueuse plutôt que de tout réinstaller.
Ce document de référence traite des pilotes NVIDIA fournis avec Ubuntu et des recommandations actuelles de Canonical. En octobre 2026, Ubuntu recommandait l' ubuntu-driversoutil ou l'application « Pilotes supplémentaires » pour la plupart des systèmes et préconisait l'utilisation de modules noyau précompilés et signés lorsqu'ils étaient disponibles. La documentation NVIDIA pour Ubuntu est également compatible avec Ubuntu 22.04, 24.04 et 26.04, mais la dénomination des paquets diffère selon les versions ; par conséquent, ne copiez pas le numéro de branche d'un exemple à moins qu'il ne soit effectivement disponible pour votre machine.
Liste de contrôle pour un diagnostic rapide
Vérifier
Commande
Ce que cela vous dit
Noyau en cours d'exécution
uname -r
L'ABI du noyau exact qui nécessite un module NVIDIA correspondant.
Statut du conducteur
nvidia-smi
Est-il possible pour l'espace utilisateur de communiquer avec le module noyau NVIDIA chargé ?
Modules chargés
lsmod | grep -E 'nvidia|nouveau'
Que ce soit actuellement NVIDIA ou Nouveau qui possède le GPU.
forfait recommandé
sudo ubuntu-drivers list
Branches de pilotes qu'Ubuntu considère comme appropriées pour le matériel.
Démarrage sécurisé
mokutil --sb-state
Peut-on rejeter les modules de noyau tiers non signés ?
Indices utiles en cas d'incompatibilité d'API, de rejet de signature ou d'échec de sondage.
Voici un exemple typique d'erreur après une mise à jour : le nouveau noyau s'exécute, mais le module NVIDIA n'est pas chargé. Les versions exactes du noyau et des pilotes sur votre système peuvent varier.
1. Confirmez que le problème a commencé avec le noyau actuel
Commencez par enregistrer le noyau en cours d'exécution et l'état actuel de la carte NVIDIA :
En cas nvidia-smid'échec et si aucun nvidiamodule n'apparaît lsmod, l'erreur se situe en dessous de la couche CUDA ou de l'application de bureau. Si nvidia-smiune erreur est signalée Failed to initialize NVML: Driver/library version mismatch, Canonical la décrit comme une incompatibilité entre les modules espace utilisateur et noyau, souvent consécutive à une mise à jour de pilote ; un redémarrage peut suffire si le nouveau module est déjà installé.
Si vous pouvez encore sélectionner un noyau plus ancien via GRUB et que le pilote y fonctionne, cela indique fortement que le nouveau noyau ne dispose pas d'un module NVIDIA utilisable. Un noyau plus ancien constitue une solution temporaire utile, mais ne représente pas une réparation définitive, car la compatibilité entre le noyau et le pilote actuels reste indispensable.
2. Demandez à Ubuntu quelle branche de pilotes il recommande.
Sur un ordinateur de bureau ou une station de travail Ubuntu standard, utilisez la logique de sélection des pilotes d'Ubuntu plutôt que de deviner une branche :
sudo apt update
sudo ubuntu-drivers list
Pour la plupart des ordinateurs de bureau et des systèmes de jeu, Canonical recommande le pilote UDA standard plutôt qu'un -serverpaquet. Sur les serveurs de calcul, suivez les instructions spécifiques aux serveurs, ubuntu-drivers list --gpgpule cas échéant. Si votre système a été précédemment installé avec l'installateur autonome NVIDIA .runou un dépôt tiers, l'utilisation de plusieurs sources de paquets peut compliquer le diagnostic. Canonical avertit explicitement que les pilotes installés en dehors de ses méthodes documentées peuvent écraser les composants fournis par Ubuntu et perturber le démarrage sécurisé.
Utilisez la détection automatique des pilotes Ubuntu pour identifier la branche appropriée pour le GPU installé au lieu de coder en dur une version provenant d'une autre machine.
3. Vérifiez le démarrage sécurisé avant toute reconstruction.
Le démarrage sécurisé est une cause fréquente de non-chargement d'un module NVIDIA présent sur le disque. Vérifiez son état :
mokutil --sb-state
sudo modprobe nvidia
Si le démarrage sécurisé est activé et modproberenvoie un message tel que celui-ci Key was rejected by service, le noyau applique la validation des modules. Ubuntu impose depuis des années la validation des modules du noyau sous démarrage sécurisé sur les versions amd64 prises en charge. Canonical recommande d'utiliser des modules NVIDIA précompilés et signés lorsqu'ils sont disponibles. Si vous utilisez DKMS, Ubuntu peut exiger la création et l'enregistrement d'une clé de propriétaire de machine (MOK) au redémarrage.
Ne désactivez pas le démarrage sécurisé en premier lieu. Cela peut constituer un test de diagnostic rapide dans un environnement contrôlé, mais la meilleure solution consiste généralement à installer un module signé ou à enregistrer correctement la clé d'activation (MOK). Canonical décrit la procédure d'enregistrement dans sa documentation relative au démarrage sécurisé UEFI .
Un rejet de signature indique un problème de confiance avec le démarrage sécurisé plutôt qu'une absence de GPU. Résolvez le problème de signature des modules ou d'inscription MOK au lieu de réinstaller systématiquement les bibliothèques espace utilisateur.
4. Vérifiez si le module NVIDIA correspondant existe pour le noyau en cours d'exécution
Les paquets NVIDIA précompilés d'Ubuntu sont liés à une ABI du noyau. Remplacez-les DRIVER_BRANCHpar la branche indiquée parubuntu-drivers list :
Si le paquet est installé pour le noyau actuel, passez aux vérifications de démarrage sécurisé, de Nouveau et des journaux ci-dessous. S'il est manquant, installez le paquet de module correspondant :
Canonical prend également en charge l'installation du métapaquet de configuration, linux-modules-nvidia-${DRIVER_BRANCH}-genericqui permet aux futures mises à jour du noyau d'intégrer les modules NVIDIA correspondants. Le nom exact du paquet dépend de votre version d'Ubuntu, de la configuration du noyau, de la branche du pilote et du type de serveur utilisé ; vérifiez donc le nom proposé par APT avant de confirmer.
La vérification de la politique des paquets permet de distinguer un module NVIDIA spécifique au noyau manquant d'un problème de pilote en espace utilisateur.
5. Si vous utilisez DKMS, assurez-vous que les en-têtes du noyau actuels sont présents.
DKMS crée un module spécifique au noyau que vous utilisez. Il nécessite donc les en-têtes du noyau correspondants. Canonical recommande DKMS principalement lorsque les modules précompilés ne sont pas disponibles, notamment avec certains noyaux personnalisés.
sudo apt install linux-headers-$(uname -r)
dkms status
Si l'entrée NVIDIA DKMS n'indique pas une compilation réussie pour le noyau actuel, consultez le journal de compilation /var/lib/dkms/avant de tenter de supprimer des paquets au hasard. Les échecs courants incluent des en-têtes manquants, des combinaisons compilateur/noyau non prises en charge ou un problème de signature de module. Après avoir corrigé le prérequis, réinstallez le paquet DKMS approprié ou utilisez la procédure automatisée d'Ubuntu :
sudo ubuntu-drivers install --include-dkms
N'utilisez cette commande que lorsque DKMS est réellement nécessaire. La documentation actuelle de Canonical indique que les modules précompilés sont la solution privilégiée par la plupart des utilisateurs, notamment avec le démarrage sécurisé.
Des en-têtes de noyau correspondants sont nécessaires lorsque DKMS doit compiler un module NVIDIA pour le noyau actuel.
6. Installez le module précompilé manquant lorsqu'il est disponible.
Si l'étape 4 a montré que le noyau actuel ne contient pas le module NVIDIA précompilé, installez-le explicitement et laissez APT reconstruire l'initramfs :
Vérifiez ensuite que l'installation d'APT s'est terminée sans erreur de dépendance. Évitez de forcer l'installation des paquetsdpkg --force-* ; cela peut entraîner des versions incompatibles du module noyau, des bibliothèques espace utilisateur et du métapaquet.
En cas de doute sur la branche à utiliser, la réparation générale la plus sûre est :
sudo ubuntu-drivers install
Canonical indique qu'il ubuntu-driversutilise la même logique que l'application Pilotes supplémentaires et choisit, par défaut, des pilotes précompilés et signés connus pour fonctionner avec le démarrage sécurisé.
L'installation du module spécifique au noyau corrige le problème courant où la branche du pilote est présente mais où le nouveau noyau ne dispose pas de son module NVIDIA correspondant.
7. Redémarrez après les modifications du package
Le redémarrage n'est pas ici purement formel. Le noyau en cours d'exécution peut conserver un ancien module NVIDIA en mémoire alors qu'APT a déjà mis à jour les bibliothèques espace utilisateur sur le disque. Canonical documente précisément ce phénomène comme étant la cause d'une incompatibilité de version entre le pilote et la bibliothèque NVML après les mises à jour.
sudo reboot
Après le redémarrage, ne réinstallez pas immédiatement. Vérifiez d'abord le résultat avec les commandes de la section suivante.
Après toute modification du pilote ou du module du noyau, redémarrez le système afin que le noyau charge le module NVIDIA nouvellement installé et que les composants de l'espace utilisateur retrouvent leur version initiale.
Une réparation réussie présente trois signes utiles : nvidia-smila liste du GPU, lsmodl’affichage des modules NVIDIA et /proc/driver/nvidia/versionl’indication de la version du module en cours d’exécution. Pour les charges de travail CUDA, relancez également l’application ou le framework qui avait échoué ; nvidia-smicela prouve à lui seul la communication entre les pilotes, et non la compatibilité de toutes les bibliothèques CUDA de votre environnement.
État final satisfaisant : nvidia-smi peut communiquer avec le GPU et les modules du noyau NVIDIA sont chargés. Les valeurs affichées sont données à titre d’exemple et ne constituent pas une version requise.
Si cela ne fonctionne toujours pas : utilisez le symptôme pour choisir l’action suivante.
« Incompatibilité de version entre le pilote et la bibliothèque »
Redémarrez d'abord. Comparez ensuite la version du module noyau en cours d'exécution avec les paquets installés. Canonical indique que des composants espace utilisateur mis à jour peuvent temporairement entrer en conflit avec un module plus ancien encore chargé en mémoire. Si l'incompatibilité persiste après le redémarrage, vérifiez la présence de sources de paquets mixtes et de plusieurs branches de pilotes.
« Aucun périphérique n'a été trouvé » et Nouveau est chargé
Vérifier:
lsmod | grep nouveau
La documentation serveur d'Ubuntu indique que Nouveau peut entrer en conflit avec le pilote propriétaire NVIDIA dans ce cas. Si Nouveau est chargé et que vous souhaitez utiliser le pilote propriétaire, Canonical recommande de le bloquer et de reconstruire l'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
Ne bloquez pas Nouveau simplement parce qu'il est présent sur le disque ; vérifiez d'abord qu'il est effectivement chargé et pertinent par rapport à la panne.
modprobe nvidiaindique que la clé a été rejetée
Revenez au chemin du démarrage sécurisé. Utilisez des modules Ubuntu signés lorsque cela est possible, ou effectuez l'enregistrement MOK pour un module DKMS. La réinstallation répétée du même module non signé ne modifiera pas la décision de confiance.
Le nouveau noyau ne dispose d'aucun module compatible.
Démarrez temporairement avec un noyau ancien fonctionnel, maintenez le système à jour et vérifiez si Ubuntu fournit un module précompilé compatible avec le noyau plus récent. Si vous utilisez délibérément un noyau personnalisé, DKMS peut convenir, mais consultez son journal de compilation et assurez-vous de la présence d'une signature de démarrage sécurisé. Évitez de figer un ancien noyau indéfiniment, sauf si vous disposez d'un plan de maintenance pour les mises à jour de sécurité.
Commandes à recueillir avant de demander de l'aide
Ces commandes fournissent un ensemble de diagnostics compact sans modifier le système :
Veuillez indiquer la version d'Ubuntu (depuis ` lsb_release -a/etc/ubuntu` ou `/etc /etc/os-release/ubuntu`), le noyau exact utilisé uname -ret préciser si le pilote a été installé initialement via les paquets Ubuntu, le dépôt NVIDIA, un PPA ou le programme d'installation autonome. Ces détails sont généralement plus importants que la simple affirmation que « le pilote ne fonctionne plus après une mise à jour ».
prévention pratique
Privilégiez le flux de travail d'Ubuntu ubuntu-driversou celui des pilotes supplémentaires pour les systèmes de bureau classiques.
Conservez le métapaquet de saveur du noyau installé afin que les futures mises à jour du noyau puissent inclure les modules NVIDIA correspondants.
Redémarrez après les mises à jour du noyau ou du pilote NVIDIA au lieu de continuer avec une pile mixte en mémoire/sur disque.
Conservez au moins un noyau fonctionnel connu jusqu'à ce que vous ayez confirmé que le nouveau démarre avec le pilote GPU.
Évitez de mélanger les paquets Ubuntu, les PPA, le programme d'installation autonome de NVIDIA et plusieurs dépôts, sauf si vous gérez intentionnellement les conséquences.
La branche exacte du pilote, l'ABI du noyau et les noms des paquets dépendent de la version. Utilisez toujours les valeurs fournies par votre système et APT plutôt que de considérer les exemples de versions comme universels.