Ubuntu安装NVIDIA驱动

以下操作默认使用sudo权限

卸载Nvidia残余文件

如果系统是新装的,还没有安装过任何nvidia的东西,可以跳过这一步直接到第1步。
如果电脑已经安装过nvidia的驱动了,推荐清理一下已经存在的nvidia文件

/usr/bin/nvidia-uninstall     # 这个最好运行一下
apt remove --purge *nvidia*   # 注意:可能会删除cuda等软件包,输入y之前最好确认一下

1. 禁用Nouveau的驱动
/etc/modprobe.d/blacklist.conf最后添加如下代码:
(用来禁用nouveau第三方驱动,之后也不需要改回来

blacklist nouveau
options nouveau modeset=0

然后执行

update-initramfs -u

重启后,执行以下代码,若没有显示则禁用成功

lsmod | grep nouveau

如果遇到这个问题 (perl: warning: Falling back to a fallback locale (“en_US.UTF-8”))[]

apt install locales-all

2. 检测NVIDIA显卡型号

已知自己显卡型号最好,否则在命令行有三种方法

#方法一:使用ubuntu-drivers-common这个软件`
apt install ubuntu-drivers-common
ubuntu-drivers devices
#方法二
lshw -numeric -C display //最好用sudo
#方法三
lspci -vnn | grep VGA

也可以用软件AIDA64,这个软件可以看电脑的所有配置信息。

然后下载官方驱动我比较喜欢最新的版本)。推荐下载英文版的驱动,防止中文乱码。例如

wget http://us.download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run

3.【可选】关闭secure boot:
到电脑的BIOS里关闭“安全启动”的选项。如果不关的话,在后面安装驱动的时候会多一些操作(我会在前面加上“【secure boot】”的标识符表示多出来的操作)

4.   关闭图形界面:

如果系统已经有图形界面(比如ubuntu desctop),需要关闭一下图形界面。首先,使用快捷键Ctrl+Alt+F1(F1不行的话,就换成F2、F3…)关切换到命令行界面,然后sudo权限运行命令

# 如果是gnome桌面环境,执行
service gdm3 stop
# 如果是xfce桌面环境,执行
service lightdm stop
# 如果提示Failed to stop lightdm.service: Unit lightdm.service not loaded,可以不用管它,继续

PS:也可以先不运行这个命令,等后面安装驱动的时候报错了(如下图),再执行上面那个命令。

5. 安装驱动

启动驱动安装程序(.run)的方法有两种,我更喜欢第二种

# 方法一
chmod +x NVIDIA-Linux-x86_64-410.93.run
./NVIDIA-Linux-x86_64-410.93.run 
# 方法二
bash NVIDIA-Linux-x86_64-410.93.run

启动安装程序,可以加参数(安装驱动前可能需要先安装gcc和make)。不过,我从来都不加任何参数

我在各种教程里面看到的参数有: (只做搬运)
--no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会- 导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。
--no-x-check:表示安装驱动时不检查X服务。如果没有这个参数,可能会出现“X-Server needs to be disabled before installing the drivers”的错误。然而我也没有用
--no-nouveau-check:表示安装驱动时不检查nouveau,非必需。
-Z, --disable-nouveau:禁用nouveau。此参数非必需,因为之前已经手动禁用了nouveau。
-A:查看更多高级选项。

安装过程中遇到的选择如下: 可能顺序不一样

大概是说“预检查”啥的不通过,我都是直接continue,目前没遇到过什么问题


如果报什么kernel not install之类的错误,请检查ubuntu内核是否安装完整(比如我有一次就是因为没有安装linux-modules-extra-xxxx-generic)

【secure boot】生成秘钥,必须选择Sign the kernel module


【secure boot】如果之前已经生成过一次了,可以选择用旧的还是新的,我一般都选generate a new key pair


【secure boot】上一步选择新的话,会问你要不要删除旧的。我一般都删了,反正留着没用


【secure boot】生成好后类似如下的内容


【secure boot】将生成秘钥到内核中注册一下,这里必须选择Install signed kernel module


DKMS说是可以更新内核后,驱动一起跟着更新,但是我好像都没成功过,就都选的No(后面会禁止内核更新的)。这个链接里说开启secure boot后开启DKMS会导致无法进入系统

