Linux上驱动Nvidia的疑难问题合集
Linux上驱动Nvidia的疑难问题合集
网络上有大量的资料,介绍Nvidia驱动的安装,我们不再赘述,这里专门汇集各种疑难杂症。
本来好好的,一个 apt upgrade 显卡就不能驱动了
问题表现: 本来都好好的,无意之间,apt upgrade 了,结果,显卡就无法驱动了。
问题原因:一般是打开了UEFI安全启动,然后因为apt upgrade 升级了内核,导致驱动签名失败,Nvidia无法启动显卡。
解决方式:
# 可能会有一些警告,不用管
sudo dkms install -m nvidia -v $(modinfo -F version nvidia) --force
# 更新内核配置,加载新驱动
sudo update-initramfs -u
# 重启生效
sudo reboot
为了避免重蹈覆之,我们要做3步操作,彻底锁住内核,避免再次悲剧。
apt-mark hold 锁住内核
# 锁定一些软件包
sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r) linux-headers-$(uname -r) linux-modules-$(uname -r)
sudo apt-mark hold linux-firmware
# !!!!这是解锁,不需要执行。 如果将来想解锁;再执行本语句
sudo apt-mark unhold linux-image-$(uname -r) linux-headers-$(uname -r) linux-headers-$(uname -r) linux-modules-$(uname -r)
sudo apt-mark unhold linux-firmware
# 查看锁定情况
sudo apt-mark showhold
内核加入Ubuntu升级黑名单
ubuntu,实际上的安全策略,会突破apt-mark的约束,可能导致仍旧升级了内核,继续加入黑名单
sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
然后找到 Package-Blacklist 的关键字,修成为如下:
Unattended-Upgrade::Package-Blacklist {
"linux-image*";
"linux-headers*";
"linux-modules*";
"linux-generic";
};
锁住驱动的版本
# 查看已安装的 nvidia 驱动包
dpkg -l | grep nvidia-driver
#!!!!! 根据实际清空,改成 已安装的版本锁住
sudo apt-mark hold nvidia-driver-535 nvidia-dkms-535