news 2026/5/8 9:50:36

如何在Ubuntu 26.04、24.04和22.04上安装NVIDIA驱动程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在Ubuntu 26.04、24.04和22.04上安装NVIDIA驱动程序

如何在Ubuntu 26.04、24.04和22.04上安装NVIDIA驱动程序
最后更新于 2026年4月29日星期三 晚上8:08
|
约书亚·詹姆斯
|
阅读16分钟
|
6条评论
Ubuntu 标志连接到 NVIDIA 显卡,带有显示 GPU 驱动安装过程的驱动文字
当Nouveau驱动不足以应对游戏、Blender、CUDA工作负载、外接显示器或混合图形时,可以在Ubuntu上安装NVIDIA驱动。Ubuntu 26.04、24.04 和 22.04 都提供打包驱动路径,因此大多数系统应先从默认仓库开始,再添加图形驱动 PPA 或 NVIDIA 的 CUDA 仓库。

最安全的路径是识别标记为 的分支,然后通过 APT 安装该分支,这样内核模块重建、安全启动提示和未来的驱动更新都能与 Ubuntu 的包管理器绑定。ubuntu-drivers devicesrecommended

在Ubuntu上安装NVIDIA驱动
只有在干净的系统上,没有之前没有安装过NVIDIA的运行文件、CUDA仓库或图形驱动PPA时,才使用快速路径。如果你在更换源代码或从损坏的驱动中恢复,先移除旧包。

Ubuntu 快速 NVIDIA 驱动安装命令

```powershell sudo apt update sudo apt install ubuntu-drivers-common ubuntu-drivers devices sudo ubuntu-drivers install sudo reboot
重启后,用或确认激活驱动。如果快速路径检测不到你的显卡,或者你需要特定分支,就继续完成完整的方法部分。nvidia-smicat /proc/driver/nvidia/version 主要的打包方法因源代码、分支节奏和更新行为而异。 方法 频道 分支来源 更新 最佳 默认仓库(CLI/GUI) Ubuntu 仓库 Ubuntu 封装分支选择 自动通过apt upgrade 大多数台式机和笔记本都需要经过测试的系统管理驱动 图形驱动PPA 发射台PPA 额外的Ubuntu打包分支 自动通过apt upgrade 需要默认仓库尚未提供的分支的系统 NVIDIA CUDA 仓库 NVIDIA CUDA NVIDIA打包的驱动和CUDA分支 自动通过apt upgrade CUDA开发、机器学习和遵循NVIDIA CUDA封装的计算节点 对大多数用户来说,推荐默认仓库方法,因为它能让驱动更新与 Ubuntu 的内核和桌面包保持一致。只有在默认仓库没有提供 GPU 需要的分支时,才使用 Graphics-drivers PPA。当你特别需要 NVIDIA 的 CUDA 打包和驱动节奏来处理计算工作负载时,才使用 CUDA 仓库。 Ubuntu 26.04 LTS、24.04 LTS 和 22.04 LTS 也在范围内。默认仓库、图形驱动 PPA 和 NVIDIA CUDA 仓库都发布这些版本的 amd64 驱动元数据,但 CUDA 仓库在 26.04 版本中使用的包名与 24.04 和 22.04 版本不同。 在Ubuntu上移除之前的NVIDIA驱动 在更换安装方法前,务必干净地移除旧的 NVIDIA 源代码。混合 Ubuntu 仓库包、显卡驱动 PPA、NVIDIA 的 CUDA 仓库和运行文件安装可能会导致 DKMS 模块或库不匹配。移除后,Ubuntu 会退回到 Nouveau 内核驱动和 Mesa 用户空间栈,直到安装新的 NVIDIA 驱动。 如果你之前没有通过任何方式安装过NVIDIA驱动,请跳到准备部分。 移除旧的NVIDIA驱动仓库 如果您之前启用了显卡驱动 PPA 或 NVIDIA CUDA 仓库,重装前请删除这些源代码,以避免驱动分支混淆或重复仓库警告。CUDA 清理包含当前源文件和旧文章创建的源名称:cuda-keyring ```powershell sudo add-apt-repository --remove ppa:graphics-drivers/ppa sudo rm -f /etc/apt/sources.list.d/graphics-drivers-ubuntu-ppa*.list sudo rm -f /etc/apt/sources.list.d/graphics-drivers-ubuntu-ppa*.sources sudo rm -f /etc/apt/sources.list.d/cuda-ubuntu*-x86_64.list sudo rm -f /etc/apt/sources.list.d/nvidia-drivers.list sudo rm -f /etc/apt/sources.list.d/nvidia-cuda.sources sudo rm -f /etc/apt/preferences.d/cuda-repository-pin-600

