Ubuntu电脑重启后,经常用不了GPU,报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA
这个问题大都是ubuntu内核自动更新导致,驱动与系统(内核)不兼容
使用命令查看:
nvidia-smi
一 最简单的办法,禁用内核自动更新:
sudo apt-mark hold linux-image-generic linux-headers-generic
附带,重新启用内核更新:
sudo apt-mark unhold linux-image-generic linux-headers-generic
二 重装nvidia驱动
在 Ubuntu 系统中,NVIDIA 驱动通常以 DKMS 模块 的形式安装,这样可以在内核升级后自动重新编译显卡驱动。出现 dkms install 报错的常见原因包括:
1. DKMS 配置文件缺失
/usr/src/nvidia-<version>/ 目录存在,但缺少 dkms.conf 文件,说明驱动源码目录不完整。可能是之前手动安装 .run 文件,或者升级/卸载时残留。
2. APT 与 .run 混装
一部分驱动通过 APT(官方仓库)安装,另一部分来自 NVIDIA 官网 .run 安装包,造成环境不一致。
3. 内核与 headers 不匹配
当前运行的内核版本与系统已安装的 linux-headers 不对应,导致 DKMS 无法编译。
4. 残留文件未清理
/usr/src/nvidia-* 里残留旧版本目录,DKMS 会尝试加载,结果找不到完整源码。
5. 系统更新后未重启
内核升级后仍运行旧内核,headers 却对应新内核,导致编译目标和实际运行环境不一致。
重装流程:
# 步骤 1:卸载旧驱动
sudo apt-get purge -y 'nvidia-*'
sudo apt-get autoremove -y
sudo apt-get autocleansudo rm -rf /usr/src/nvidia-* # 清理残留源码目录:
# 步骤 2:更新系统并安装依赖
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential dkms linux-headers-$(uname -r)# 步骤 3:安装驱动
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall # 自动选择推荐版本sudo apt-get install -y nvidia-driver-550 # 手动指定版本(示例:550)
# 步骤 4:更新启动镜像并重启
sudo update-initramfs -u
sudo reboot# 步骤 5:验证
nvidia-smi # 重启后执行
dkms status # 检查 DKMS 状态
在重装过程中,可能会碰到各种各样的问题
比如:卸载NVIDIA驱动时存在依赖关系冲突
无法打开锁文件 /var/lib/dpkg/lock-frontend - open
镜像源连接问题
没有公钥,无法验证下列签名: NO_PUBKEY A4B469963BF863CC
上网查找解决办法,一般都能找到,祝大家成功解决问题!
更多推荐
所有评论(0)