Ubuntu24 安装配置nvidia4090显卡驱动
- 方式一、离线安装
- 一、准备显卡驱动
-
- 1.1 查看显卡型号
- 1.2 确认系统的版本
-
-
- 1.2.1 当前操作系统信息
- 1.2.2 检查当前系统中有没有显卡驱动
-
- 1.3 根据显卡型号下载驱动
-
-
- 注意:
- 注意, 后面带notebook的是笔记本的驱动,不要下载错了
- 点击view
- 点击下载
-
- 二、安装
-
- 2.1 下载好了之后,上传到Ubuntu系统中
-
-
- 2.1.1 先创建一个存放目录:
- 2.1.2 cd 你的路径,准备上传驱动文件
- 2.1.3 把下载好的驱动,上传到服务器
- 2.1.4 更新软件列表和安装必要软件、依赖
- 我选择的是 NVIDIA Proprietary.
- 安装完成之后,再次检查
-
- 补充步骤三:禁用默认nouveau显卡驱动,后重启系统
- 补充步骤四:安装新驱动时,需要停止当前显示功能,使用命令telinit进入运行级别3,搭配快捷键CTRL+ALT+F1登录
-
- 安装过程中的部分问题回答
- 方式一 适用不方便联网的场合
- 总结
- 方式二 在线安装
-
- 步骤一:使用命令 ubuntu-drivers devices,确定显卡型号和推荐的驱动版本,从输出信息可知,目前的显卡型号为GeForce GTX 1060,推荐的驱动版本为390
- 步骤二:自动安装第一步所推荐驱动
-
-
- 步骤三:等待安装结束,后重启系统,使用命令 nvidia-smi 确认安装是否成功
-
- 问题
-
-
-
- 磁盘空间不足的问题
-
-


公司积极拥抱AI潮流,买了一台4090D的显卡,安装系统配置环境过程一波三折
一开始尝试的Centos7,Centos9 的系统,可能系统版本和显示驱动版本不匹配,也可能过程中的步骤不正确,最终没有成功。
重新尝试Ubuntu24.04 系统,最终成功。
方式一、离线安装
一、准备显卡驱动
1.1 查看显卡型号
使用命令 lshw 确定显卡型号
lshw -numeric -C display
或
lspci | grep -i nvidia

1.2 确认系统的版本
1.2.1 当前操作系统信息
root@hostname:~# lsb_release -a
No LSB modules are available.
Distributor ID:Ubuntu
Description:Ubuntu 24.04.2 LTS
Release:24.04
Codename:noble

1.2.2 检查当前系统中有没有显卡驱动
nvidia-smi
注意是没有空格的, 之前输入有空格习惯了,这个需要注意。
终端输入nvidia-smi 检查有没有显卡的信息, 如果有, 说明已经有显卡驱动了。 
我的是没有的
我们发现输出的信息中有Corporation AD102 ,可以根据这个信息查询适合的显卡型号 查询网址:https://admin.pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci
点击后跳转
可以看到,显卡型号为:Name: AD102 [GeForce RTX 4090 D]
1.3 根据显卡型号下载驱动
去英伟达官网下载
https://www.nvidia.com/
注意:
之前看网上的教程的时候, 有些给的所谓 “官网” 地址是找不到驱动的,最好直接输入它的域名,然后点击Drivers.
进入页面之后有几个输入框,输入对应信息:显卡型号、操作系统和语言,选择相应的驱动版本 我这里是4090
注意, 后面带notebook的是笔记本的驱动,不要下载错了
输入参数型号后,点击查找(Find)

点击view

点击下载

注意:如果这个方法找不到,点击页面上方的GeForce Drivers,这里同样可以找到,并且下载对应版本
查找页面 
二、安装
2.1 下载好了之后,上传到Ubuntu系统中
2.1.1 先创建一个存放目录:

终端cd drivers
2.1.2 cd 你的路径,准备上传驱动文件

2.1.3 把下载好的驱动,上传到服务器

2.1.4 更新软件列表和安装必要软件、依赖
sudo apt update
或者全部更新、配置编译、安装驱动的环境
$ sudo dpkg –add-architecture i386
$ sudo apt update
$ sudo apt install build-essential libc6:i386 libglvnd-dev pkg-config
请解释以上代码:
:$ sudo dpkg –add-architecture i386这行命令是用来在基于 Debian 的系统(如 Ubuntu)中添加对 32 位(i386)架构的支持。通过这个命令,系统可以安装和运行 32 位的软件包。
sudo apt update用来更新系统中安装包的信息,使得系统可以访问最新的软件包列表。
sudo apt install build-essential libc6:i386 libglvnd-dev pkg-config在更新软件包列表后,安装了一系列软件包。build-essential 是一个元包,包含了编译软件所需的基本工具,如 gcc、make 等。libc6:i386 是 32 位的 C 库,许多软件编译和运行时都需要这个库。libglvnd-dev 是一个库,它是 NVIDIA GLVND(OpenGL 供应商中立的分发器)的开发者版本,这个库用于实现现代 OpenGL 应用程序的多 GPU 和多窗口支持。最后,pkg-config 是一个工具,用于管理和查询软件包的配置信息,它帮助开发者在编译时正确地链接到所需的库。
这三行命令通常一起使用,以确保系统具有编译和运行32位应用程序所需的所有依赖项。
我选的是简单更新 sudo apt update

如果没有安装gcc make,进行安装
sudo apt install gcc make
然后检查版本是否在12 以上, 我这里13 满足要求
gcc –version

需要gcc 版本在12 以上,如果不在12 以上,输入
sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/x86_64-linux-gnu-gcc-12 20
给驱动文件添加执行权限,每个人下载版本可能不同
root@hostname:/usr/local/dirvers# chmod +x NVIDIA-Linux-x86_64-570.133.07.run

