当前位置:首页>Linux>纯干货 Linux NVIDIA 显卡驱动安装全攻略:从驱动到 CUDA 一站式搞定

纯干货 Linux NVIDIA 显卡驱动安装全攻略:从驱动到 CUDA 一站式搞定

  • 2026-09-07 07:37:24
纯干货 Linux NVIDIA 显卡驱动安装全攻略:从驱动到 CUDA 一站式搞定
在 Linux 上配置 NVIDIA 显卡是深度学习环境的必修课。驱动、CUDA、cuDNN、nvidia-docker2 一套下来,踩坑无数。

本文从查看显卡型号开始,到驱动安装、CUDA 配置、Docker GPU 支持,全流程实战,命令可直接复制使用。


以下内容都是博主多年实践积累下来的经验,整理不易,希望大家能点赞收藏支持一下!


一、查看显卡型号

# 方法1:通用命令lspci | grep -i nvidia# 方法2:显示具体型号lshw -numeric -C display# 方法3:NVIDIA 自带命令nvidia-smi -L

查询型号对应关系:

如果显示 NVIDIA Corporation [10DE:1E82] 这样的十六进制代码,去百度搜索“ PCI Devices ”网站输入查询具体型号。


二、安装驱动

Ubuntu 自动安装(推荐)

# 1. 安装驱动检测工具apt install ubuntu-drivers-common# 2. 查看可用驱动版本ubuntu-drivers devices# 3. 自动安装推荐驱动ubuntu-drivers autoinstall# 4. 重启系统reboot

手动安指定版本安装

  1. 去官网下载对应驱动:https://www.nvidia.cn/drivers/lookup/
  2. 安装依赖:
# CentOS / RHELyum install -y gcc gcc-c++ kernel-develdnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)# Ubuntu / Debianapt install -y build-essential dkmsapt install linux-headers-$(uname -r)
  1. 运行安装脚本:
chmod +x NVIDIA-Linux-x86_64-xxx.xx.runsudo ./NVIDIA-Linux-x86_64-xxx.xx.run
  1. 开启持久化:
nvidia-smi -pm 1

验证安装

nvidia-smi

三、卸载驱动

方法一:使用 .run 文件卸载

./NVIDIA-Linux-x86_64-xxx.xx.run --uninstall# 或nvidia-uninstall

方法二:ubuntu包管理器卸载

# Ubuntusudo apt remove --purge '^nvidia-.*'sudo apt autoremove# 清理 DKMS 模块sudo dkms remove nvidia/xxx.xx.xx --allsudo dkms status# 清理配置文件sudo rm -f /etc/X11/xorg.confsudo rm -f /etc/modprobe.d/nvidia*sudo rm -f /lib/modprobe.d/nvidia*

方法三:CentOS / RHEL

sudo yum remove nvidia-*sudo yum remove kmod-nvidia-*

四、安装 CUDA

自动安装(推荐)

# 1. 下载并安装 CUDA 密钥环wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.deb# 2. 更新源sudo apt update# 3. 安装 CUDA Toolkit(不含驱动)sudo apt install -y cuda-toolkit-12-8

配置环境变量

echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrcecho 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrcsource ~/.bashrc

验证安装

nvcc -Vnvidia-smi

手动安装

  1. 下载对应版本:https://developer.nvidia.com/cuda-toolkit-archive
  2. 运行安装:
chmod +x cuda_xxx_linux.runsudo ./cuda_xxx_linux.run

注意:安装时取消勾选 Driver(避免与已安装驱动冲突)。

卸载 CUDA

sudo apt-get remove --purge nvidia-cuda-toolkit cuda-toolkitsudo apt-get autoremovesudo rm -rf /usr/local/cuda*sudo rm -rf /usr/lib/cuda*

五、安装 cuDNN

  1. 下载对应版本:https://developer.nvidia.com/cudnn-downloads
  2. 解压并复制文件:
tar -xvf cudnn-linux-x86_64-xxx.tgz# 复制到 CUDA 目录sudo cp cuda/include/* /usr/local/cuda-12.2/include/sudo cp cuda/lib64/libcudnn* /usr/local/cuda-12.2/lib64/sudo chmod a+r /usr/local/cuda-12.2/include/cudnn.hsudo chmod a+r /usr/local/cuda-12.2/lib64/libcudnn*
  1. 验证安装:
cat /usr/local/cuda-12.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

