当前位置: 首页 > news >正文

NVIDIA 显卡驱动安装完全指南

Ubuntu 22.04 视觉开发环境搭建(一):NVIDIA 显卡驱动安装完全指南

摘要:本文详细讲解在 Ubuntu 22.04 上安装 NVIDIA 显卡驱动的完整流程,包括环境预检、Nouveau 禁用、三种安装方法对比、验证步骤以及常见问题排坑。作为视觉开发环境搭建系列的第一篇,这是整个开发链路的基石。
适用读者:有基础 Linux 操作经验的开发者 | 难度:入门 ~ 中级 | 预计阅读时间:20 分钟

文章目录

  • Ubuntu 22.04 视觉开发环境搭建(一):NVIDIA 显卡驱动安装完全指南
    • 一、前言
    • 二、为什么先装驱动?
    • 三、安装前:环境预检与冲突排查
      • 3.1 确认显卡型号
      • 3.2 检查当前使用的驱动
      • 3.3 检查 Secure Boot 状态
      • 3.4 检查内核版本
      • 3.5 安装编译依赖
    • 四、禁用 Nouveau 开源驱动
      • 4.1 清除旧的 NVIDIA 驱动残留
      • 4.2 将 Nouveau 加入黑名单
      • 4.3 更新内核并重启
      • 4.4 验证 Nouveau 是否已禁用
    • 五、安装 NVIDIA 驱动(三种方法任选其一)
      • 方法一:ubuntu-drivers 命令行安装 ⭐ 首选
      • 方法二:图形界面安装(备选)
      • 方法三:NVIDIA 官网 .run 文件手动安装(最后手段)
      • 三种方法对比
    • 六、验证驱动安装
    • 七、常见问题与排坑指南
    • 八、总结
    • 参考资料

一、前言

在 Ubuntu 上搭建视觉开发环境(深度学习、计算机视觉、机器人等),第一步必须是安装 NVIDIA 显卡驱动。这不仅是流程上的建议,更是一条铁律——如果驱动装不好,后面的 CUDA、cuDNN、PyTorch、TensorRT 全部无法工作。

很多初学者会犯一个错误:先装好 CUDA 和 PyTorch,最后才来折腾驱动。结果驱动安装失败导致系统崩溃,前面几个小时的努力全部白费,不得不重装系统。

✅ 推荐原则:驱动是最脆弱、最容易翻车的环节,必须放在最前面。做成了再继续,做不成随时可以重装系统,代价最小。

本系列文章将覆盖 Ubuntu 22.04 视觉开发环境的完整搭建流程:

篇章内容链接
第一篇(本文)NVIDIA 显卡驱动安装
第二篇CUDA Toolkit 安装与环境配置待更新
第三篇cuDNN 安装完全指南待更新
第四篇PyTorch GPU 版安装与验证待更新
第五篇TensorRT 安装与推理加速待更新

本文将涵盖以下内容:

  • 安装前的环境预检与冲突排查
  • 彻底禁用 Nouveau 开源驱动
  • 三种驱动安装方法的详细步骤与对比
  • 安装验证与常见问题排坑指南

📌 安装适配提醒

本文提供的是通用安装流程和示例命令。不同显卡型号(如 RTX 3060、RTX 4090、RTX 50 系列)、不同 Ubuntu 内核版本,需要安装的驱动版本可能完全不同。请务必在执行以下步骤之前:

  1. 通过lspci -nn | grep -i nvidia确认你的显卡型号。
  2. 通过uname -r确认你的内核版本。
  3. 将上述信息提供给 AI 助手(如 ChatGPT、DeepSeek 等)或查阅 NVIDIA 官方文档,获取针对你当前设备的最合适驱动版本
  4. 下文中出现的535550575-open等版本号均为示例,请替换为 AI 或官方推荐的实际版本。

二、为什么先装驱动?

在 Ubuntu 上,系统默认会加载一个名为Nouveau的开源显卡驱动。它能让你点亮屏幕,但性能非常有限,而且对于任何需要使用CUDA的开发任务(深度学习框架、OpenCV CUDA 加速等),Nouveau 完全不兼容,并且会和官方驱动产生严重冲突。

Nouveau 与 NVIDIA 官方驱动的冲突本质:

GPU 硬件

谁来控制?

Nouveau 开源驱动

NVIDIA 官方驱动

内核模块冲突

黑屏/驱动加载失败

两个驱动会同时尝试控制同一硬件,在系统底层(内核模块)“打架”,导致"未能创建内核"的报错,甚至引发系统黑屏无法启动。

📌 特殊提醒:对于 Ubuntu 22.04,如果使用的是RTX 50 系列显卡(如 5060、5070 Ti、5080),必须安装开源版 NVIDIA 驱动,命令行安装需要指定-open后缀:

