在 UEFI 模式下安装 CentOS 7.9,分区策略的核心在于必须保留一个独立的 EFI 系统分区(ESP),且该分区需挂载为 /boot/efi。这与传统的 BIOS+MBR 模式有本质区别。
以下是针对 UEFI 环境的标准分区方案及操作逻辑:
1. 核心原则:UEFI 启动要求
UEFI 固件无法直接读取 NTFS、ext4 等文件系统来加载内核,它只能识别 FAT32 格式的文件系统。因此,安装程序必须创建一个专用的 EFI System Partition (ESP),通常大小为 512MB 到 1GB,格式化为 FAT32,并标记为 efi 类型。
2. 推荐分区方案
对于服务器或通用工作站场景,建议采用以下布局(假设使用 LVM 管理剩余空间,以便后续扩容):
| 挂载点 | 大小 | 文件系统 | 分区类型/标识 | 说明 |
|---|---|---|---|---|
/boot/efi |
512 MB – 1 GB | FAT32 | efi |
关键分区。存放 GRUB2 引导加载程序和内核镜像。必须开启 Boot 标志。 |
/boot |
1 GB | ext4 | linux |
存放内核和 initramfs。虽然 ESP 能存内核,但单独划分 /boot 可避免 ESP 空间不足导致更新失败,且便于多系统共存管理。 |
/ (根目录) |
剩余空间 | xfs (默认) | xfs |
根文件系统。CentOS 7.9 默认推荐使用 XFS。 |
swap |
视内存而定 | swap | swap |
交换空间。若内存大于 8GB,可设为 4GB 或更小;若小于 4GB,建议设为与内存等值。 |
注意:如果你不使用 LVM,可以直接将剩余空间划分为
/和swap,但在生产环境中强烈建议使用 LVM 以应对未来磁盘扩容需求。
3. 具体操作步骤(基于 Anaconda 安装程序)
在安装界面选择 "Installation Destination"(安装目标),点击 "Custom"(自定义)进入手动分区界面:
-
创建 EFI 分区:
- 点击 "Add" 添加新分区。
- Mount Point: 填写
/boot/efi。 - Size: 输入
512或1024(单位 MB)。 - File System: 选择
EFI System Partition(如果列表中有此选项) 或选择fat32。 - Format: 勾选
Format。 - 关键点:确保该分区被正确识别为
efi类型。在部分版本中,如果手动选择fat32,可能需要手动设置 "Device Type" 或确保在后续步骤中引导加载器(Boot Loader)位置指向该分区。
-
创建 /boot 分区:
- 点击 "Add"。
- Mount Point:
/boot。 - Size:
1024MB。 - File System:
ext4。 - Format: 勾选。
-
创建根分区 (/) 和 Swap:
- 如果选择 LVM:点击 "LVM" 按钮创建卷组(VG),然后在该 VG 下创建逻辑卷(LV)。
- 创建一个 LV,挂载点
/,文件系统xfs。 - 创建一个 LV,挂载点
swap,文件系统swap。
- 创建一个 LV,挂载点
- 如果选择不使用 LVM:直接添加两个普通分区,分别挂载
/和swap。
- 如果选择 LVM:点击 "LVM" 按钮创建卷组(VG),然后在该 VG 下创建逻辑卷(LV)。
-
引导加载器配置:
- 完成分区后,点击右下角的 "Done"。
- 系统会自动弹出 "Bootloader Configuration" 窗口。
- 确认 "Boot loader installation device" 显示为你刚才创建的 EFI 分区所在的物理磁盘(例如
/dev/sda或/dev/nvme0n1),而不是某个具体的分区号。 - 确认 "Firmware type" 显示为
UEFI。 - 点击 "Accept Changes" 保存配置。
4. 常见误区与避坑指南
- 不要创建 MBR 主引导记录(MBR)作为启动源:在 UEFI 模式下,如果强制创建 MBR 分区表且未指定 ESP,系统将无法启动。请确保磁盘分区表类型为 GPT(GUID Partition Table)。Anaconda 通常会在检测到 UEFI 环境时自动初始化 GPT,但如果手动操作,务必检查分区表类型。
- 避免将
/boot放在 LVM 上(非标准做法):虽然技术上可行,但早期的 GRUB2 对 LVM 上的/boot支持在某些特定硬件或配置下可能不稳定。将/boot放在独立的标准分区(如上方案所示)是最稳妥的方案。 - Secure Boot(安全启动):CentOS 7.9 默认启用的内核签名可能无法通过某些厂商主板严格的 Secure Boot 验证。如果遇到无法引导的问题,通常需要在 BIOS/UEFI 设置中关闭 Secure Boot,或者自行导入 CentOS 的密钥(较复杂,建议先关闭测试)。
- RAID 卡驱动:如果使用硬件 RAID 卡,且 CentOS 7.9 官方镜像不包含该 RAID 卡的驱动,安装程序可能无法识别硬盘。此时需要准备厂商提供的驱动盘(Driver Disk),在启动时按
Tab键加载驱动,或在安装前将驱动整合进 ISO。
5. 验证与后续
安装完成后,重启系统。如果 BIOS 中能看到 CentOS-7-x86_64 或类似的 UEFI 启动项,说明 EFI 分区配置正确。进入系统后,可通过 lsblk -f 命令快速验证分区结构,确认 /boot/efi 是否为 fat32 格式且挂载正确。
这种分区方式不仅符合 CentOS 7.9 的官方规范,也兼容绝大多数现代云服务器(如阿里云、腾讯云、华为云等)的 UEFI 实例模板,是生产环境部署的标准实践。
CLOUD云枢