3、Ubuntu环境搭建:Ubuntu 22.04系统安装与基础配置、NVIDIA驱动与CUDA Toolkit安装

说实话,很多做机器人仿真的朋友,第一步就卡在环境上。Windows下点几下鼠标还行,一到Ubuntu就懵了。我当年第一次装双系统,折腾了整整一个周末,最后还把硬盘分区搞坏了……嗯,后来我总结了一套稳如老狗的流程,今天全部分享给你。

这一章,我们只干三件事:装系统、装驱动、装CUDA。每一步我都会告诉你「为什么这么做」以及「踩过的坑在哪」。

本章核心目标:搭建一个干净、稳定、可复现的Ubuntu 22.04开发环境,为后续安装Isaac Sim铺平道路。

3.1 为什么选Ubuntu 22.04 LTS?

你可能要问:Ubuntu版本那么多,为什么偏偏选22.04?

原因很简单——Isaac Sim 2023.1及以上版本,官方明确推荐Ubuntu 22.04。而且22.04是LTS(长期支持版),到2027年才停止维护。你想想看,一个仿真项目从开发到部署,少说半年一年,中间系统突然不支持了,那得多闹心。

对比项 Ubuntu 20.04 LTS Ubuntu 22.04 LTS Ubuntu 24.04 LTS
Isaac Sim官方推荐 部分旧版本支持 ✅ 主流推荐 ⚠️ 兼容性待验证
CUDA 12.x支持 需手动添加源 ✅ 原生支持 ✅ 原生支持
NVIDIA驱动兼容性 部分新驱动需PPA ✅ 官方源稳定 ✅ 官方源稳定
维护周期 2025年4月到期 2027年4月到期 2029年4月到期

我个人习惯:生产环境永远用LTS,而且不追最新。24.04虽然新,但Isaac Sim的兼容性还没完全铺开,没必要当小白鼠。

3.2 系统安装:双系统还是虚拟机?

这个问题我经常被问到。我的建议很直接:

  • 如果你有独立显卡(NVIDIA):必须装双系统或纯Ubuntu。虚拟机无法直通GPU性能,Isaac Sim的渲染和物理仿真会卡成PPT。
  • 如果你只有集显或笔记本:可以先在虚拟机上练手,但最终还是要上双系统。

下面我以双系统为例,讲几个关键步骤。

3.2.1 制作启动盘

去Ubuntu官网下载22.04 LTS桌面版ISO。然后用Rufus(Windows)或balenaEtcher(跨平台)写进U盘。注意:写入模式选「DD镜像」模式,别问我为什么,我曾经用ISO模式装完系统死活进不去桌面……

3.2.2 磁盘分区

安装时选「其他选项」手动分区。我的推荐方案:

挂载点 大小 文件系统 说明
/boot/efi 512 MB FAT32 UEFI引导分区,必须
/ 50-80 GB ext4 系统根目录,够用
/home 剩余空间 ext4 你的数据和项目文件
swap 16 GB(内存大小) swap 休眠用,内存大可不设
💡 我的经验:/home单独分区是个好习惯。系统崩了重装,数据还在。我吃过一次亏,后来再也没把数据跟系统放一起。

3.3 基础配置:装完系统第一件事

系统装好后,别急着装驱动。先把系统更新到最新,再装一些必备工具。

# 更新软件源和系统
sudo apt update && sudo apt upgrade -y

# 安装基础开发工具
sudo apt install -y build-essential dkms git curl wget vim

# 安装显卡驱动依赖
sudo apt install -y linux-headers-$(uname -r)

这里有个坑:linux-headers一定要装,否则后面装NVIDIA驱动会报错。我遇到过好几次,驱动装到一半说找不到内核头文件,那叫一个尴尬。

3.4 NVIDIA驱动安装:两种方法,一种推荐

驱动安装有两种主流方式:

  1. Ubuntu官方源自动安装(推荐)
  2. NVIDIA官网.run文件手动安装(不推荐新手)

3.4.1 方法一:官方源安装(推荐)

先查看你的显卡型号和推荐驱动:

# 查看显卡型号
lspci | grep -i nvidia

# 查看推荐驱动版本
ubuntu-drivers devices

输出会显示类似这样的信息:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv00001043sd0000861Dbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP102 [GeForce GTX 1080 Ti]
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-drriver-525 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

看到recommended那个版本了吗?直接装它:

sudo apt install -y nvidia-driver-535

装完重启:

sudo reboot

重启后验证:

