ubuntu2004自动更新内核导致nvidia驱动无法正常启动的问题

本文讲述了用户在开机后遇到nvidia-smi无法显示显卡状态且无法连接多个显示屏的问题,通过检查已安装的nvidia-535.54.03驱动,给出了使用dkms进行更新和重启电脑的解决方案。

症状

开机后,nvidia-smi无法正常显示显卡状态,另外无法连接多个显示屏

解决

参考

为了避免Ubuntu系统因自动更新导致内核NVIDIA显卡驱动版本兼容,可以采取以下措施: ### 1. 禁止内核自动更新 Ubuntu的包管理系统默认会自动安装更新,包括Linux内核。为了防止内核自动更新,可以通过锁定特定的内核版本来实现。使用以下命令将当前内核设置为固定版本: ```bash sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r) linux-modules-$(uname -r) ``` 该命令会对当前正在使用的内核镜像、头文件和模块进行锁定,阻止它们被升级[^3]。 ### 2. 使用DKMS(Dynamic Kernel Module Support) 确保已安装`dkms`工具,这样即使未来内核更新,它也能尝试自动重新编译并安装适用于新内核NVIDIA驱动程序: ```bash sudo apt-get install dkms ``` 在安装新的NVIDIA驱动时,确保通过`dkms`机制完成安装,以保证其能够适应后续的内核版本变化。例如,安装指定版本的NVIDIA驱动后运行: ```bash sudo dkms install -m nvidia -v <version> ``` 其中 `<version>` 替换为实际的驱动版本号[^4]。 ### 3. 手动管理驱动安装 选择手动安装NVIDIA官方提供的.run格式驱动包,而是通过Ubuntu仓库或PPA安装。这种方法允许更精细地控制驱动版本,并且可以在每次内核更新后手动重建驱动模块。下载驱动后执行以下步骤: ```bash chmod +x NVIDIA-Linux-x86_64-<version>.run sudo ./NVIDIA-Linux-x86_64-<version>.run --dkms ``` 这会利用DKMS功能注册驱动,使其具备跨内核版本的兼容性[^1]。 ### 4. 配置GRUB避免意外启动内核 编辑 `/etc/default/grub` 文件,找到 `GRUB_DEFAULT` 行并将其设置为固定的旧内核条目,例如: ```bash GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-42-generic' ``` 然后更新GRUB配置: ```bash sudo update-grub ``` 此方法确保系统重启时默认加载的是经过验证且与NVIDIA驱动兼容的内核版本。 ### 5. 定期检查驱动状态 定期运行 `nvidia-smi` 命令确认驱动是否正常工作: ```bash nvidia-smi ``` 如果发现驱动失效,应立即检查当前内核版本是否匹配,并考虑重新安装对应的NVIDIA驱动版本[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值