先执行ubuntu-drivers devices查看推荐驱动版本,输出中带“recommended”标签的即为当前硬件与内核最匹配的稳定版(如nvidia-driver-535/545/550),再通过sudo apt install安装;务必提前禁用nouveau驱动并更新initramfs,否则易黑屏或nvidia-smi报“no devices found”。

直接装 nvidia-driver-535 或更高稳定版(如 545、550)基本不会翻车,比手动跑 .run 文件安全得多;但必须禁用 nouveau,否则黑屏或 nvidia-smi 报“no devices found”。
怎么查系统推荐的 NVIDIA 驱动版本
终端执行:ubuntu-drivers devices,输出里带 recommended 标签的那一行就是当前内核和硬件最匹配的版本。比如:
== /sys/devices/pci0000:00/0000:01:00.0 == modalias : pci:v000010DEd000025A2sv00001043sd00001496bc03sc00i00 vendor : NVIDIA Corporation model : GA104 [GeForce RTX 3070] driver : nvidia-driver-535 - distro non-free recommended driver : nvidia-driver-525 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin
注意:不要只看显卡型号去官网下最新 .run,Ubuntu 内核模块签名、ABI 兼容性、X server 版本都可能不匹配。
-
ubuntu-drivers autoinstall可一键装推荐驱动,但建议先自己apt install,方便控制版本 - 如果输出为空,先确认
lspci | grep -i nvidia能看到设备,再检查是否漏了sudo apt update - 某些新卡(如 RTX 40 系)在 Ubuntu 22.04 默认源里没驱动,得加 PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update
为什么装完黑屏或进不了桌面
90% 是 nouveau 没彻底禁用,或者 GRUB 启动参数没调。装驱动前必须做这两件事:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 创建
/etc/modprobe.d/blacklist-nouveau.conf,内容两行:blacklist nouveauoptions nouveau modeset=0 - 执行
sudo update-initramfs -u,然后sudo reboot - 重启后立刻验证:
lsmod | grep nouveau—— 必须无任何输出 - 如果仍黑屏,开机时长按
Shift进 GRUB,按e编辑启动项,在linux行末尾加nouveau.modeset=0 nomodeset临时绕过,再进系统补禁用
装完驱动后 nvidia-smi 显示“no devices found”
不是驱动没装上,而是内核模块没加载成功。常见原因:
-
nvidia模块没进 initramfs:重做sudo update-initramfs -u,再sudo modprobe nvidia看是否报错 - Secure Boot 开着:Ubuntu 22.04 官方驱动默认不签名,
dmesg | grep -i nvidia会看到 “signature verification failed”,需进 BIOS 关 Secure Boot,或手动签名模块(不推荐新手) - 多显卡(核显 + 独显)没切到 NVIDIA:运行
sudo prime-select nvidia,再sudo reboot - 驱动版本和当前内核不兼容:比如刚升级到
6.8.x内核,但装的是为5.15编译的驱动,此时dkms status会显示nvidia未构建,需重装或换驱动版本
要不要用 .run 文件手动安装
除非你明确需要官网最新版(比如 CUDA 12.4 要求驱动 ≥ 535.104),否则没必要。Ubuntu 官方源里的 nvidia-driver-XXX 包做了适配:
- 自动处理 DKMS 编译,内核升级后模块仍可用
- 和
X.org、systemd、gnome-session集成更稳 -
.run安装容易残留配置(如/etc/X11/xorg.conf),导致后续apt upgrade失败 - 若已用
.run装过,卸载必须用:sudo ./NVIDIA-Linux-x86_64-*.run --uninstall,再清空/etc/modprobe.d/nvidia*和/etc/X11/xorg.conf
真正容易被忽略的是:驱动装完,nvidia-smi 能用 ≠ CUDA 能用;CUDA Toolkit 是另一套东西,版本必须和驱动支持的最高 CUDA 版本对齐(看 nvidia-smi 输出右上角那个数字),别直接装最新 CUDA。


