sudoaptinstallnvidia-driver-575-open# 或sudoubuntu-driversinstallnvidia:575-open

三、安装前:环境预检与冲突排查

⚠️ 重要提示:90% 的驱动问题都可以通过安装前的系统状态检查来预防。

打开终端(Ctrl + Alt + T),依次执行以下检查:

3.1 确认显卡型号

lspci-nn|grep-invidia

输出示例:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1)

其中[10de:2206]的前段10de是 NVIDIA 厂商 ID,后段2206是具体设备型号。记下这个信息有助于后续选择正确的驱动版本。

3.2 检查当前使用的驱动

lspci-k|grep-A3-ivga

查看输出中Kernel driver in use:这一行。如果是nouveau,说明系统正在使用开源驱动,后续需要禁用它。

3.3 检查 Secure Boot 状态

mokutil --sb-state

如果显示SecureBoot enabled,说明安全启动已开启。这可能会阻止未签名的 NVIDIA 驱动模块加载,安装前需要:

  • 方案 A:进入 BIOS 将 Secure Boot 关闭(推荐)
  • 方案 B:在安装过程中完成 MOK 密钥注册

3.4 检查内核版本

uname-r

Ubuntu 22.04 默认内核为5.15.0-91,该内核支持 535/550 驱动。如果升级过内核,需确保驱动与内核版本匹配。

3.5 安装编译依赖

安装 NVIDIA 驱动需要编译内核模块,必须提前安装必要的工具:

sudoaptupdatesudoaptinstallbuild-essential gccmakedkmssudoaptinstalllinux-headers-$(uname-r)
包名作用
build-essential包含gccmake等基本编译工具
dkmsDynamic Kernel Module Support,确保内核更新后驱动自动重新编译
linux-headers-$(uname -r)当前内核版本对应的头文件,编译驱动时必需

💡 提示:dkms非常重要。没有它,每次系统内核更新后你的 NVIDIA 驱动都可能失效,需要手动重装。


四、禁用 Nouveau 开源驱动

⚠️ 注意:这是最关键的一步。如果不先禁用 Nouveau,NVIDIA 驱动安装必然失败。

4.1 清除旧的 NVIDIA 驱动残留

如果你之前安装过 NVIDIA 驱动,先彻底清理:

sudoapt-get--purgeremove"*nvidia*"sudoapt-get--purgeremove"*cuda*"sudoaptautoremove

💡 提示:如果之前用.run文件安装过驱动,还需要运行卸载脚本:

sudo/usr/bin/nvidia-uninstall# 如果提示找不到文件,说明之前没用过此方式

4.2 将 Nouveau 加入黑名单

推荐方式:创建独立配置文件

sudobash-c"echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"sudobash-c"echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

验证文件内容:

cat/etc/modprobe.d/blacklist-nvidia-nouveau.conf

应显示:

blacklist nouveau options nouveau modeset=0

备选方式:通过 GRUB 内核参数禁用

sudonano/etc/default/grub# 找到 GRUB_CMDLINE_LINUX_DEFAULT 行,在引号内添加 nouveau.blacklist=1# 修改为:# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.blacklist=1"sudoupdate-grub

4.3 更新内核并重启

sudoupdate-initramfs-usudoreboot

4.4 验证 Nouveau 是否已禁用

重启后,在终端执行:

lsmod|grepnouveau

如果命令没有任何输出,说明 Nouveau 已被成功屏蔽,可以继续下一步。

💡 提示:在 Ubuntu 22.04 中,通过正规渠道(如ubuntu-drivers或"附加驱动")安装 NVIDIA 驱动时,系统通常会自动处理 Nouveau 的禁用问题。如果后续使用推荐方法安装,此步骤可以跳过,但提前做好清理能避免绝大多数潜在冲突。


五、安装 NVIDIA 驱动(三种方法任选其一)

方法一:ubuntu-drivers 命令行安装 ⭐ 首选

这是最推荐的方式,简单可靠,系统会自动检测并推荐最佳驱动版本。

步骤 1:安装工具(通常已预装)

sudoaptinstallubuntu-drivers-common

步骤 2:添加 Graphics Drivers PPA(可选但推荐)

Ubuntu 官方仓库中的驱动版本可能较旧,添加 PPA 可以获取更新且更稳定的驱动:

sudoadd-apt-repository ppa:graphics-drivers/ppasudoaptupdate

步骤 3:查看系统推荐的驱动版本

sudoubuntu-drivers devices

输出示例:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002206sv00001458sd0000403Fbc03sc00i00 vendor : NVIDIA Corporation model : GA102 [GeForce RTX 3080] driver : nvidia-driver-535 - distro non-free recommended driver : nvidia-driver-550 - distro non-free

recommended标记的就是系统推荐的最佳版本

步骤 4:安装驱动

自动安装推荐驱动:

sudoubuntu-drivers autoinstall