删除这些条目后刷新APT,使旧源不再在选择包时被考虑:

sudo apt update

通过APT移除NVIDIA包
运行APT前预览基于APT的NVIDIA清理。引用包模式可以防止壳层在APT收到包名前展开它们:

sudo apt--simulate remove--purge'nvidia*''libnvidia*'

如果预览版只包含你打算移除的NVIDIA驱动包,那就执行真正的清除程序:

sudo apt remove--purge'nvidia*''libnvidia*'

预览依赖清理单独,防止APT在未审查的情况下删除无关的桌面、内核或开发包:

sudo apt autoremove--dry-run--purge

只有当预览仅限于你不再需要的包时,才继续:

sudo apt autoremove--purge

如果你之前通过Ubuntu或NVIDIA仓库安装了CUDA Toolkit,在选择新驱动源前先清除这些包。这样可以移除诸如、、等元包,这些包可以让NVIDIA组件被固定住:cuda-driverscuda-toolkit-13-2libcuda1

sudo apt--simulate remove--purge'cuda-*''libcuda*''nvidia-cuda-toolkit'cuda-keyring

如果预览是干净的,请移除CUDA包:

sudo apt remove--purge'cuda-*''libcuda*''nvidia-cuda-toolkit'cuda-keyring

确认旧的APT包是否已删除,还是仅保留为已移除的配置条目():rc

dpkg-query-W-f='${db:Status-Abbrev} ${binary:Package}\n''nvidia*''libnvidia*''cuda*''libcuda*'2>/dev/null|grep-E'^(ii|rc)'||true

在继续之前,NVIDIA 或 CUDA 包的 NVIDIA 或 CUDA 包不应保留任何开头的队列。ii

通过运行文件移除安装的NVIDIA驱动程序
如果你用从 NVIDIA Unix 驱动页面下载的运行文件安装了 NVIDIA 驱动,不要只用 APT 作为清理路径。Runfile 会把文件放在 APT 包数据库之外,并包含自己的卸载脚本。

卸载程序在GNOME、KDE或Wayland会话处于激活状态时拒绝运行。按键进入文本控制台,登录后停止显示管理器(例如,或)后继续。清理后,重启或重新启动显示管理器。Ctrl+Alt+F3sudo systemctl stop gdm3sudo systemctl stop lightdm

在运行卸载程序前,先删除NVIDIA创建的modprobe黑名单文件,以便系统在需要时重新启动到Nouveau:

下一个命令会从系统 modprobe 目录中删除 NVIDIA 安装程序的黑名单文件。如果你手动管理自定义 modprobe 规则,先检查路径。

sudorm-f/lib/modprobe.d/nvidia-installer-*sudorm-f/etc/modprobe.d/nvidia-installer-*sudorm-f/usr/lib/modprobe.d/nvidia-installer-*

接下来,编辑并删除为支持专有驱动添加的任何自定义参数,如 或 。保存文件后,重建GRUB和你的初始文件:/etc/default/grubnvidia-drm.modeset=1nvidia-drm.fbdev=1

sudoupdate-grubsudoupdate-initramfs-u

运行捆绑的卸载程序来移除驱动:在这里插入代码片

sudo/usr/bin/nvidia-uninstall

移除通过运行文件安装的CUDA工具包
如果你用运行文件安装了CUDA Toolkit,请用附带的脚本删除它。替换为你安装的CUDA版本号:cuda-uninstallerX.Y

sudo/usr/local/cuda-X.Y/bin/cuda-uninstaller

例如,CUDA 12.0 使用 。/usr/local/cuda-12.0/bin/cuda-uninstaller

准备Ubuntu安装NVIDIA驱动
更新系统,安装匹配的内核头部,并确认Ubuntu能识别NVIDIA显卡后再选择驱动分支。

更新Ubuntu系统包
先更新包元数据,让APT看到最新的内核、驱动和依赖候选数据。

刷新包元数据:

sudo apt update
这些命令用于需要根权限的包管理任务。如果你的账户还没在 sudoers 文件里,可以先以 root 身份运行命令,或者按照 Ubuntu 上添加新用户的指南操作。sudo

然后应用待处理的套餐升级:

sudo apt upgrade
对于硬件较新、LTS用户,HWE内核提供更新的内核版本和改进的驱动兼容性,而无需升级整个Ubuntu版本。