有时候会问你要不要安装32位的库,我一般都选择安装(为啥不装嘞,除非空间不够吧)。下图是运气不好,装不上32位的库


选择是否要使用nvidia的x config文件替换原来的。我都是把linux中的x理解成是图形界面。看个人喜好要不要替换吧,我一般都选No

安装完成后,显示类似如下


【secure boot】密钥到内核的信任列表

mokutil --import /usr/share/nvidia/nvida*.der
# 然后会提示你设置新密码,需要输入两遍
  • 重启,命令是reboot

  • 【secure boot】重启后会自动进入一个蓝色的界面,按任意键,然后根据下图中的选项选择,输入前面mokutil命令的密码后重启,进入系统使用命令nvidia-smi查看是否安装成功

如果忘了按任意键导致无法不能进入下面的界面的话,可以再次进入ubuntu系统再次运行上面的mokutil命令然后重启。(问ChatGPU说也可以在bios中找到secure boot的菜单然后进入,但是我没有尝试过)

【可选】禁用内核更新:
我理解的安装显卡驱动的过程,会将你安装的显卡驱动跟当前使用的内核进行绑定。如果后续更新内核并重启系统,之前安装的显卡驱动就会识别不到导致无法进入图形界面,需要通过到命令行界面or以save mode启动系统,然后重装显卡驱动
所以为了省事,我都直接禁止更新内核:

apt-mark hold linux-image-generic linux-headers-generic 


若遇到关于kernal的Error,应该是驱动版本和系统内核版本不匹配(图后面有机会补上吧)。

方法一:下载更新版本(or更旧,一般都是更新吧)的驱动。推荐这个,因为我都成功了。

方法二:更改内核的版本。具体应该切换到什么版本的内核,可以参考其他已经成功安装了显卡驱动的电脑的内核版本。查看当前使用的内核 uname -r,查看grub版本 grub-install -V,切换内核可以参考这个博客

参考文献:
Ubuntu安装NVIDIA驱动_ubuntu安装nvidia显卡驱动-优快云博客

### 如何在Ubuntu安装NVIDIA显卡驱动 #### 使用PPA源安装NVIDIA驱动 对于希望简化安装过程并保持驱动更新的用户来说,通过PPA源来安装是最推荐的方式之一。这种方法适用于多个版本的Ubuntu系统。 首先,在终端输入命令`ubuntu-drivers devices`以查询当前计算机最适合使用的NVIDIA驱动版本[^1]。该命令会分析硬件配置,并给出建议的最佳匹配选项。 接着执行如下操作: ```bash sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update ``` 上述两条指令分别用于添加官方图形驱动程序库以及同步最新的软件包列表。完成这些准备工作之后,可以根据之前获得的信息选择合适的驱动版本进行安装。如果不确定具体要安装哪个版本,则可以继续运行以下命令自动安装推荐版本: ```bash sudo ubuntu-drivers autoinstall ``` 此命令将会依据系统的检测结果自动下载并设置最佳兼容性的NVIDIA驱动程序[^2]。 #### 手动下载安装NVIDIA驱动 另一种方式是从[NVIDIA官方网站](https://www.nvidia.cn/)获取特定型号GPU对应的Linux驱动文件。这种方式适合那些想要精确控制所用驱动版本或者遇到某些特殊需求的情况。 下载完成后,将`.run`格式的驱动文件放置于Home目录或其他容易访问的位置。然后按照下列步骤来进行手动安装: 关闭X服务器(图形界面),切换到TTY模式(Ctrl+Alt+F3),登录后停止显示管理器服务: ```bash sudo service lightdm stop ``` 赋予.run文件可执行权限,并启动安装向导: ```bash chmod +x ~/NVIDIA-Linux-x86_64-xxx.run sudo ./NVIDIA-Linux-x86_64-xxx.run ``` 注意替换其中的路径和文件名为实际存在的位置与名称。在整个过程中遵循屏幕提示完成剩余的操作即可[^4]。 无论采用哪种方式进行安装,在重启机器前都应确保没有任何其他第三方图形驱动正在加载中;可以通过编辑GRUB引导菜单中的内核参数实现这一点,即临时加入`nomodeset`选项来规避潜在冲突。 最后一步自然是保存更改并重新启动计算机,让新的NVIDIA驱动生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值