4. 多OS安装与分区规划

多操作系统共存的核心难点并不在“装第二个系统”这个动作本身,而在于分区资源如何被多个系统安全地共享与隔离。一旦分区规划失误,轻则某个系统无法引导,重则数据分区被格式化、EFI 分区被覆盖,导致所有系统同时无法启动。本节从分区策略、EFI 分区共享、交换分区与数据分区设计、安装顺序四个维度,给出可落地的工程方法。

一、核心原理:三类分区的职责边界

多 OS 环境下,磁盘上的分区可以按“共享程度”划分为三类,理解这三类是规划的前提:

  • 独占分区:每个系统自己的根分区(/、C:\),必须独占,不能共享,否则文件系统互相破坏。
  • 共享分区:EFI 系统分区(ESP)、数据分区,可被多个系统挂载使用,但需要满足文件系统兼容性。
  • 半共享分区:交换分区(swap),Linux 之间可共享,但与 Windows 的页面文件不通用。
分区规划的本质是回答三个问题:哪些分区必须独占?哪些可以共享?共享分区用什么文件系统才能被所有系统识别?

二、EFI 分区共享:多系统引导的关键

在 UEFI 模式下,所有操作系统都从同一个 ESP(EFI System Partition,通常 100–512 MB,FAT32)加载引导程序。ESP 是唯一必须共享且必须唯一的分区:一块磁盘上通常只保留一个 ESP,多个系统把各自的引导文件放进 /EFI/ 下的不同子目录。

/boot/efi/EFI/
├── BOOT/            # 默认回退引导
├── Microsoft/       # Windows Boot Manager
│   └── Boot/bootmgfw.efi
├── ubuntu/          # Ubuntu GRUB
│   └── grubx64.efi
├── fedora/          # Fedora GRUB
│   └── grubx64.efi
└── systemd/         # systemd-boot(可选)

关键原则:ESP 容量建议 ≥ 512 MB。Windows 安装程序默认只创建 100 MB,若后续要装 2–3 个 Linux,很容易被 GRUB 和内核镜像撑满。安装 Windows 前手动分区时,应把 ESP 设为 512 MB 甚至 1 GB。

不要为每个系统单独创建 ESP。部分发行版安装器会“顺手”新建一个 ESP,导致固件 NVRAM 中出现多个引导项,引导顺序混乱。安装时务必手动指定复用已有 ESP,且不要勾选“格式化”。

三、交换分区与数据分区设计

交换分区(swap):多个 Linux 发行版可以共享同一个 swap 分区,但同一时刻只能被一个系统激活使用。若使用休眠(hibernate),swap 大小需 ≥ 内存容量;若仅用于内存回收,4–8 GB 即可。Windows 不使用 swap 分区,它使用页面文件 pagefile.sys,因此 swap 只服务于 Linux。

数据分区:这是多系统协作的“公共仓库”。推荐单独划分一个数据分区,文件系统选择需兼顾兼容性:

文件系统WindowsLinux适用场景
NTFS原生需 ntfs-3g,读写稳定跨系统数据交换首选
exFAT原生原生大文件、U 盘、移动盘
ext4需第三方驱动原生仅 Linux 间共享
FAT32原生原生ESP 专用,单文件 ≤ 4 GB

实践建议:数据分区用 NTFS,Linux 通过 /etc/fstab 挂载到 /mnt/data,并加上 uid、gid、umask 参数保证普通用户可写:

# /etc/fstab 示例
UUID=1234-ABCD  /mnt/data  ntfs-3g  defaults,uid=1000,gid=1000,umask=022  0  0

四、安装顺序与注意事项

推荐顺序:先 Windows,后 Linux。原因是 Windows 安装程序会重写 ESP 中的引导项并把自己设为第一启动项,若先装 Linux 再装 Windows,Windows 会覆盖 GRUB 的引导记录,需要手动修复。先装 Windows 后装 Linux,Linux 的 GRUB 能自动探测到 Windows Boot Manager 并加入菜单。

  1. 备份数据,确认磁盘为 GPT 分区表(UEFI 模式必须 GPT)。
  2. 安装 Windows,手动分区:ESP 512 MB + MSR 16 MB + Windows 分区 + 预留未分配空间。
  3. 在未分配空间上安装第一个 Linux,复用已有 ESP,不格式化。
  4. 安装第二个 Linux 时,同样复用 ESP,swap 可复用或新建,根分区独立。
  5. 安装完成后用 efibootmgr 检查并调整引导顺序。
# 查看与调整 UEFI 引导项
efibootmgr -v
efibootmgr -o 0001,0002,0000   # 调整启动顺序
安装 Linux 时若安装器提示“检测到其他系统”,说明 ESP 复用成功;若提示“将创建新的 EFI 分区”,请返回手动分区,指定已有 ESP 为 /boot/efi 且不格式化。

五、典型误区与复盘

  • 误区一:ESP 太小。100 MB 装两个 Linux 后 GRUB 更新失败,报 No space left on device。复盘:预留 512 MB 以上。
  • 误区二:共享 swap 同时激活。两个系统同时挂载同一 swap,导致数据损坏。复盘:同一时刻只激活一个。
  • 误区三:数据分区用 ext4。Windows 无法识别,跨系统交换失败。复盘:跨系统数据分区用 NTFS 或 exFAT。
  • 误区四:先 Linux 后 Windows。Windows 覆盖引导,Linux 无法启动。复盘:遵循“先 Windows 后 Linux”顺序。
多 OS 磁盘分区布局与安装顺序 GPT 磁盘分区布局(UEFI 模式) ESP FAT32 · 512MB MSR 16MB Windows NTFS · C:\ Linux A ext4 · / Linux B ext4 · / swap 共享 Data NTFS ESP 被所有系统共享(各自 /EFI/ 子目录) swap 可共享,但同一时刻仅一个系统激活 数据分区 NTFS 跨系统读写 推荐安装顺序 1. Windows 2. Linux A 3. Linux B 4. 校验引导 ⚠ 关键提醒:ESP 只建一个且 ≥512MB;安装 Linux 时复用 ESP 不格式化;数据分区用 NTFS;先 Windows 后 Linux。 安装完成后用 efibootmgr -v 检查引导项,必要时用 efibootmgr -o 调整启动顺序。

综上,多 OS 分区规划可以浓缩为一句工程口诀:ESP 唯一共享、根分区各自独占、swap 可共享但不同时激活、数据分区用 NTFS 跨系统读写、安装顺序先 Windows 后 Linux。把这五点落实到分区表上,多系统共存就从“碰运气”变成了可复现的工程实践。