运维系列&AI系列&Lenovo-G双系统系列(前传-装之前搜索的):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 moduleskernel modules.ko作为扩展名。

这里是增加了一个黑名单,在grub时禁用掉该模块。

2.重新新生成配置

sudo grub-install

注:2022.11.14更新说明,根据“阿离”同学反馈,更新grub配置应当使用以下命令:

sudo update-grub

3.重启后 lsmod | grep nouveau便发现没有了这个模块,然后成功安装了英伟达的驱动。

总结

据学长所说,好像新内核是builtin的了,所以需要在grub里边禁用,对Linux的学习之路任重道远啊!







X’s Blog

NVIDIA驱动安装之禁用nouveau

posted @ 2024-09-02 14:35  坦笑&&life  阅读(45)  评论(0编辑  收藏  举报  来源