Ubuntu Server 和其他最小镜像经常跳过内核头和 PCI 工具。DKMS需要匹配的头部来编译NVIDIA模块,同时提供用于GPU检测的命令:pciutilslspci

sudo apt install linux-headers-$(uname -r) pciutils
如果你本地编译 OpenGL 或 EGL 应用,现在就安装 NVIDIA 的 GLVND 开发栈并构建辅助工具。这些库在驱动安装时是可选的,但以后开发GPU识别软件时可以节省时间:

sudo apt install pkg-config libglvnd-dev libegl-dev libgl-dev libgles-dev libglx-dev libopengl-dev gcc make
验证NVIDIA GPU兼容性
在选择分支之前,先确认检测到的显卡。最近的显卡通常支持推荐分支,而老显卡可能需要一个仍支持其架构的遗留分支。

查找你的显卡型号:

lspci | grep -E ‘VGA|3D|Display’
该过滤器涵盖桌面显卡、看起来像3D控制器的笔记本混合GPU,以及显示控制器。带有示例的grep命令指南解释了这里使用的扩展正则表达式形式。grep -E

相关输出大致如下:

03:00.0 VGA compatible controller: NVIDIA Corporation TU117 [GeForce GTX 1650] (rev a1)
确定GPU型号后,查看NVIDIA的Unix驱动页面或支持产品列表,查找你打算安装的分支。老款GPU,如较老的Kepler、Maxwell、Pascal,以及一些笔记本变体,可能需要特定的分支,而不是Ubuntu发布的最新软件包。

广告
方法一:通过CLI在Ubuntu上安装NVIDIA驱动
CLI方法是最佳默认方法,因为它显示推荐的软件包,适用于桌面和服务器安装,并且驱动程序由APT管理。

识别可用的 NVIDIA 驱动程序
如果缺少,这在Ubuntu Server或最小安装中很常见,先安装:ubuntu-drivers

sudo apt install ubuntu-drivers-common
列出你GPU可用的驱动:

ubuntu-drivers devices
相关输出显示检测到的显卡和驱动,标记为:recommended

vendor : NVIDIA Corporation
model : TU117 [GeForce GTX 1650]
driver : nvidia-driver-580 - third-party non-free recommended
driver : nvidia-driver-580-open - third-party non-free
driver : nvidia-driver-550 - third-party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
你也可以列出没有设备检测的分支包:

ubuntu-drivers list
服务器和GPU计算主机应包含该标志以查看推荐构建:–gpgpu-server

ubuntu-drivers list --gpgpu
该选项属于 和 子命令。如果顶层帮助没有显示,请检查 或 。–gpgpulistinstallubuntu-drivers list --helpubuntu-drivers install --help

该工具使用Ubuntu包的驱动程序,通常是启用安全启动时最安全的起点。如果安全启动仍阻碍模块,请注册机器所有者密钥(MOK)或在安装时暂时禁用安全启动。ubuntu-drivers

在示例输出中,显卡型号是 ,推荐的 NVIDIA 驱动是 。你的显卡可能会生成不同的分支,除非你有硬件支持原因选择其他软件包,否则请使用标记好的条目。TU117 [GeForce GTX 1650]nvidia-driver-580recommended

从 Ubuntu 仓库安装 NVIDIA 驱动
请使用以下命令自动安装推荐的驱动程序:ubuntu-drivers install

sudo ubuntu-drivers install
该工具会分析你的硬件并安装推荐的分支。Ubuntu 24.04 和 22.04 仍然被列为弃用别名,但 Ubuntu 26.04 没有列出该命令,因此在新指令中使用。ubuntu-drivers autoinstallsudo ubuntu-drivers install

如果你更喜欢在辅助工具内明确控制,可以指定输出的分支。用显示的数字替换为:ubuntu-drivers listrecommended

sudo ubuntu-drivers install nvidia:
你也可以直接用APT安装特定包。当GPU或工作负载需要时,使用常规专有包:

sudo apt install nvidia-driver-
仅在支持的GPU上使用内核模块包:-open

sudo apt install nvidia-driver--open
对于老版显卡,安装前请确认该分支是否存在于你的Ubuntu版本中。Ubuntu 24.04 和 22.04 目前暴露于 ;Ubuntu 26.04 不会在默认仓库中暴露该包,26.04 上的一些旧分支名称是过渡包,指向较新的分支。nvidia-driver-470

apt-cache policy nvidia-driver-470
sudo apt install nvidia-driver-470
Ubuntu Server 版本应安装 metapackages,这些包提供面向服务器的驱动程序包,无需拉取不必要的桌面组件。在GPU适用时,使用专有服务器包:-server

