Ubuntu22.04 安装NVIDIA驱动
00 分钟
2023-12-9
2025-1-13
type
status
title
summary
slug
Created
Dec 9, 2023 03:06 PM
category
tags
Date
icon
password

一、前言

前段时间装了一个主机,准备用来跑图,显卡是英伟达 4060Ti 16G,以下是安装显卡驱动的一些经验(由于我是第一次安装,所以一些卸载旧驱动的操作我是不用的
 

二、显卡驱动安装

第一步是查看你的显卡型号,在Ubuntu中可以通过 lspci 命令查看系统中所有 PCI 设备信息,比如显卡这些
 
像我的话其实看不到具体的型号,只看到 NVIDIA Corporation Device 2805,如果你也跟我一样,可以通过这个网站,然后输入 2805 进行查询(注意是VGA compatible 这一行的型号 )
notion image
 
在Ubuntu上,还可以通过 ubuntu-drivers 查看哪些设备还需要装驱动以及推荐的驱动型号,不过这个命令是Ubuntu独有的
 
第二步是下载一些必要的依赖
 
第三步是禁用nouveau 驱动。Ubuntu 默认安装了第三方开源的驱动程序 nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
 
注意,执行 sudo update-initramfs -u 后一定要手动重启电脑,这是为了确保驱动禁用生效!!!!!
 
到了这里其实有一个分水岭,因为不止一种方式可以安装显卡驱动,我看了不下十个教程,总体而言可以分为两种,第一种就是使用Ubuntu自带的软件更新器,里面有一个附加组件,这种方式比较保险,一般不会出问题,但是下载较慢;第二种就是去英伟达官网下载驱动程序,然后手动安装,但这种看起来不太稳定,容易翻车,我在网上看过不少都出现过黑屏的问题。
 
 
2.1 使用软件更新器安装显卡驱动
使用这种方式也要禁用 nouveau 驱动,不然安装过程中也会因为冲突报错。这种方式可以在界面上操作,也可以在命令行操作。
 
2.1.1 在界面上进行操作:
可以看到这里面列举了多个驱动,那么选哪个呢?细心的你可能发现了,这里其实跟 ubuntu-drivers 列举的是一致的,所以我们勾选那个推荐的即可(需要注意,界面展示的顺序和ubuntu-drivers 列举的顺序不一致!!要根据名字辨别
notion image
注:安装后重启即可!
 
 
2.2.2 在命令行进行操作:
命令行也有两种方式,第一种是用到我前面提到的 ubuntu-drivers 指令,这个指令有个 autoinstall 子命令可以帮我们自动安装,还有一种是用 apt-get 安装,需要指定驱动名。
 
需要先查出有哪些驱动可以安装:
 
可以看到有挺多驱动可以选的,具体选哪个,我建议是选带 recommended
 
本来我以为这种方式是不会踩坑的,没想到还是栽了一个跟头 🥲!!
事情的过程是这样,我在安装的过程中临时做了别的事情,然后好像有些东西没确认,它的进度也一直卡在76%,我就误以为它安装太慢,所以手贱中断掉安装了,注意是中断安装不是中断下载,因为我为了中断,把dpkg的锁也删掉了,接着当我想要重新安装,或者卸载Nvidia驱动的时候,dpkg一直报错
 
后面看了一个教程,地址在这里,解决了上面dpkg的问题(非常感谢这个教程!)。
 
解决了dpkg的问题,我就用 sudo apt remove --purge nvidia-driver-535 卸载驱动(感觉这个命令应该有点问题,没有卸载全,应该用 sudo apt-get --purge remove "nvidia"),没有啥报错,但当我想通过界面重新安装,发现报错了
notion image
 
这个报错没找到解决办法,我就索性用命令行的方式重新安装 nvidia-driver-535,不过还是不行,又遇到了上面dpkg的问题,所以又得按照上面的命令一顿操作
 
尝试用 nvidia-smi 命令查看,发现提示这个
 
在网上看了一个教程,步骤如下,不过试了还是没用
 
我就再重启,看重启大法能否帮助我起死回生,但试了还是不行,我就又再次重新安装,不过这次有两个不同,一是我用其他命令卸载(我觉得这个命令才是对的),二是我添加了源,所以推荐驱动变成 nvidia-driver-545,重新安装的也是545,不是535。
添加新的源后,发现一个新的问题,下载比535慢了很多!试了下可以换成其他源,舒服了!感谢各路英雄提供的教程
因为我开启了UEFI Secure Boot,下载的途中会提示这个,选择确定
notion image
 
接着会让你输入一个密码,注意这个在重启的时候会用到,要保管好!
notion image
 
上面的步骤搞定后,输入 nvidia-smi 其实还是不行的,需要重启电脑
 
重启电脑后会出现一个 Perform MOK management 的蓝色界面,这是因为安装完显卡驱动后,系统需要重启加载驱动,如果你直接选择 continue reboot, 可能导致新安装的 N 卡驱动没有加载,正确的做法如下:
1、选择 Enroll MOK
notion image
 
2、进入Enroll MOK 界面,选择 continue
notion image
 
3、进入Enroll the key 界面,选择 Yes,接下来输入你在前面安装驱动设置的密码!
notion image
 
4、之后会跳到蓝色背景的界面 Perform MOK management 选择第一个 Reboot
notion image
 
5、重启成功后,输入 nvidia-smi ,这次就终于成了!!
 
最后不管是命令行还是界面操作,记得把更新选项改成下面的,避免因为更新内核导致驱动版本不匹配!!
notion image
 
 
参考教程:
 
2.2 手动安装显卡驱动
因为怕翻车,所以我选择的是用 2.1软件安装器安装 的方式,但我对手动安装也颇感兴趣,同时也为了文章的完整性,所以我在某云服务商搞了一台虚拟主机(Ubuntu22.04)进行测试。
 
这里要注意下,前面的安装 gcc、make 驱动以及禁用 nouveau 驱动都是要做的!
 
第一步是到英伟达官网下载驱动,地址点这里
进入官网后可以看到产品系列那里其实有两种,一种是台式机使用的驱动,另外一种是笔记本使用的驱动(带Notebooks),由于我是台式机,所以选择了不带Notebooks的
notion image
 
由于云服务商提供的是P4显卡,所以我最终选的是这个
notion image
 
点击搜索后会出现适合你的驱动版本,如果你不想要这个版本,可以点击这里选择其他版本。
 
第二步就是执行刚刚下载的驱动程序了,这里网上有多个版本,有的会安装 lightdm,有的会关闭 gdm3,这两个都是桌面管理器,如果你想查看你用的哪个管理器,用这个命令
 
我这边的话都没做,我试过关闭 gdm3,然后直接黑屏了(如下图),最后又重启了 gdm3
notion image
 
我这边的操作是:
 
安装过程中,会有这些提示(可能会由于驱动版本不同导致提示不同,遇到没有的可以在参考教程找找):
这里选 Continue installation
notion image
 
正在安装:
notion image
 
这里选No,选Yes据说会降低分辨率啥的
notion image
 
安装成功
notion image
 
安装成功后挂载驱动
 
使用 nvidia-smi 命令查看正常
 
重启后图形化界面依然正常,至此大功告成!!
 
 

三、内核更新导致的显卡驱动失效

前面设置内核更新频率的时候,设置成了每两周显示一次
notion image
 
然后在有一次提醒中,我不小心点了更新,等到我想用显卡驱动的时候就GG了,提示这样:
 
我这边先尝试对驱动进行自动更新,参考的是这个教程,但是没有效果
 
后面又继续尝试对内核进行降级,但是没有依然没有效果(也有可能是我选的版本不对,因为我并不知道之前是什么版本,只是选了一个比现在低的版本)
 
参考的教程是这个,但是仅供参考,因为对我而言并没有用,只是提供一个我尝试的思路
 
 
随后我对驱动进行卸载并重新安装,发现安装失败,并提示dmks配置有问题:
 
但准确的错误信息其实在日志文件中:
 
上网搜了一下,其实是升级内核后,gcc版本太低,我的是gcc11,无法支持编译ftrivial-auto-var-init这个参数,要gcc12才行,参考的是这个教程
 
我安装的时候没有报错,不过使用 nvidia-smi 还是不行,不过后面重启了电脑就OK了,最后固定下版本:
 
这次给我的教训就是不能随便更新内核,最好是禁掉,其次就是要仔细查看安装驱动提示的报错,特别是它的日志文件。
 
 
参考教程
 

四、总结

最后总结下,两种驱动安装的方法我都试了,手动安装方式没有预想的那么难(可能跟用云服务商的机器有关),然后用APT安装也没有预想的那么简单,毕竟也踩过一次坑,具体哪种方式更值得推荐还真的不好说,纯看运气,我这里也只是描述了我自己的情况,不一定对你就适用,毕竟每个人的系统版本、驱动都不一定一样,仅供参考哈!
 
我是AI技术巫,欢迎关注我,掌握第一手AI资讯与技巧!
notion image