编译运行
root@hostname:/usr/local/dirvers# ./NVIDIA-Linux-x86_64-570.133.07.run -no-opengl-files
Verifying archive integrity… OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 570.133.07………………………….
我这里出现了
multiple kernel module types are available for this system. which would you like to use 
我选择的是 NVIDIA Proprietary.
如果出现一些WARNING 直接选择 OK 就好
来到这一步
选择 Continue
如果出现一些选项都可以选择Yes。
安装完成之后,再次检查
nvidia-smi
我这里还是没有, 但是安装过程一切顺利,没有出错,为什么?? 先重启一次试试 
重新登录系统,再次查看
root@hostname:~# nvidia-smi
No devices were found
root@hostname:~# lshw -numeric -C display
*-display
description: VGA compatible controller
product: Hi171x Series [iBMC Intelligent Management system chip w/VGA support] [19E5:1711]
vendor: Huawei Technologies Co., Ltd. [19E5]
physical id: 0
bus info: pci@0000:02:00.0
logical name: /dev/fb0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list fb
configuration: depth=32 latency=0 resolution=1024,768
resources: memory:94000000-95ffffff memory:97200000-973fffff memory:c0000-dffff
*-display
description: VGA compatible controller
product: AD102 [GeForce RTX 4090 D] [10DE:2685]
vendor: NVIDIA Corporation [10DE]
physical id: 0
bus info: pci@0000:3b:00.0
nvidia-smi 这个命令下还是没有显卡应用,但是 lshw -numeric -C display 又显示当前有n 块显卡驱动,如下:
因为 第1块是系统默认的IBM 显卡,看第2块 是我们的4090 , 可能是安装过程遗漏了步骤, 因为是离线安装,所以需要多一步
补充步骤三:禁用默认nouveau显卡驱动,后重启系统
root@hostname:~# sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
root@hostname:~# sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
## 不用下面的
## root@hostname:~# update-inittramfs -u && telinit 3
多了一个t -> update-initramfs -u
Command 'update-inittramfs' not found, did you mean:
command 'update-initramfs' from deb initramfs-tools (0.142ubuntu25.5)
command 'update-initramfs' from deb live-tools (1:20190831.1)
Try: apt install <deb name>
命令解释
update-initramfs -u
功能:update-initramfs 是一个用于更新 initramfs(初始 RAM 文件系统)的工具。initramfs 是在 Linux 内核启动过程中临时挂载的一个文件系统,它包含了内核启动所需的基本驱动和工具,比如磁盘驱动、文件系统驱动等。-u 选项表示更新现有的 initramfs 镜像,它会根据当前系统的配置和内核版本重新生成 initramfs 镜像文件。
使用场景:当你安装了新的内核、更新了驱动程序或者修改了与启动相关的配置文件时,就需要使用这个命令来更新 initramfs,确保系统在启动时能够正确加载所需的驱动和工具。
init 3
功能:init 是传统的 Linux 初始化进程,负责系统的启动和运行级别管理。运行级别是 Linux 系统的一种工作模式,不同的运行级别对应不同的系统服务和配置。数字 3 代表多用户文本模式,在这个模式下,系统会启动基本的系统服务,但不会启动图形界面,适合进行系统维护和服务器管理等操作。
注意事项:在较新的 Linux 发行版中,systemd 已经逐渐取代了传统的 init 系统,因此推荐使用 systemctl 命令来切换运行级别。对应于 init 3 的 systemd 命令是 systemctl isolate multi-user.target。

补充步骤四:安装新驱动时,需要停止当前显示功能,使用命令telinit进入运行级别3,搭配快捷键CTRL+ALT+F1登录
root@hostname:~# sudo telinit 3
root@hostname:~# reboot
root@hostname:~# Connection closing…Socket close.
Connection closed by foreign host.

安装过程中的部分问题回答
The distribution-provided pre-install script failed!
Are you sure you want to continue? -> CONTINUE INSTALLATION
Would you like to run the nvidia-xconfig utility? -> YES
方式一 适用不方便联网的场合
安装过程属实复杂。仅当离线安装时,才出现 禁用默认nouveau驱动 的操作,方法二 在线自动安装并不需要。方式二并没测试过,其安装过程仅供参考!
总结
检查显卡:运行 nvidia-smi 确认显卡。
下载驱动:访问 NVIDIA官网,选择正确的显卡和操作系统下载驱动。
更新系统:运行 sudo apt update。
安装依赖:如果需要,安装 gcc 和 make。
设置 GCC 版本:确保 GCC 版本至少为 12。
安装驱动:给下载的驱动文件添加执行权限并运行。
选择驱动类型:安装时选择 “NVIDIA Proprietary”。
完成安装:安装后再次运行 nvidia-smi 确认。
方式二 在线安装
基于官方库的自动安装
步骤一:使用命令 ubuntu-drivers devices,确定显卡型号和推荐的驱动版本,从输出信息可知,目前的显卡型号为GeForce GTX 1060,推荐的驱动版本为390
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 6GB]
driver : nvidia-304 – distro non-free
driver : nvidia-340 – distro non-free
driver : nvidia-390 – distro non-free recommended
driver : xserver-xorg-video-nouveau – distro free builtin
== cpu-microcode.py ==
driver : intel-microcode – distro free
步骤二:自动安装第一步所推荐驱动
$ sudo ubuntu-drivers autoinstall
也可以,手动安装特定版本
$ sudo apt install nvidia-340
步骤三:等待安装结束,后重启系统,使用命令 nvidia-smi 确认安装是否成功
$ nvidia-smi
问题
磁盘空间不足的问题