或者手动指定版本(更可控):

sudoaptinstallnvidia-driver-535

步骤 5:重启系统

sudoreboot

💡 提示:即使安装完成后nvidia-smi暂时看不到显卡信息,重启后就能正常显示,这是正常现象。


方法二:图形界面安装(备选)

适合不太熟悉命令行的用户,操作更直观。

  1. 在应用程序菜单中搜索并打开“软件和更新”
  2. 切换到“附加驱动”选项卡,系统会自动检测可用驱动
  3. 选择标记为"专有,测试过(tested)"的推荐版本
  4. 点击"应用更改",输入密码,等待安装完成
  5. 点击"重启"使驱动生效

💡 提示:如果命令行ubuntu-drivers autoinstall反复失败,可以试试这个图形界面方法,有时它能自动解决一些奇怪的依赖冲突。


方法三:NVIDIA 官网 .run 文件手动安装(最后手段)

⚠️ 警告:这是一个更复杂的方案,仅在前两种方法都失败时才考虑。操作繁琐,需要手动处理后续内核更新问题。官方社区甚至建议不要直接从 NVIDIA 安装.run文件

步骤 1:下载驱动

访问 NVIDIA 中国驱动下载中心,根据显卡型号和操作系统(Linux 64-bit)下载.run文件。

⚠️ 注意:下载的驱动文件要放在英文路径中,避免中文路径导致问题。

步骤 2:进入 TTY 模式并停止图形界面

# 按 Ctrl + Alt + F2(或 F3~F6)进入 TTY 命令行# 登录后停止图形界面sudoservicegdm3 stop# 如果使用 GDM# 或sudoservicelightdm stop# 如果使用 LightDM

如果 TTY 界面出现中文乱码:

exportLANG="UTF-8"exportLANGUAGE="UTF-8"

步骤 3:执行安装

cd~/Downloadschmod777NVIDIA-Linux-*.runsudo./NVIDIA-Linux-*.run --no-opengl-files --no-x-check --no-nouveau-check
参数作用
--no-opengl-files只安装驱动,不安装 OpenGL 文件
--no-x-check安装时关闭 X 服务检查
--no-nouveau-check跳过 Nouveau 检查

步骤 4:安装过程中的选项

  • Install Nvidia's 32-bit compatibility libraries?→ 选择No
  • Would you like to run the nvidia-xconfig utility...?→ 选择Yes
  • 其他选项保持默认

步骤 5:重启

sudoservicegdm3 start# 恢复图形界面sudoreboot

三种方法对比

对比维度方法一:ubuntu-drivers方法二:图形界面方法三:.run 手动
操作难度⭐ 简单⭐ 最简单⭐⭐⭐ 较难
可靠性✅ 高✅ 高⚠️ 中等
版本可控性✅ 可指定版本⚠️ 仅可选列表中版本✅ 完全可控
内核更新适配✅ 自动(DKMS)✅ 自动(DKMS)❌ 需手动处理
推荐指数⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

六、验证驱动安装

重启后,打开终端执行:

nvidia-smi

如果成功,会看到类似以下输出:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.154.05 Driver Version: 535.154.05 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A | ...

重点关注:

  • Driver Version:驱动版本号
  • CUDA Version:驱动支持的最高 CUDA 版本(后续安装 CUDA Toolkit 不能超过这个值)
  • GPU Name:你的显卡型号

还可以通过以下命令打开 NVIDIA 设置面板:

nvidia-settings

如果命令不存在:

sudoaptinstallnvidia-settings

七、常见问题与排坑指南

问题可能原因解决方案
nvidia-smi报错 “NVIDIA-SMI has failed…” 或 “No devices were found”驱动未正确加载;Nouveau 未禁用干净;Secure Boot 阻止加载① 确认 Nouveau 已禁用:lsmod | grep nouveau应无输出。② 确认驱动已安装:dpkg -l | grep nvidia-driver。③ 检查 Secure Boot:mokutil --sb-state。④ 彻底清理重装:sudo apt purge "*nvidia*"→ 重启 → 重新安装。
安装驱动后重启黑屏或卡在登录界面驱动版本与内核/显卡不兼容;Wayland 与 NVIDIA 不兼容① GRUB 界面按e,在quiet splash后加nomodeset临时进入。② 切换到 Xorg 显示协议。③ 卸载当前驱动换一个版本重试。④ 检查 HDMI/DP 线是否插在独立显卡接口上。
安装时提示 “Operation not permitted” 或模块签名失败Secure Boot 阻止未签名驱动模块加载进入 BIOS 关闭 Secure Boot,或安装时设置 MOK 密码并在重启后完成密钥注册。
ubuntu-drivers devices没有输出软件源问题;显卡太新官方源暂未收录① 确保启用universemultiverse源。② 添加 Graphics Drivers PPA:sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update
使用.run文件安装时报 GCC 版本错误GCC 版本过低或未安装安装 GCC 12:sudo apt install gcc-12 g++-12
内核更新后驱动失效DKMS 未正确安装或未启用确保已安装dkms,检查:dkms status。修复:sudo apt install --reinstall nvidia-driver-535
nvidia-smi显示 “No devices were found” 但驱动已安装双显卡系统 GPU 运行模式问题prime-select query检查当前 GPU,使用sudo prime-select nvidia切换到独显并重启。
安装驱动后 WiFi 消失内核更新导致无线网卡驱动未适配在 GRUB 高级选项中回退到旧内核启动;或重新安装无线网卡驱动。

