Ubuntu 22.04 双系统安装 + ROS 2 Humble+旧系统删除完整教程
1. 本次环境与最终目标
目标:在保留 Windows 的前提下,重新安装 Ubuntu 22.04 LTS,并配置 ROS 2 Humble、RViz2、Gazebo、NVIDIA 驱动、中文输入法、常用开发工具,最终得到可用于 ROS2/机器人仿真的开发环境。
2. 安装 Ubuntu 22.04 前的准备
2.1 需要准备的东西
一个 16 GB 以上 U 盘(本次为约 64 GB)。
Ubuntu 22.04.5 Desktop amd64 ISO。
Ventoy(也可以使用 Rufus,但本次使用 Ventoy,用来制作启动盘,这里后面会写)。
重要数据备份,尤其是准备调整的 Windows 数据分区。
如果 Windows 启用了 BitLocker/设备加密,提前确认恢复密钥。
2.2 Ventoy U 盘结构:
Ventoy 安装到 U 盘后,Windows 中通常会出现两个分区:一个很小的 VTOYEFI,以及一个几十 GB 的 Ventoy 主分区。
|
分区 |
作用 |
是否放 ISO |
|
VTOYEFI(约 32 MB) |
Ventoy 的 UEFI/EFI 启动文件 |
不要放,也不要删除/格式化 |
|
Ventoy 主分区(约 58 GB) |
存放 ISO 和普通文件 |
Ubuntu ISO 放这里 |
|
经验 Ubuntu ISO 放在 Ventoy 主分区根目录最省事,例如 H:\ubuntu-22.04.5-desktop-amd64.iso。VTOYEFI 太小,本来也放不下 4 GB 以上的 ISO。 |
3. Windows 侧清理旧 Ubuntu 与腾出空间
3.1 识别旧 Ubuntu 分区
DiskGenius 中,旧 Ubuntu 最容易识别的是 EXT4 和 Linux Swap。Windows 的 NTFS、MSR、Recovery、Windows EFI/SYSTEM 不要删除。
|
类型 |
典型表现 |
处理建议 |
|
EXT4 |
Ubuntu 的 /、/home 等 Linux 分区 |
确认后可删除 |
|
Linux Swap |
交换分区 |
确认后可删除 |
|
EFI/FAT32 |
可能是 Ubuntu EFI,也可能是 Windows EFI |
必须确认归属后再动 |
|
NTFS |
Windows C/D/E/F 等 |
不要误删 |
|
MSR/Recovery |
Windows 保留/恢复分区 |
不要删除 |
可以用diskgenius,如图,清理和分区都比较方便,我目前使用还没有出现问题,保险起见也推荐使用电脑自带磁盘管理软件。

3.2 个人踩坑:Ubuntu ESP 删除后进入 grub>
直接删除 Ubuntu 的 ESP 后,UEFI 中仍残留旧 GRUB 启动路径,重启会进入 grub>。启动链路需要恢复。本次最终通过 Windows 内置 bcdboot 重新写入 Windows EFI 启动文件。所以删除的时候不要直接删除,修改启动链路后再执行删除ESP
3.3 使用 DiskGenius 分出新的磁盘空间给ubuntu
本次不是先做传统“碎片整理”,而是直接使用 DiskGenius 的“调整分区大小”。DiskGenius 在缩小时会搬动阻挡新边界的数据。右侧空间选择“保持空闲”,不要建立 NTFS 新分区。
如果用diskgenius:

分完后可以在磁盘管理看到新的空间,我大概分了这么多,读研大概是够了,如果不是相关专业的话没必要分这么大,是相关专业的同学建议分300~400G都可以。慢慢会习惯ubuntu环境的

4. Ventoy 启动 U 盘与 BIOS/UEFI 设置
4.1 博主是惠普电脑,以惠普电脑举例,HP 电脑常用启动按键:
|
按键 |
功能 |
|
Esc |
HP Startup Menu |
|
F9 |
Boot Device Options(一次性选择启动设备) |
|
F10 |
BIOS Setup |
|
F2 |
硬件诊断(不是 BIOS) |
别的电脑可以自己查一下,要么去问豆包酱或者拆特鸡皮提老师,我的流程:开机连续按 Esc → F9 → 选择硬盘启动(UEFI)

4.2 Secure Boot 报错 0x1A
如果从 Ventoy 启动出现 “Verification failed: (0x1A) Security Violation”,本质上是 Secure Boot 对 Ventoy 启动文件的签名验证失败。