sudo apt install nvidia-driver--server
使用支持的 Open Server 包:

sudo apt install nvidia-driver--server-open
该工具可以通过一个命令安装相同的服务器包系列:ubuntu-drivers

sudo ubuntu-drivers install --gpgpu nvidia:-server
选择服务器驱动后,安装相应的工具,使无头主机仍拥有相关工具:nvidia-smi

sudo apt install nvidia-utils--server
安装后重启,让新内核模块替换 Nouveau 或内存中任何旧的 NVIDIA 分支:

sudo reboot
如果安全启动在重启时提示你注册MOK,请在期待NVIDIA模块加载前完成该注册。

方法二:通过界面(仅桌面)在Ubuntu上安装NVIDIA驱动
图形化方法使用Ubuntu Desktop的“附加驱动程序”面板。它在GNOME桌面上很方便,但上述CLI方法在服务器、少量安装和远程系统上更为可预测。

这种工作流程仅存在于 Ubuntu 桌面版,安装了 GNOME 和附加驱动程序面板。Ubuntu Server 用户应坚持上述 CLI 方法。

Ubuntu 26.04 桌面安装默认可能不包含 GUI 工具。如果菜单中缺少“额外驱动程序”,请先安装,然后再次打开应用:software-properties-gtk

sudo apt install software-properties-gtk
打开Ubuntu附加驱动程序
从你的应用菜单打开“附加驱动程序”应用:

点击屏幕左上角的“活动”。
然后,在搜索栏输入“额外驱动程序”。
从搜索结果中选择“附加驱动程序”应用。
在附加驱动程序中选择并安装NVIDIA驱动
“软件与更新”窗口显示了你 NVIDIA 显卡可用的驱动程序。分支列表因GPU型号和启用仓库而异。

选择推荐的NVIDIA驱动,点击“应用更改”,等待软件包安装完成。

最后,安装完成后重启系统。

方法三:通过显卡驱动PPA在Ubuntu上安装NVIDIA驱动
显卡驱动的PPA可以在驱动分支到达Ubuntu默认仓库之前,暴露额外的NVIDIA驱动分支。只有当默认仓库缺少你的GPU或工作负载所需的分支时才使用。

安装显卡驱动 PPA 前提条件
安装在最小系统上提供的辅助包:add-apt-repository

sudo apt install software-properties-common
添加图形驱动 PPA
添加图形驱动 PPA:

sudo add-apt-repository ppa:graphics-drivers/ppa
从PPA中刷新NVIDIA驱动的APT
刷新包元数据以检测PPA中的驱动程序:

sudo apt update
APT应报告Ubuntu代号的取物,如、、或。如果APT报告404错误或显示仓库没有Release文件,PPA目前不会发布该Ubuntu版本的元数据。InReleaseresolutenoblejammy

验证可用的NVIDIA驱动
列出PPA可用的驱动:

ubuntu-drivers devices
输出可能会显示更新的分支、遗留分支,或者 Ubuntu 已经提供的推荐分支。安装前请对比该条目;可见的 PPA 并不总意味着 PPA 是你发布的更好源代码。recommended

从 PPA 安装 NVIDIA 驱动
安装PPA推荐的驱动:

sudo ubuntu-drivers install
要直接安装特定的专有分支,请用以下推荐替换:ubuntu-drivers devices

sudo apt install nvidia-driver-
只有当所列分支支持你的GPU时,才使用开放内核模块包:

sudo apt install nvidia-driver--open
在带有图形驱动的 Ubuntu 服务器上,选择匹配的元包以保持安装简洁:-server

sudo apt install nvidia-driver--server
仅在支持的显卡上使用该软件包:-server-open

sudo apt install nvidia-driver--server-open
为了坚持,使用GPGPU标志从激活源安装服务器包家族:ubuntu-drivers

sudo ubuntu-drivers install --gpgpu nvidia:-server
为无头系统添加相应的公用设施:

sudo apt install nvidia-utils--server
安装完成后重启。

方法四:通过CUDA仓库在Ubuntu上安装NVIDIA驱动
NVIDIA 的 CUDA 仓库现在发布了 Ubuntu 26.04、24.04 和 22.04 的 amd64 驱动元数据。只有当你希望 NVIDIA 的 CUDA 仓库拥有驱动包时才使用这种方法;否则,默认的 Ubuntu 仓库仍然是更干净的桌面路径。