八、总结

本文要点回顾:

  1. 安装顺序:NVIDIA 驱动必须在所有其他开发环境之前安装,这是确保后续环境稳定性的关键。
  2. 推荐方法:首选ubuntu-drivers autoinstall命令或"软件和更新"图形界面。
  3. 关键步骤:禁用 Nouveau → 安装编译依赖 → 选择recommended标记的驱动版本 → 重启验证。
  4. 验证成功:nvidia-smi能正确输出 GPU 信息和驱动版本即可。
  5. 最后手段:如果以上方法都失败,再考虑从 NVIDIA 官网下载.run文件手动安装。

📚 系列导航:

  • 下一篇:Ubuntu 22.04 视觉开发环境搭建(二):CUDA Toolkit 安装与环境配置
  • [[技术笔记/视觉环境搭建/Ubuntu22.04.2视觉开发环境搭建全流程]] — 原始完整笔记

参考资料

  • NVIDIA 官方驱动下载
  • Ubuntu 官方文档:NVIDIA 驱动安装
  • NVIDIA CUDA 安装指南 - Linux
  • Graphics Drivers PPA
  • ArchWiki: NVIDIA
http://www.jsqmd.com/news/990117/

相关文章:

  • 从模型到应用:手把手拆解K210人脸识别代码,搞懂196维特征值怎么来的
  • 用STM32F103C8T6做个厨房电子秤:HX711+OLED显示,从硬件接线到校准全流程
  • HarmonyOS6 实战案例之HSV 颜色模型到底在算什么?ColorUtils 代码逐行拆解
  • 广州六区黄金回收实测:谁更值得信赖 - 余生黄金回收
  • AI写论文新选择!这4款AI论文写作工具,为你的学术创作助力!
  • 质量好的潜水排污泵厂家哪家好?2026年行业厂商综合能力分析 - 优质品牌商家
  • 番茄小说下载器:3个技巧让你随时随地畅享离线阅读
  • java+vue+SpringBoot校园体育场馆使用管理系统(程序+数据库+报告+部署教程+答辩指导)
  • 别再傻等下载了!一个脚本把百度网盘分享链接先批量‘收藏’再统一处理
  • Java(数组)
  • 别再只把Voronoi图当数学概念了!用Python从零生成艺术纹理,附完整代码
  • 终极文档下载革命:如何用kill-doc脚本一键获取30+平台文档资源
  • Linphone 6.0.7:你的通讯工具如何变得更懂你?
  • 用原生JS和Canvas从零撸一个功能齐全的在线画板(支持撤销/恢复/保存PNG)
  • 数据的加密与解密(05:00)
  • 例会/晨会/早会/周会录音转文字神器亲测推荐:效率翻倍不踩坑
  • 5个技巧掌握Pywinauto:Windows自动化测试的终极指南
  • 火箭六自由度姿态仿真MATLAB工具包:含气动力建模、四元数解算与PID闭环控制
  • 2026广州黄金回收市场红黑榜实测 - 余生黄金回收
  • 35GHz八单元偶极子MIMO射频链路Simulink建模包:含OFDM波束赋形与天线互耦仿真
  • 终极免费解决方案:3分钟搭建个人专属付费墙绕过工具
  • 从NVD到你的工单:如何用Python脚本自动抓取并解析CVE的CVSS 3.1评分?
  • 计算机毕业设计之django基于计算机专业的考研志愿填报模拟系统
  • 华硕笔记本性能优化指南:5个技巧告别奥创中心卡顿
  • C#写的30个PPT式图片切换动画源码,拉幕旋转分块淡入全都有
  • STM32F103C8T6驱动TM1616数码管模块:从硬件连接到完整代码移植(附避坑点)
  • FPGA做FFT时,你的输入数据格式对了吗?手把手解决锯齿波分析的实部虚部拼接问题
  • 抖音无水印下载神器:批量保存视频、直播、音乐的全能解决方案
  • 正规的佛山老酒回收推荐:2026年本地市场格局与服务机构分析 - 优质品牌商家
  • 苹果CMS V10站长专用:萌芽采集Pro插件v10.7.3一键部署包(含后台入口+配置说明)