【工程实战】Win11 + Ubuntu20.04 + Ubuntu24.04 三系统长期稳定安装方案(含避坑指南)
作者实测有效 | 适用于 ROS / 自动驾驶 / AI / 仿真工程师
设备:联想拯救者 Y7000P|1TB NVMe|16GB RAM|RTX 5060
一、写在前面:为什么我要装"三系统"?
在工程实践中,系统版本 ≠ 越新越好。
我的实际需求是:
- Windows 11:日常办公、厂商工具、烧录软件
- Ubuntu 20.04:ROS1、老项目、稳定交付环境
- Ubuntu 24.04:ROS2、新内核、新显卡驱动、仿真与 AI
如果你:
- 想直接把 20.04 升级到 24.04
- 或者想只保留一个 Ubuntu
👉 那你迟早会被 依赖地狱 / 驱动问题 / ROS 版本冲突 折磨。
结论:三系统是工程最优解。
二、整体设计思路(先看这个再动手)
✅ 三个核心原则
- EFI 分区只保留一个,所有系统共享
- 每个 Ubuntu 一个独立根分区
/ - 坚决使用"手动分区"
只要这三条不犯错,多系统基本不会翻车。
三、磁盘规划示例(实测结构)
text
NVMe 1TB
├─ EFI System Partition 272MB VFAT (共享)
├─ Windows 11 系统盘 NTFS
├─ Windows 数据盘 NTFS
├─ Ubuntu 20.04 ext4 ~200GB
├─ Ubuntu 24.04 ext4 ~380GB
为什么不共享 /home?
- ROS1 与 ROS2 依赖不同
- Python / CMake / colcon 易互相污染
- 工程环境必须隔离
四、安装前准备(必做)
1️⃣ BIOS 设置
- 启动模式:UEFI Only
- Secure Boot:关闭(NVIDIA 驱动必须)
- SATA 模式:AHCI
2️⃣ 制作 Ubuntu 24.04 启动 U 盘
- 官方 ISO
- Rufus / balenaEtcher
- GPT + UEFI 模式
五、从 Ubuntu20.04 中划出空间(重点)
正确姿势(推荐)
- U 盘启动 → 试用 Ubuntu(Live)
- 打开 GParted
- 解锁原 Ubuntu20.04 分区(如有小钥匙)
- 缩小 ext4 分区
- 得到 Unallocated(未分配空间)
- 重启 Live(非常关键)
❗ 不重启,安装器看不到新空间
❌ 不推荐做法
- Windows 磁盘管理直接删 Linux
- 安装器自动分区
原因:Windows 不识别 ext4 / LUKS,极易破坏分区表。
六、安装 Ubuntu 24.04(核心步骤)
1️⃣ 选择安装方式
- ❌ 清空磁盘并安装
- ❌ 与 Windows 共存(自动)
- ✅ 手动分区(唯一正确)
2️⃣ EFI 分区设置(生死线)
选择已有 EFI(VFAT,约 272MB):
- 挂载点:
/boot/efi - 不要格式化
📌 下拉框里没有"EFI"是正常的,什么都不用选。
3️⃣ Ubuntu 24.04 根分区设置
在 Unallocated 空间中新建:
- 文件系统:ext4
- 挂载点:
/ - 勾选格式化
- 大小:建议 ≥300GB
4️⃣ 引导器安装位置
- 选择:
/dev/nvme0n1(整个磁盘) - ❌ 不要选分区号
七、安装完成后的检查
1️⃣ GRUB 是否正常
启动后应看到:
- Ubuntu 24.04
- Ubuntu 20.04
- Windows Boot Manager
如未显示:
bash
sudo update-grub
2️⃣ NVIDIA 驱动(24.04)
bash
sudo ubuntu-drivers autoinstall
sudo reboot
八、常见坑总结(血泪经验)
❌ 看不到 Unallocated 空间
- 原因:GParted 后没重启 Live
❌ EFI 下拉框没选项
- 正常现象
- 只填
/boot/efi
❌ 误删 Ubuntu20.04
- 原因:格式化选错分区
- 原则:只格式化新建分区
九、最终总结(记住这 5 句话)
- EFI 只能共享,不能重建
- Linux 根分区必须隔离
- 手动分区永远最安全
- ext4 操作只在 Live 下做
- GRUB 装到整块盘
十、结语
这套方案:
- 可长期使用
- 可随时删除某一个 Ubuntu
- 不影响其他系统
- 非常适合 ROS / 自动驾驶 / AI 场景
这是一次完整、可复用的工程级多系统安装实践。
如果这篇文章对你有帮助,欢迎点赞 / 收藏 / 转发。
(完)