nvidia-smi

如果看到类似下面的输出,说明驱动装好了:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05    Driver Version: 535.86.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  GeForce GTX 1080 Ti  Off  | 00000000:01:00.0  On |                  N/A |
| 30%   45C    P0    65W / 250W |   1234MiB / 11264MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
⚠️ 注意:如果你用的是笔记本双显卡(Intel+NVIDIA),装完驱动后可能需要在NVIDIA X Server Settings里设置「PRIME Profiles」为「NVIDIA On-Demand」模式,否则可能一直用集显。

3.4.2 方法二:官网.run文件安装(不推荐)

这个方法我只有在官方源没有对应驱动版本时才用。流程如下:

  1. 去NVIDIA官网下载对应显卡的.run驱动文件
  2. 先禁用nouveau开源驱动
  3. 进入纯命令行模式(Ctrl+Alt+F2)
  4. 停止图形界面服务
  5. 运行.run文件安装

步骤繁琐,而且容易翻车。我个人建议:能用官方源就别折腾。

3.5 CUDA Toolkit安装:版本匹配是关键

驱动装好了,接下来装CUDA。注意:CUDA版本必须和驱动版本匹配。你可以在nvidia-smi输出里看到「CUDA Version: 12.2」,这表示当前驱动最高支持CUDA 12.2。

Isaac Sim 2023.1要求CUDA 11.8或12.x。我推荐装CUDA 12.2,兼容性最好。

3.5.1 安装CUDA 12.2

去NVIDIA CUDA Toolkit Archive下载对应版本。我习惯用runfile方式安装,因为可以自定义路径:

# 下载CUDA 12.2 runfile
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run

# 运行安装
sudo sh cuda_12.2.0_535.54.03_linux.run

安装时注意:

  • 取消勾选「Driver」选项(因为我们已经装好了驱动)
  • 只保留「CUDA Toolkit」和「CUDA Samples」
  • 安装路径默认即可(/usr/local/cuda-12.2)

3.5.2 配置环境变量

安装完成后,把CUDA加入环境变量:

# 编辑 ~/.bashrc
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

验证安装:

nvcc --version

输出应该类似:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33567101_0
💡 小技巧:如果你需要同时装多个CUDA版本(比如项目A要11.8,项目B要12.2),可以用update-alternatives管理版本切换。我一般把常用版本设为默认,需要时手动切换。

3.6 本章知识体系总览

下面这张图,帮你把整个环境搭建的脉络理清楚:

Ubuntu 22.04 环境搭建知识体系 Ubuntu 22.04 LTS 系统安装 系统更新 & 基础工具安装 NVIDIA 驱动安装 CUDA Toolkit 12.2 安装 nvidia-smi & nvcc 验证 关键避坑点 1. 分区时/home单独分 2. 装驱动前先装内核头文件 3. 笔记本双显卡设On-Demand 4. CUDA版本匹配驱动版本 5. 安装CUDA时取消勾选Driver 6. 环境变量写入~/.bashrc 7. 重启后验证驱动状态 8. 多版本CUDA用alternatives 推荐工具链 🖥 系统:Ubuntu 22.04 LTS 🔧 驱动:nvidia-driver-535 ⚡ CUDA:12.2 📦 工具:build-essential 🔗 版本管理:update-alternatives 🧪 验证:nvidia-smi + nvcc 📁 分区:/home独立分区 🔄 备份:系统快照定期做

3.7 常见问题与排错

最后,我把这些年遇到的高频问题列出来,你遇到了直接对照着查:

问题现象 可能原因 解决方案
nvidia-smi报错「NVIDIA-SMI has failed」 驱动未正确加载 检查Secure Boot是否关闭;重新安装驱动
nvcc命令找不到 环境变量未配置 检查~/.bashrc中PATH和LD_LIBRARY_PATH
安装驱动时报错「Unable to find the kernel source tree」 未安装linux-headers 执行sudo apt install linux-headers-$(uname -r)
笔记本外接显示器不亮 PRIME模式设置错误 在NVIDIA X Server Settings中切换PRIME Profiles
CUDA编译报错「unsupported GNU version」 gcc版本过高 安装gcc-11并设为默认:sudo apt install gcc-11 g++-11
⚠️ 重要提醒:如果你遇到黑屏或循环登录问题,大概率是驱动冲突。在GRUB启动菜单按e进入编辑模式,在quiet splash后面加nomodeset,然后按Ctrl+X启动。进入系统后卸载冲突驱动,重新安装。