最省事方案:BIOS 中保持 UEFI,关闭 Secure Boot;不要为了安装 Ubuntu 去开启 Legacy/CSM。HP 某些机型保存后还会要求输入屏幕确认码,必须完成确认,否则设置可能回滚。
4.3 Ventoy Normal mode 与 grub2 mode
Ventoy 选中 Ubuntu ISO 后会出现 Boot in normal mode / Boot in grub2 mode。优先 Normal mode;若出现 unknown filesystem、alloc magic is broken 等错误,再尝试 grub2 mode 或重做 Ventoy U 盘。
5. Ubuntu 22.04 安装与手动分区
这里没什么太要注意的,跟着流程走就行
5.1 Wi-Fi 页面卡死怎么办
直接在安装过程中联 Wi-Fi 容易卡。安装 Ubuntu 不强制联网,若网络页面卡住,可以重启安装器,在网络页直接选择 “I don't want to connect to a Wi-Fi network right now”,先离线安装,进系统后再联网更新。
5.2 手动分区时先认清“哪块 free space”
本次安装界面同时能看到 Ventoy U 盘、Windows 系统盘、1 TB 数据/Ubuntu 盘。真正给 Ubuntu 的空闲空间位于 1 TB NVMe 下,并显示约 387973 MB(这个是我的数据,因为我给的磁盘空间大约350G,可以计算出来)

从这个图可以看出来,我已经安装系统不止一次了,有点乱七八糟,所以要看好哪个磁盘,多大空间,是给ubuntu的。
5.3 推荐的四分区方案
如果希望 Ubuntu 的系统与个人数据分开管理,可以采用 EFI + swap + / + /home。对于约 360~380 GB 的 Ubuntu 空间,本次建议如下:
|
分区 |
建议大小 |
格式/用途 |
挂载点 |
|
EFI |
1 GB(1024 MB) |
FAT32 / EFI System Partition |
/boot/efi |
|
swap |
16 GB |
swap area |
无 |
|
根分区 |
150~180 GB(推荐 180 GB) |
EXT4;系统、apt、/usr、/var、ROS 等 |
/ |
|
home |
剩余全部 |
EXT4;文档、代码、下载、个人配置 |
/home |
理解方式:根分区 “/” 最接近 Windows 的 C 盘;/home 更像 C:\Users\用户名。开发机根分区不要给太小,因为 ROS、Docker、Conda、Gazebo、/var 日志等都会吃根分区。
5.4 用户名和主机名
Your name、Your computer's name、Pick a username 可以都写同一个短名称,例如 elysia。用户名会决定家目录,例如 /home/elysia。主机名如果以后需要 SSH/ROS 多机通信,建议稍作区分,例如 robot-hp。
6. Ubuntu 装好后的基础配置
6.1 先更新系统
|
sudo apt update |
尤其在安装 ROS 2 Humble 之前,先把 Ubuntu 22.04 的 systemd/udev 等系统组件更新到当前可用版本。
6.2 NVIDIA 驱动是否真正生效
|
nvidia-smi |
能看到 GPU 型号、Driver Version、显存和进程,说明驱动已安装并加载。比如说可能是这样显示就是没啥问题

