NVIDIA驱动安装之禁用nouveau
NVIDIA驱动安装之禁用nouveau
最近实验室的服务器英伟达驱动重启之后就不能用了,查明原因原来是因为Ubuntu自动升级了内核,导致原本的驱动失效了,所以一定不要没事干去升级内核,下面介绍一下重装驱动的曲折之旅。
0x00更改blacklist(没成功)
0.备份boot文件
1.更改conf文件
sudo nano /etc/modprobe.d/blacklist.conf
#尾部追加blacklist
blacklist nouveau
options nouveau modeset=0
2.重新生成 kernel initramfs:
sudo update-initramfs -u
3.禁用图形化界面
$ sudo systemctl get-default
graphical.target
$ sudo systemctl set-default multi-user.target
Created symlink /etc/systemd/system/default.target → /lib/systemd/system/multi-user.target.
$ sudo systemctl get-default
multi-user.target
4.重启,然后 lsmod | grep nouveau ,还是有该模块。
0x01移除nouveau.ko(没成功)
1.打开/lib/modules/目录
sudo find -name ‘nouveau*’
2.然后将查找到的ko文件重命名
sudo mv ./4.15.0-117-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko ./4.15.0-117-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bkp
sudo mv ./4.15.0-128-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko ./4.15.0-128-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bkp
3.重新生成 kernel initramfs:
sudo update-initramfs -u
4.重启,然后 lsmod | grep nouveau ,还是有该模块。失败
0x02配置grub禁用启动项
最后迫于尝试了查到的方法都不是很靠谱,咨询了一下开源社区的学长们,给出了解决方案成功了,此时还是处于level3
文字界面的。
1.增加内核参数禁用
sudo nano /etc/default/grub
#增加modprobe.blacklist=nouveau
GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=nouveau"
modprobe
用于向Linux Kernel
添加 或 移除 kernel modules
。 kernel modules
以.ko
作为扩展名。
这里是增加了一个黑名单,在grub
时禁用掉该模块。
2.重新新生成配置
sudo grub-install
注:2022.11.14
更新说明,根据“阿离”同学反馈,更新grub配置
应当使用以下命令:
sudo update-grub
3.重启后 lsmod | grep nouveau便发现没有了这个模块,然后成功安装了英伟达的驱动。
总结
据学长所说,好像新内核是builtin
的了,所以需要在grub
里边禁用,对Linux
的学习之路任重道远啊!