内核升级导致nvidia驱动失效
一、概述
关于NVIDIA-SMI失效
有时候执行nvidia-smi命令时会报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running,这种可能是由于最近升级内核导致的新内核无法启动驱动。
二、处理方法
1.查看之前安装的nvidia驱动版本
ls /usr/src | grep nvidia
# 得到如下输出
nvidia-550.90.072.使用dkms重新安装
# 有些机器需要安装dkms,如果已安装则忽略
sudo apt-get install dkms
# 使用dkms重新编译
# 注意 -v 后面的版本号,就是第一步中 nvidia- 后面的内容,如果上面输出是 nvidia-550.90.07 ,那就得 -v 550.90.07
sudo dkms install -m nvidia -v 550.90.073.重启电脑
再执行nvidia-smi就恢复正常了
三、拓展内容
3.1 DKMS工具
DKMS(Dynamic Kernel Module Support,动态内核模块支持)是Linux系统中的一种工具,主要用于自动化管理内核模块的编译与安装。它的核心功能是当系统内核版本发生变化时(例如升级内核),自动重新编译和安装依赖于该内核的第三方驱动模块(如NVIDIA显卡驱动、VirtualBox虚拟机驱动等),从而确保这些模块始终适配当前运行的内核版本。
3.2 查看内核模块
通过lsmod命令查看内核模块。
lsmode | grep nvidia正常情况下的输出范例:
nvidia_uvm 1765376 14
nvidia_drm 90112 8
nvidia_modeset 1314816 3 nvidia_drm
nvidia 56619008 1401 nvidia_uvm,nvidia_modeset
drm_kms_helper 249856 4 ast,nvidia_drm
video 73728 1 nvidia_modeset
drm 696320 16 drm_kms_helper,ast,drm_shmem_helper,nvidia,nvidia_drm