适用系统:Ubuntu 24.04 LTS (Noble Numbat)

适用场景:Win11+Ubuntu24.04 双硬盘双系统、默认开启 Secure Boot、RTX 全系显卡、机器人开发、深度学习仿真

解决问题:nvidia-smi 命令不存在、Secure Boot 驱动加载失败、内核模块未签名、ROS2 硬件加速异常

教程优势:全程官方源安装、无第三方工具、完整 MOK 签名流程、包含卸载、CUDA 部署、ROS2 适配及常见报错修复

一、前言

新装 Ubuntu24.04 后,执行 nvidia-smi 提示命令不存在,是系统未部署 NVIDIA 显卡驱动导致。

Ubuntu24.04 默认优先使用 Open 开源内核驱动,对 Secure Boot 安全启动限制严格。双系统用户默认开启安全启动,传统闭源驱动无法直接加载,必须完成 MOK 内核签名才可正常使用显卡功能。

本文覆盖完整安装、签名配置、环境验证、CUDA 部署、驱动卸载、故障排查及 ROS2 适配,所有命令可直接复制使用。

二、硬件检测:确认系统识别独显

安装驱动前,确认系统可正常识别 NVIDIA 显卡,排除硬件与 BIOS 屏蔽问题。

lspci | grep -i nvidia

正常输出示例

01:00.0 VGA compatible controller: NVIDIA Corporation Device 2d04 (rev a1) 01:00.1 Audio device: NVIDIA Corporation Device 22eb (rev a1)

有输出代表显卡硬件正常,仅缺少驱动;无输出需检查 BIOS 独显设置、硬件连接状态。

三、查询官方适配驱动

使用系统自带工具,自动匹配显卡最优驱动,避免手动安装出错导致黑屏、循环登录问题。

ubuntu-drivers devices

典型输出

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002D04sv3386791Csd997158E4Cbc03sc00i00 vendor : NVIDIA Corporation driver : nvidia-driver-595-open - distro non-free recommended driver : nvidia-driver-580-server-open - distro non-free driver : nvidia-driver-580 - distro non-free

优先安装标注recommended 的版本,本文以 Ubuntu24.04 通用的 590-open 驱动为例。

Open 驱动说明

Ubuntu24.04 主推带 -open 的开源内核驱动:

  • open 驱动:适配 Secure Boot,稳定性强,完美兼容 24.04 系统机制

  • 传统闭源驱动:开启安全启动时大概率加载失败

开启 Secure Boot 必须选择 open 版本,关闭安全启动可任意选择。

四、安装 NVIDIA 显卡驱动

1. 执行安装命令

sudo apt update sudo apt install nvidia-driver-595-open -y

2. MOK 弹窗配置(Secure Boot 开启必现)

安装过程弹出蓝色 MOK 签名界面,按以下步骤操作:

  1. 选择 OK 确认注册 MOK

  2. 设置 8~16 位自定义密码(务必牢记,重启需要使用)

  3. 二次确认密码,等待安装完成

3. 重启系统

等待终端执行完毕后重启,禁止强制关机。

sudo reboot

五、开机 MOK 签名注册(关键步骤)

BIOS 开启 Secure Boot 时,重启会自动进入 MOK Management 界面,必须完成注册,否则驱动失效。

  1. 选择 Enroll MOK

  2. 点击 Continue

  3. 选择 Yes 确认

  4. 输入之前设置的 MOK 密码

  5. 确认后自动重启,进入系统

跳过此步骤或密码错误,会导致 nvidia-smi 无法使用。

六、驱动安装验证

进入系统后执行验证命令:

nvidia-smi

正常输出显卡型号、驱动版本、CUDA 版本、显存信息即为安装成功。

验证失败,优先排查 MOK 签名是否完成、密码是否输入正确。

七、CUDA 工具链安装(深度学习/仿真必备)

安装顺序:先装显卡驱动,再装 CUDA,顺序颠倒会安装失败。595 驱动最高支持 CUDA 13.2。

1. 安装 CUDA 工具包

sudo apt update sudo apt install nvidia-cuda-toolkit -y

2. 配置环境变量

echo'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc

3. 验证 CUDA

nvcc -V

输出版本信息即为配置完成。

八、驱动卸载方案(版本切换/故障回滚)

1. 常规卸载(保留依赖)

sudo apt remove nvidia-driver-595-open -y sudo apt autoremove sudo apt autoclean

2. 彻底卸载(重装驱动专用)

sudo apt purge nvidia-* -y sudo apt autoremove sudo apt autoclean

卸载完成后执行 sudo reboot 重启系统。

九、Secure Boot 两种方案对比

方案类型

优点

缺点

适用人群

开启 Secure Boot+ MOK 签名

无需修改 BIOS、保留 Windows 安全机制、双系统稳定性高

多一步开机签名流程,遗忘密码需重装驱动

双系统用户、无法关闭安全启动的笔记本

关闭 Secure Boot

安装流程简单、无需 MOK 密码、排错便捷

降低设备固件安全性,部分设备无法关闭

Ubuntu 单系统台式开发机

十、ROS2 Jazzy 显卡适配验证

用于校验显卡硬件加速,保证 RViz、Gazebo、SLAM、机械臂仿真正常运行。

1. 基础校验

nvidia-smi

2. 查看内核模块加载状态

lsmod | grep nvidia

输出 nvidia、nvidia_drm 等模块即为正常加载。

3. 验证 OpenGL 硬件加速(解决 RViz 卡顿/黑屏)

sudo apt install mesa-utils -y

glxinfo | grep "OpenGL renderer"

4. Gazebo 仿真 GPU 加速配置

export LIBGL_ALWAYS_SOFTWARE=0

十一、常见报错与解决方法

1. 重启跳过 MOK 界面,驱动不生效

彻底卸载所有 NVIDIA 驱动,重新安装并完整完成 MOK 签名流程。

2. 遗忘 MOK 密码

无法修复,需彻底 purge 所有驱动,重新安装并设置新密码。

3. apt 找不到驱动包

系统软件源未开启 non-free 组件,修改 sources.list 加入 non-free,执行 sudo apt update 刷新缓存。

4. Open 驱动是否支持 ROS2 仿真与 AI 训练

完全支持。兼容 CUDA、cuDNN、PyTorch、Gazebo、RViz,可满足机器人开发、深度学习、仿真模拟全场景需求,性能与闭源驱动无明显差异。

5. 驱动正常但 RViz 卡顿

校验 OpenGL 硬件加速状态,关闭软件模拟渲染模式。

十二、总结

1. Ubuntu24.04 双系统开启 Secure Boot 时,Open 开源驱动 + MOK 签名是最稳定的安装方案;

2. 严格按照硬件检测、官方驱动安装、MOK 签名、环境验证流程操作,可一次性安装成功;

3. 配套 CUDA 工具链适配深度学习开发,可完全兼容 ROS2 Jazzy 机器人仿真开发场景;

4. 全文包含完整安装、验证、卸载、排错流程,适配新手零基础部署使用。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