六、安装 nvidia-docker2

Ubuntu 22.04 / 24.04

方法一:apt 安装

# 导入 GPG 密钥curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg# 添加源echo ”deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/ubuntu24.04/amd64 /” | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# 安装sudo apt updatesudo apt install -y nvidia-container-toolkit nvidia-container-toolkit-base nvidia-docker2# 配置 Dockersudo nvidia-ctk runtime configure --runtime=dockersudo systemctl restart docker

方法二:离线安装

如果 apt 安装报错,可以下载 deb 包手动安装:

# 按顺序安装依赖dpkg -i libnvidia-container1_1.17.8-1_amd64.debdpkg -i libnvidia-container-tools_1.17.8-1_amd64.debdpkg -i nvidia-container-toolkit-base_1.17.8-1_amd64.debdpkg -i nvidia-container-toolkit_1.17.8-1_amd64.debdpkg -i nvidia-docker2_2.14.0-1_all.deb # 配置 Dockersudo nvidia-ctk runtime configure --runtime=dockersudo systemctl restart docker

CentOS / RHEL

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.reposudo yum install -y nvidia-docker2sudo pkill -SIGHUP dockerdsudo systemctl restart docker

七、测试 GPU 可用

Docker 测试

docker run --gpus all --rm nvidia/cuda:12.6.0-cudnn-runtime-ubuntu22.04 nvidia-smi

Python 测试

import torch# 检查 CUDA 是否可用print(f”CUDA 可用: {torch.cuda.is_available()}”)print(f”显卡数量: {torch.cuda.device_count()}”)print(f”当前显卡: {torch.cuda.get_device_name(0)}”)# 简单计算测试x = torch.zeros(1).cuda()y = x + 1print(f”GPU 计算结果: {y}”)

性能测试

import timeimport torch# GPU 计算A = torch.ones(5000, 5000).to('cuda')B = torch.ones(5000, 5000).to('cuda')start = time.time()for i in range(100):    C = torch.matmul(A, B)end = time.time()print(f'GPU 计算时长: {round((end - start) * 1000, 2)} ms')# CPU 计算A = torch.ones(5000, 5000)B = torch.ones(5000, 5000)start = time.time()for i in range(100):    C = torch.matmul(A, B)end = time.time()print(f'CPU 计算时长: {round((end - start) * 1000, 2)} ms')

八、常见问题解决

问题1:驱动安装失败 - Nouveau 冲突

症状:安装 NVIDIA 驱动时提示 Nouveau 驱动正在使用。

解决:禁用 Nouveau

# 创建黑名单文件sudo vim /etc/modprobe.d/blacklist-nouveau.conf# 写入以下内容blacklist nouveauoptions nouveau modeset=0 # 更新 initramfssudo update-initramfs -u # 重启sudo reboot

问题2:CUDA 初始化失败(A100/A800 NVSwitch)

症状:Error 802: system not yet initialized

解决:修复 nvidia-fabricmanager

# 检查服务状态systemctl status nvidia-fabricmanager# 查看已安装版本dpkg -l | grep ”fabricmanager”# 卸载旧版本dpkg -p nvidia-fabricmanager-xxx# 下载对应版本安装wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2204/x86_64/nvidia-fabricmanager-xxx.debsudo dpkg -i nvidia-fabricmanager-xxx.deb# 启动服务sudo systemctl restart nvidia-fabricmanagersudo systemctl enable nvidia-fabricmanager

问题3:Docker 找不到 GPU

解决:配置默认运行时

编辑 /etc/docker/daemon.json:

{  ”default-runtime”: ”nvidia”,  ”runtimes”: {    ”nvidia”: {      ”path”: ”/usr/bin/nvidia-container-runtime”,      ”runtimeArgs”: []    }  }}

重启 Docker:

systemctl restart docker

总结

组件
作用
安装方式
NVIDIA Driver
显卡驱动
ubuntu-drivers autoinstall
CUDA
GPU 计算平台
apt install cuda-toolkit-12-8
cuDNN
深度学习加速库
手动复制到 CUDA 目录
nvidia-docker2
Docker GPU 支持
apt install nvidia-docker2

安装顺序:驱动 → CUDA → cuDNN → nvidia-docker2


如果这篇文章帮你避开了几个坑,欢迎点赞 + 收藏。

关注公众号,第一时间收到更新 

如有需要以上安装包的朋友可以私信获取!

最新文章

随机文章