ubuntu20.04 安装显卡驱动

[复制链接]
发表于 2026-10-6 12:12:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

在 Ubuntu 20.04 上给 NVIDIA 显卡装驱动,看起来是一次安装,实际有先后依赖的六步:准备目录、装编译工具、清掉旧驱动、禁用开源驱动 nouveau、确认显示管理器、进字符界面执行安装。任何一步跳掉,后面都会以各种奇怪的方式失败。这篇按真实顺序把每一步和 corresponding 的注意点写清楚。

一、先想清楚要不要装.run 包

Ubuntu 自带开源驱动和新版驱动两条路。开源驱动装不上出问题但不会黑屏,.run 包能拿到新特性但要自己处理内核模块和显示管理器,装崩了会进不去图形界面。做开发机器、要跑 CUDA 的场景基本都绕不开 .run,所以下面按这条路走,但动手前先想清楚出问题能不能进字符界面救回来。

二、先把驱动放到英文路径

从官方驱动页面把对应显卡型号和系统的 .run 文件下下来。如果你的系统路径里有中文,命令行操作会各种报错,先建一个纯英文目录放过去:

mkdir ~/download
mv NVIDIA-Linux-x86_64-版本号.run ~/download

三、安装前的四项准备

第一项是编译工具,驱动安装过程要现编内核模块:

sudo apt update
sudo apt install build-essential

第二项是把旧的 NVIDIA 相关包彻底清掉,包括配置文件的残留也要一起处理:

sudo apt-get remove --purge nvidia*

第三项是禁用 nouveau 这个开源驱动。它和 .run 包里的内核模块冲突,不禁用安装会直接失败。写一个黑名单配置:

sudo apt install vim
sudo vim /etc/modprobe.d/blacklist.conf

在文件末尾加两行:

blacklist nouveau
options nouveau modeset=0

然后重建初始镜像,并重启:

sudo update-initramfs -u
reboot

重启后执行下面这条,没有任何输出就说明禁用了:

lsmod | grep nouveau

第四项是确认这台机器用的是哪个显示管理器,后面装之前要关的就是它。看一下这个文件的内容:

cat /etc/X11/default-display-manager

输出里带 gdm3 就是 gdm3,带 lightdm 就是 lightdm,后面命令要跟着改。

四、进字符界面再安装

图形界面开着的时候驱动装不上,要先切到纯字符终端:

sudo telinit 3

然后停掉显示服务,把画面交出来:

sudo service gdm3 stop

接着进目录、加执行权限、跑安装:

cd ~/download
sudo chmod a+x NVIDIA-Linux-x86_64-550.78.run
sudo ./NVIDIA-Linux-x86_64-550.78.run --no-opengl-files

--no-opengl-files 这个参数是关键,它跳过 OpenGL 文件安装,能避开大量图形界面相关的报错,装上之后图形栈反而更稳。

五、安装过程中四道问题的选择

  • 预安装脚本运行失败,是否继续:选继续安装。
  • 是否把内核模块源码注册到 DKMS:选否。后面禁用了内核自动更新,不需要 DKMS 兜底。
  • 是否安装 32 位兼容库:选否,开发环境用不到,装了徒增出错面。
  • 是否自动更新 X 配置:选否。让驱动接管即可,自动配置反而容易把现有桌面配置改乱。

六、装完怎么验证

装完把显示服务拉起来:

sudo service gdm3 start

回到图形界面后开个终端敲 nvidia-smi,能列出显卡信息、显存占用就说明驱动装成了。这比看安装日志日志更直接。

七、为什么装完还会掉驱动

Ubuntu 默认会开自动更新内核,内核一换,之前现编的驱动模块就和当前内核版本对不上了,表现是重启之后又进不去图形界面、nvidia-smi 报找不到驱动。很多人以为是自己装错了,其实是内核被更新了。

八、把内核更新和系统更新都关掉

禁内核更新改的是两个配置文件的参数值,把里面的数字都设成 0 再重启:

sudo vi /etc/apt/apt.conf.d/10periodic
sudo vi /etc/apt/apt.conf.d/20auto-upgrades

系统层面的更新在软件和更新这个图形工具里设置,把自动更新项关掉,只保留手动检查。注意这两件事都要做,少做一件内核还会自己涨回去。

九、小结

整条链路记六步:英文目录放包、装编译工具、purge 旧驱动、禁用 nouveau 并重建镜像、telinit 3 停显示服务再装、装完禁用内核与系统自动更新。这里真正的风险点是 nouveau 和内核自动更新这两个隐藏项,把这两点管住,驱动就能长期稳定,不用隔几个月重装一次。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表