这个问题大都是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 autoclean

sudo 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

上网查找解决办法,一般都能找到,祝大家成功解决问题!

                     

                        

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