6.3 中文输入法 Fcitx5
|
sudo apt install -y fcitx5 fcitx5-chinese-addons fcitx5-config-qt im-config |
在 im-config 图形界面中选择 fcitx5,注销或重启。随后运行:
|
fcitx5-configtool |
添加 Pinyin。若搜不到,取消 “Only Show Current Language”。常用中英文切换键为 Ctrl + Space。
6.4 Ubuntu 访问 Windows 文件
Ubuntu 22.04 可以直接挂载 NTFS,因此文件管理器左侧会出现 Windows 的多个 SSD/分区,可以读取和写入普通文档、代码、图片等。但这不代表 Linux 能原生运行 Windows 的 .exe;WPS、Chrome 等优先安装 Linux 版本,Windows 游戏需 Proton/Wine 等兼容层。
7. 软件源与常见 apt 故障修复
7.1 amd64 要用 ubuntu,不是 ubuntu-ports
我配置的时候软件源一度被配置成清华的 ubuntu-ports,导致 amd64 包大量 404。ubuntu-ports 主要面向 ARM、RISC-V、PowerPC 等;普通 x86_64/amd64 应使用 /ubuntu/。
确认架构
|
dpkg --print-architecture |
本次返回 amd64。Ubuntu 22.04 的 /etc/apt/sources.list 建议最终保持为:
|
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse |
7.2 检查源是否干净
|
grep -R "ubuntu-ports" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null |
第一条对 amd64 机器最好没有输出;apt update 最后不要再出现 404 或 Some index files failed to download。
8. 常用软件安装(Chrome / 微信 / Clash / Terminator)
8.1 .deb 安装统一用 apt
我把手动下载的 Linux 安装包集中放到了 ~/Software;该目录只是“保存安装包”,软件本体仍会按 deb 包规则安装到 /opt、/usr/bin、/usr/share 等系统路径。
|
mkdir -p ~/Software |
相比 sudo dpkg -i,apt install ./xxx.deb 会自动处理依赖,更省心。
8.2 Google 慢、百度快:通常不是 Chrome 的锅
如果百度很快,而 Google 登录、Google 搜索、Chrome Web Store 很慢,通常是 Google 相关网络链路/代理问题,和清华 Ubuntu apt 镜像无关。Clash 在 Ubuntu 上配置好系统代理后,Chrome 默认会跟随系统代理。
|
curl -I --max-time 10 https://www.baidu.com |
8.3 Terminator 安装与依赖故障
|
sudo apt install terminator -y |
若提示 python3-psutil 不可安装,检查:
|
apt-cache policy python3-psutil terminator |
9. ROS 2 Humble 安装(含 RViz2)
|
版本对应 ROS 2 Humble 的 Tier 1 Ubuntu 平台就是 Ubuntu 22.04 Jammy(amd64/arm64),因此 22.04 + Humble 是稳定、匹配的组合。 |
9.1 安装前更新系统和基础工具
|
sudo apt update |
9.2 添加 ROS 2 GPG Key 与清华 ROS2 镜像
如果当前已能访问 GitHub,可按 ROS/TUNA 的标准方式获取 ros.key:
|
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg |
然后为 Ubuntu 22.04(jammy)添加清华 ROS2 镜像:
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null |
9.3 安装 Desktop 版(包含 RViz2)
|
sudo apt install -y ros-humble-desktop |
ros-humble-desktop 包含 ROS2 常用桌面工具、RViz2、demo 等;如果需要 GUI 和机器人可视化,不建议只装 ros-base。
9.4 source 是什么,为什么安装完 rviz2 还会 “command not found”
安装包存在并不代表当前 shell 已经知道 ROS2 的可执行文件、库和环境变量在哪里。source /opt/ros/humble/setup.bash 会把 Humble 环境加载到当前终端。
|
source /opt/ros/humble/setup.bash |
为了以后每次打开 Terminator 都自动加载 ROS2,把 source 写入 ~/.bashrc:
|
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc |
|
注意 echo ... >> ~/.bashrc 只执行一次。重复执行会在 .bashrc 中堆出很多相同的 source 行。第二句 source ~/.bashrc 只是让“当前已经打开的终端”立即重新读取配置。 |
9.5 验证 ROS2
|
which ros2 |
正常情况下 which rviz2 会指向 /opt/ros/humble/bin/rviz2。再用 talker/listener 验证 DDS 通信:
|
# 终端 1 |
若一个持续 Publishing、另一个持续 I heard,ROS2 基础通信链路正常。
10. Gazebo 与机器人开发常用组件
10.1 Gazebo Classic
Ubuntu 22.04 + ROS2 Humble 常见的是 Gazebo Classic 11。若尚未安装 ROS-Gazebo 集成包,可以:
|
sudo apt install -y ros-humble-gazebo-ros-pkgs |
检查版本
|
gazebo --version |
10.2 机器人导航/点云相关建议组件
|
sudo apt install -y ros-humble-navigation2 ros-humble-nav2-bringup ros-humble-slam-toolbox ros-humble-tf2-tools ros-humble-pcl-ros ros-humble-pointcloud-to-laserscan |
这些包适合后续做 Nav2、TF 调试、PointCloud2/激光雷达、局部规划与可视化。
就到这里,整体操作了很多次之后就会非常的心应手,希望大家分够空间,尽量少重装吧,另外22.04比20.04丝滑好多,要不是实验室传承都是20.04,我早就常驻升级了....
有问题的话多问拆特级皮提老师,斋米耐老师,豆包老师,b站跟着视频多走走也行,就是慢点
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)