引入
重启电脑后,再次出现上述这个问题,仿照上面的方法却发现出问题了:Error! Bad return status...
提示我查看 /var/lib/dkms/nvidia/xxx/build/make.log
,查找到了:
ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'rcu_read_unlock_strict'
询问LLM,告诉我需要给内核降版本或者给显卡驱动升级,或者对内核文件的一些小操作。然后我发现确实是内核升级了,这一次使用 dkms
还不能自动适配。以下附上一些查看命令:
# 查看当前系统内核版本
uname -r
# 当前驱动版本号
ls /usr/src | grep nvidia
# 查看已安装的内核镜像 install部分才是已安装的
dpkg --get-selections | grep linux-image
处理方法1:自主选择系统内核
在系统启动处选择原来的版本,为此需要:
sudo vim /etc/default/grub
进行如下操作:注释GRUB_TIMEOUT_STYLE一行(在系统启动时,GRUB菜单默认是隐藏的);设置显示时间
# GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
这样能够在开机后选择:Advance option for Ubuntu
→
\to
→ 自主选择系统内核
附:查看可用内核、卸载内核,固定内核
-
查看可用内核
apt-cache search linux-image
-
卸载内核
sudo apt purge linux-image-xxx sudo apt purge linux-headers-xxx sudo apt autoremove sudo update-grub
其中
xxx
指的是内核对应的信息,通过dpkg --get-selections | grep linux-image
查看到,对应的headers
通过dpkg --get-selections | grep linux-headers
得知。 -
固定内核
sudo apt-mark hold linux-image-generic linux-headers-generic
取消固定则为:
sudo apt-mark unhold linux-image-generic linux-headers-generic
总结
其实我只是绕开了原来的问题,给内核降版本。在 https://www.nvidia.cn/Download/index.aspx?lang=cn
里查到了显卡驱动版本也可以升级。感觉work就行,是不是最新的也不重要。