安装CUDA仓库的前提条件
NVIDIA CUDA 仓库除了支持 CUDA Toolkit 外,还提供驱动程序包。该软件包包含 GCC 编译器和 DKMS 构建工具,而匹配内核头部则允许 NVIDIA 模块针对运行中的内核构建。钥匙扣下载使用;Linux 指南中的 curl 命令解释了常见的标志,如 。build-essentialcurl-fsSLO

sudo apt install build-essential dkms linux-headers-$(uname -r) ca-certificates curl
安装NVIDIA CUDA钥匙圈
NVIDIA 的软件包将仓库源文件、CUDA 签名密钥圈和 APT 优先级针脚一起安装。选择与你Ubuntu版本匹配的命令块。cuda-keyring

Ubuntu 26.04 LTS
curl -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
Ubuntu 24.04 LTS
curl -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
Ubuntu 22.04 LTS
curl -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
安装后移除下载的软件包;APT使用已安装的密钥圈和源文件,而不是本地副本:dpkg.deb

rm -f cuda-keyring_1.1-1_all.deb
添加CUDA仓库后刷新APT
刷新包元数据,让APT读取NVIDIA的仓库和PIN码文件:

sudo apt update
相关输出包括你发布的CUDA仓库。Ubuntu 24.04 和 22.04 在路径中显示相同的模式:ubuntu2404ubuntu2204

Get:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64 InRelease
Get:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64 Packages
查看CUDA仓库驱动包
安装前请检查驱动包名称,因为 Ubuntu 26.04 目前在 NVIDIA 仓库中使用无版本滚动包,而 Ubuntu 24.04 和 22.04 也暴露了有版本的分支包,例如:nvidia-driver-580

apt-cache policy cuda-drivers nvidia-open nvidia-driver nvidia-driver-580 nvidia-driver-580-open nvidia-headless nvidia-headless-580
对于CUDA仓库包,请在策略输出中查找APT优先级。在Ubuntu 26.04版本中,可能仍来自Ubuntu自有仓库,而NVIDIA的CUDA仓库拥有、、 和 。developer.download.nvidia.com600nvidia-driver-580nvidia-drivernvidia-opencuda-drivers

从 CUDA 仓库安装当前的 NVIDIA 驱动
对于NVIDIA当前的CUDA仓库分支,请选择一条当前包路径。NVIDIA 当前文档建议对新支持的 GPU 采用开放内核模块版本:

sudo apt install nvidia-open
只有在你的GPU或工作负载需要时才使用专有内核模块版本:

sudo apt install nvidia-driver
当你想让NVIDIA的CUDA仓库选择匹配的驱动栈时,可以使用CUDA驱动元包:

sudo apt install cuda-drivers
在Ubuntu 24.04或22.04上安装一个版本化的CUDA仓库驱动
Ubuntu 24.04 和 22.04 目前暴露了版本化的 CUDA 仓库分支,例如 580。只有在需要该特定分支时才使用专有分支,而不是滚动的 、 、 或 包:nvidia-opennvidia-drivercuda-drivers

sudo apt install nvidia-driver-580 nvidia-utils-580
在支持的GPU上,使用开放内核模块变体来实现同一分支:

sudo apt install nvidia-driver-580-open nvidia-utils-580
在 Ubuntu 26.04 版本中,CUDA 仓库目前拥有未版本的当前驱动包,而版本化的包则来自 Ubuntu 的默认仓库。nvidia-driver-580

安装 NVIDIA 无头驱动
对于没有显示的服务器、容器或无头计算节点,无头驱动省略了GUI组件,同时保留了GPU计算支持。该未版本专有包遵循 NVIDIA 当前的 CUDA 仓库分支:

sudo apt install nvidia-headless
对于支持的 GPU 使用未版本的开放内核模块包:

sudo apt install nvidia-headless-open
在Ubuntu 24.04或22.04版本中,只有在显示来自NVIDIA的CUDA仓库后,才使用版本化的专有分支:apt-cache policy

sudo apt install nvidia-headless-580 nvidia-utils-580
在GPU适用时,使用匹配版本化的开放内核模块包:

sudo apt install nvidia-headless-580-open nvidia-utils-580
对于配备NVSwitch硬件的数据中心服务器,请从同一CUDA仓库源安装Fabric Manager。请用“first”验证包名,因为Fabric Manager的打包因分支和版本而异:apt-cache policy

apt-cache policy nvidia-fabricmanager libnvidia-nscq
sudo apt install nvidia-fabricmanager libnvidia-nscq
安装后重启,以便新模块加载:

sudo reboot
广告
更新Ubuntu上的NVIDIA驱动
保持驱动更新绑定到你安装时使用的同一个源代码。在更新过程中混合默认仓库、PPA 和 CUDA 仓库包,可能会替换内核模块,而不需要匹配的实用工具。

sudo apt update
apt list --upgradable 2>/dev/null | grep -E ‘^(nvidia|libnvidia|cuda)’ || true
对于例行更新,请通过APT升级,若驱动程序、DKMS、内核或CUDA包发生变化,则重启:

sudo apt upgrade
sudo reboot
对于针对桌面驱动的更新,请用已安装的分支替换,例如:580550

sudo apt install --only-upgrade nvidia-driver- nvidia-utils-
针对服务器驱动更新,将服务器包保持在同一分支:

sudo apt install --only-upgrade nvidia-driver--server nvidia-utils--server
在Ubuntu上排查NVIDIA驱动安装问题
安装失败和显示问题通常源于驱动冲突、安全启动阻断模块、缺少工具或过时的GNOME设置。

安全启动阻止NVIDIA驱动加载
启用安全启动的系统会阻止未签名内核模块,阻止NVIDIA驱动加载。因此,你有两个选择:安装时在BIOS/UEFI设置中禁用安全启动,或者注册机器所有者密钥(MOK)来签署DKMS构建的模块。

对大多数用户来说,在安装驱动时暂时禁用安全启动是最简单的方法:

重启后进入BIOS/UEFI(通常启动时按Del、F2或F12)
在安全设置中找到“安全启动”并禁用它
保存并重启
使用上述任一方法安装NVIDIA驱动
只有在注册一个能为NVIDIA模块签名的密钥后,才重新启用安全启动;否则保持禁用
如果你需要启用安全启动,安装 MOK 工具并注册一个机器所有者密钥(MOK),这样 DKMS 在你重新开启前会先签署驱动程序。该软件包在尚未安装该命令的 Ubuntu 系统上提供:shim-signedupdate-secureboot-policy

sudo apt install shim-signed mokutil
sudo update-secureboot-policy --new-key
sudo reboot
重启时,按照屏幕上的 MOK 注册提示操作。注册后,重新安装 NVIDIA 驱动以完成模块签名,然后重新启用安全启动。更多背景信息请参阅 Debian 的安全启动和 DKMS 文档;该过程同样适用于 Ubuntu。

安装后黑屏或无显示
如果系统启动时黑屏,说明NVIDIA驱动加载失败,或者Nouveau仍然活跃。启动恢复模式或虚拟控制台,然后检查NVIDIA模块是否已加载:

lsmod | grep nvidia
如果没有输出,说明NVIDIA驱动未加载。加载系统通常显示模块名称,如、、和。nvidianvidia_modesetnvidia_drm

接下来,查看DKMS状态:

sudo dkms status
一个健康的DKMS条目以激活内核的 为结尾。如果驱动显示为 、 、 或 运行中的内核,则重建它:: installedaddedbuiltunbuiltfailed

sudo dkms autoinstall
重建后,再次运行并确认条目以 结尾。sudo dkms status: installed

如果你看到Nouveau加载而不是NVIDIA,请永久将其列入黑名单:

printf ‘%s\n’
‘blacklist nouveau’
‘options nouveau modeset=0’
| sudo tee /etc/modprobe.d/blacklist-nouveau.conf > /dev/null
重建你的初始化器并重启:

sudo update-initramfs -u
sudo reboot
安装后缺少 Nvidia-SMI 命令
该命令来自NVIDIA的工具包。如果驱动程序加载但缺失,检查是否安装了匹配的工具包:nvidia-sminvidia-smi

command -v nvidia-smi || true
dpkg-query -W -f=‘${db:Status-Abbrev} ${binary:Package}\n’ ‘nvidia-utils*’ 2>/dev/null | grep ‘^ii’ || true
对于桌面驱动,安装与你分支匹配的实用工具包:

sudo apt install nvidia-utils-
对于服务器驱动程序,请使用匹配的服务器工具包:

sudo apt install nvidia-utils--server
如果存在但报告,则该工具包存在,但驱动程序不绑定在显卡上。在重新安装随机驱动分支之前,检查安全启动、DKMS状态和已加载的NVIDIA模块。nvidia-smiNo devices were found

内核更新后的 DKMS 构建失败
如果 DKMS 在内核更新后未能重建驱动程序,请确保内核头部与你正在运行的内核一致:

uname -r
输出是你的活动内核版本。在重建NVIDIA模块之前,先安装完全符合该数值的头部:

sudo apt install linux-headers-$(uname -r)
然后强制DKMS重建:

sudo dkms autoinstall
sudo update-initramfs -u
移除幽灵“未知显示”条目
有些GNOME安装在切换驱动分支后会显示额外的“未知显示”条目,因为陈旧的显示器布局文件会在你的配置文件或GDM配置中残留。删除那些布局文件,让GNOME用活跃显示重生成它们:

rm -f ~/.config/monitors.xml
sudo rm -f /var/lib/gdm3/.config/monitors.xml
登出再重新登录(或在多用户系统上重启 GDM),这样 GNOME 就能创建一个新的布局,去除幻影显示器。对受幽灵条目影响的其他桌面账户重复用户专用的移除命令。

登录界面恢复Wayland
如果 Wayland 作为会话选项消失了,请编辑 GDM 配置文件:

sudo nano /etc/gdm3/custom.conf
找到那行,把它改成 ,或者如果已经设置为 ,就取消注释。用Ctrl+O保存文件,用Ctrl+X退出。然后中和GDM旧的udev规则,重启:WaylandEnable=falseWaylandEnable=true

sudo ln -sf /dev/null /etc/udev/rules.d/61-gdm.rules
sudo reboot
稳定Wayland与NVIDIA的会话
Wayland 在 GNOME 46 和 NVIDIA 驱动 555 或更新版本上表现最佳。编辑GRUB配置文件:

sudo nano /etc/default/grub
找到包含该行的行,并将引号内的参数加入。例如:GRUB_CMDLINE_LINUXnvidia-drm.modeset=1 nvidia-drm.fbdev=1

GRUB_CMDLINE_LINUX=“nvidia-drm.modeset=1 nvidia-drm.fbdev=1”
保存文件,然后更新GRUB并重启:

sudo update-grub
sudo reboot
确认安装了专有的EGL绑定器。Ubuntu 24.04的软件包包括,但如果Wayland不断回退到Mesa,你可以重新安装它(如果你安装了NVIDIA 555+的runfile,可以跳过这一步,因为他们已经提供了该库):libnvidia-egl-wayland1

sudo apt install libnvidia-egl-wayland1
Chrome、Chromium 和 Electron 应用(VS Code、Slack 等)可能仍然默认使用 XWayland。通过将“首选臭氧平台”标志设置为“Wayland”或启动 Electron 应用,启用 Wayland Ozone 后端。–enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto

禁用有问题的GSP固件(可选)
预览版NVIDIA驱动偶尔会启用GSP固件,这会影响响应速度。检查GSP是否有效:

nvidia-smi -q | grep “GSP Firmware”
如果出现版本号(而非),请编辑GRUB配置文件:N/A

sudo nano /etc/default/grub
在行中添加引号,然后保存文件并应用修改:nvidia.NVreg_EnableGpuFirmware=0GRUB_CMDLINE_LINUX

sudo update-grub
sudo reboot
修复、暂停或恢复伪影
恢复闪烁显示的系统通常缺少保留视频内存分配参数。编辑GRUB配置文件:

sudo nano /etc/default/grub
在引号里加上,保存文件,然后应用修改并重启:nvidia.NVreg_PreserveVideoMemoryAllocations=1GRUB_CMDLINE_LINUX

sudo update-grub
sudo reboot
重启后,请确认该设置是否激活:

cat /proc/driver/nvidia/params | grep PreserveVideoMemoryAllocations
期望输出确认该设置已启用:

PreserveVideoMemoryAllocations: 1
确认NVIDIA驱动在Ubuntu上可运行
安装NVIDIA驱动并重启后,先在终端验证安装情况,然后如果需要显示或性能调优选项,可以使用NVIDIA的GUI工具。

通过终端检查NVIDIA驱动
首先,确认加载的是哪个内核模块版本:

cat /proc/driver/nvidia/version
输出应包括一行已加载的NVIDIA分支和一行用于构建模块的编译器。NVRM versionGCC version

然后,查看GPU使用率、内存使用率和驱动状态:nvidia-smi

nvidia-smi
输出应该包括 、 ,以及一行代表你的 GPU。CUDA 值是驱动程序的最大运行时兼容性,而非 CUDA 工具包是否已安装。Driver VersionCUDA Versionnvidia-smi

如果你的笔记本采用了NVIDIA Optimus技术(混合Intel + NVIDIA显卡),可能需要在工作前切换到NVIDIA模式。先安装 X.Org 输入驱动栈,这样登录界面在切换后会保留键盘和鼠标的输入。prime-selectnvidia-sminvidia-prime

