努力
加油

使用UEFI版Ubuntu 22.04 64位对分区布局有什么特殊要求?

在 UEFI 环境下安装 Ubuntu 22.04 LTS,分区布局的核心逻辑其实就一条:必须有一个 FAT32 格式的 EFI 系统分区(ESP),且不能是 LVM、加密卷或 RAID 的一部分。

这是由 UEFI 固件的启动机制决定的。UEFI 固件本身不具备读取 ext4、btrfs 或 LUKS 等复杂文件系统的能力,它只认 FAT32。因此,引导加载程序(GRUB 或 shim)必须存放在这个裸露的 FAT32 分区里,固件才能加载它,进而启动内核。

以下是针对 Ubuntu 22.04 UEFI 安装的具体分区建议和规范:

1. 核心分区结构

一个标准的、稳健的 UEFI + Ubuntu 22.04 分区方案通常包含以下部分:

挂载点/类型 文件系统 大小建议 说明
/boot/efi FAT32 512MB – 1GB EFI System Partition (ESP)。这是必须的。权限通常为 755,所有者为 root:root。不要格式化时带标签,保持默认即可。
/ (根目录) ext4 / btrfs 剩余空间大部分 系统主分区。Ubuntu 22.04 默认推荐 ext4,如果你需要快照功能,可以选择 btrfs。
swap swap RAM 的 1-2 倍 传统分区方式。或者使用 zram(内存压缩交换),这在现代云服务器和笔记本上越来越流行,无需单独分区。
/home (可选) ext4 / btrfs 剩余空间 如果希望重装系统时保留用户数据,可以单独划分。否则可以直接并入 /。

2. 关键注意事项与避坑指南

A. ESP 分区的唯一性与标识

  • 只能有一个 ESP:如果你的硬盘上有多个操作系统(比如 Windows + Ubuntu),它们会共享同一个 ESP 分区。Windows 会在里面放自己的引导文件,Ubuntu 也会放 GRUB。确保这个分区没有被标记为“隐藏”或“系统保留”导致 Linux 无法访问。
  • 不要格式化为 NTFS 或 exFAT:虽然 UEFI 规范允许某些变体,但 Linux 的 GRUB 包对 FAT32 的支持最完善、最稳定。NTFS 驱动在早期 UEFI 实现中兼容性差,容易蓝屏或黑屏。
  • UUID 匹配:GRUB 配置文件中引用的 ESP 分区 UUID 必须与实际分区一致。如果使用手动分区安装,务必在 /etc/fstab 和 /boot/grub/grub.cfg 中检查这一点。

B. GPT 分区表是前提

UEFI 强制要求使用 GPT 分区表,不能使用传统的 MBR(msdos)。

  • 在安装过程中,如果选择“手动分区”,请确保磁盘分区类型为 GPT。
  • 如果之前是 MBR 系统,升级或重装时需要先转换为 GPT(注意备份数据,转换过程有风险)。

C. Secure Boot(安全启动)的处理

Ubuntu 22.04 默认支持 Secure Boot,但需要额外操作:

  • 默认情况:Ubuntu 官方镜像自带经过签名的 shim 和 GRUB,开箱即用。
  • 第三方驱动:如果你需要安装 NVIDIA 闭源驱动、VirtualBox 模块或其他 DKMS 驱动的专有内核模块,Secure Boot 可能会阻止加载未签名的模块。
    • 解决方案:在 BIOS/UEFI 设置中关闭 Secure Boot,或者在 Ubuntu 中注册 Machine Owner Key (MOK)。对于大多数普通用户,建议在 BIOS 中直接关闭 Secure Boot,以减少后续驱动安装的麻烦。

D. 快速启动(Fast Boot)的影响

  • Windows 快速启动:如果双系统,Windows 的“快速启动”会将硬盘置于半休眠状态,锁定 NTFS 分区,可能导致 Ubuntu 无法写入或读取 Windows 分区。务必在 Windows 中禁用“快速启动”。
  • UEFI 快速启动:部分主板 UEFI 设置中的“Fast Boot”选项可能跳过 USB 设备检测,影响安装介质识别。建议安装时关闭此选项。

E. 云服务器的特殊情况(阿里云、腾讯云、AWS 等)

如果你是在国内云厂商的 ECS/CVM 上部署 Ubuntu 22.04 UEFI 版:

  • 通常不需要你手动分区:云厂商提供的官方镜像已经预配好了合适的分区布局(通常是单一大分区 /dev/vda1 挂载为 /,并包含隐藏的 ESP 分区)。
  • 注意磁盘类型:确保实例类型支持 UEFI 启动(绝大多数 x86_64 实例都支持)。ARM 架构(如 AWS Graviton、阿里云倚天)也基于 UEFI,但分区工具链略有不同(仍用 GPT+FAT32 ESP)。
  • LVM 问题:云盘通常以块设备形式提供,不推荐在云盘上使用 LVM,除非你有明确的快照管理需求。直接使用 ext4/btrfs 更简单可靠。

3. 手动分区示例(Advanced User)

假设你有一块 1TB NVMe SSD (/dev/nvme0n1),打算做双系统或纯粹 Linux 环境:

# 使用 gdisk 或 parted 创建 GPT 分区表
sudo parted /dev/nvme0n1 mklabel gpt

# 创建 ESP 分区 (512MB, FAT32)
sudo parted /dev/nvme0n1 mkpart primary fat32 1MiB 513MiB
sudo parted /dev/nvme0n1 set 1 esp on

# 创建根分区 (ext4 或 btrfs)
sudo parted /dev/nvme0n1 mkpart primary ext4 513MiB 100%

# 格式化
sudo mkfs.fat -F 32 /dev/nvme0n1p1  # ESP
sudo mkfs.ext4 /dev/nvme0n1p2       # Root

# 挂载并安装
sudo mount /dev/nvme0n1p2 /mnt
sudo mkdir /mnt/boot/efi
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
debootstrap 或直接运行 ubuntu installer

总结

  • 必选:GPT 分区表 + FAT32 格式的 ESP 分区(至少 512MB)。
  • 推荐:关闭 Secure Boot 以避免驱动签名问题;关闭 Windows 快速启动以防双系统冲突。
  • 云用户:直接使用官方镜像,无需关心底层分区细节,除非你要自定义裸金属服务器。

遵循以上规则,你的 Ubuntu 22.04 UEFI 安装将具备最高的兼容性和稳定性。