sudo apt install nvidia-prime xserver-xorg-input-all
sudo prime-select nvidia
sudo reboot
如果重启后键盘和鼠标卡死,启动时按住Shift进入恢复模式,选择“高级选项”,选择“恢复模式”,然后“丢入根壳”。切回英特尔显卡,重启,安装输入驱动,然后重试:

sudo prime-select intel
sudo reboot
为了更全面的图形概览,可以在Ubuntu上安装GPU查看器,以监控GPU指标、温度和利用率。

访问 NVIDIA 设置图形界面
如果你需要显示布局、OpenGL 或性能配置选项,安装并启动 NVIDIA 设置的图形界面:

sudo apt install nvidia-settings
nvidia-settings
你也可以在NVIDIA X服务器设置>活动>显示应用中打开它。

NVIDIA设置界面会显示你的GPU配置、信息和可自定义设置。从这里,你可以调整显示设置、管理性能配置文件,并配置高级驱动选项。

NVIDIA 驱动参考与支持链接
在排查或规划升级时,请使用这些参考资料获取上游驱动文档、分支信息和社区支持:

显卡驱动 PPA:当默认仓库没有暴露显卡所需的分支时,检查Ubuntu显卡驱动团队的PPA。
Ubuntu Server NVIDIA 驱动文档:回顾 Ubuntu 针对计算机或无头安装的服务器侧工作流程。ubuntu-drivers --gpgpu
NVIDIA Unix 驱动:查看 NVIDIA 官方 Unix 驱动页面,获取当前的上游分支信息和直接下载。
NVIDIA CUDA 工具包下载:访问 NVIDIA CUDA 下载页面,了解当前工具包包和支持平台。
NVIDIA 内核模块文档:在选择 CUDA 仓库包前,请确认开放与专有内核模块的指导。
NVIDIA 数据中心驱动分支:在选择 Tesla、NVSwitch 或 Fabric Manager 软件包前,请先阅读数据中心分支文档。
结论
无论你使用默认仓库、显卡驱动PPA、CUDA仓库还是桌面图形界面工作流程,你的Ubuntu系统现在都安装并验证了NVIDIA驱动。从这里,你可以在Ubuntu上安装CUDA Toolkit,在Ubuntu上安装HWE内核以支持较新的硬件,或者在Ubuntu上安装GPU Viewer来监控温度和使用率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 9:45:30

本地部署AI智能体工作台kern:统一记忆与自生成仪表盘实战

1. 项目概述:一个真正为你干活的智能体工作台如果你和我一样,对市面上那些“聊天机器人”式的AI助手感到厌倦,觉得它们更像是需要你不断喂指令、记性还不太好的实习生,那么这个项目可能会让你眼前一亮。kern-ai不是一个聊天界面&a…

作者头像 李华
网站建设 2026/5/8 9:45:28

2.1 排序算法之冒泡排序深度解析

冒泡排序深度解析目录 冒泡排序简介核心思想与执行流程 2.1 基本操作:比较与交换 2.2 一次完整的冒泡过程 2.3 多趟排序与终结条件算法实现 3.1 基础版实现 3.2 优化版一:提前终止 3.3 优化版二:记录最后交换位置复杂度深度分析 4.1 时间复杂…

作者头像 李华
网站建设 2026/5/8 9:40:47

从‘一次出价’的拍卖到‘持续布局’的商战:动态博弈思维如何帮你做更聪明的长期技术决策

从‘一次出价’到‘持续布局’:动态博弈思维重塑技术决策逻辑 技术决策从来不是孤立的瞬间选择,而是一场需要持续应对变化的智力马拉松。想象这样一个场景:你的团队正在评估两个开源框架,A框架成熟稳定但迭代缓慢,B框架…

作者头像 李华
网站建设 2026/5/8 9:40:32

C语言预处理详解

目录 1、预定义符号 2、#define定义常量 3、#define 定义宏 4.带有副作用的宏参数 5.宏的替换规则 6.宏函数的对比 宏的优势: 宏的劣势: 7.命名习惯 8.移除宏的指令 9.条件编译 10.头文件 1、预定义符号 __FILE__ //进行编译的源文件 __LIN…

作者头像 李华
网站建设 2026/5/8 9:40:30

魔兽争霸3优化神器:5个简单步骤让你的经典游戏焕然一新

魔兽争霸3优化神器:5个简单步骤让你的经典游戏焕然一新 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上的各种…

作者头像 李华