在阿里云上部署 CentOS 系统时,你可能会遇到“UEFI 版本”和“普通版本”(通常指 BIOS/Legacy 模式)的选择。以下是关于阿里云中 UEFI 版本与普通版本 CentOS 的区别和注意事项:
一、UEFI 与 Legacy BIOS 的基本区别
| 特性 | UEFI 版本 | 普通版本(Legacy BIOS) |
|---|---|---|
| 启动方式 | 使用 UEFI 固件启动,支持 GPT 分区 | 使用传统 BIOS 启动,通常使用 MBR 分区 |
| 分区表 | GPT(支持大于 2TB 的磁盘) | MBR(最大支持 2TB 磁盘) |
| 启动速度 | 更快(并行初始化硬件) | 较慢 |
| 安全性 | 支持 Secure Boot(可选) | 不支持 Secure Boot |
| 兼容性 | 较新实例类型支持,如 ECS 实例中的新一代实例 | 广泛兼容老实例 |
二、阿里云中的实际体现
阿里云的 ECS 实例在创建时可以选择不同的镜像,其中一些镜像明确标注为“UEFI 启动”或“支持 UEFI”。
1. UEFI 版本 CentOS
- 镜像名称示例:
centos-uefi-8-x64或类似命名。 - 适用实例类型:新一代实例(如 g7、c7、r7 等支持 UEFI 的实例规格)。
- 特点:
- 使用 GPT 分区表。
- 启动更快,支持更大的系统盘(>2TB)。
- 可能启用 Secure Boot(阿里云默认通常关闭)。
- 使用
systemd-boot或grub2-efi作为引导程序。
2. 普通版本 CentOS(Legacy BIOS)
- 镜像名称示例:
centos-8-x64(未标注 UEFI)。 - 适用实例类型:老一代实例(如 g6 之前的实例)或兼容模式。
- 特点:
- 使用 MBR 分区表。
- 使用
grub2(BIOS 版本)作为引导程序。 - 兼容性好,但功能受限(如最大 2TB 系统盘)。
三、如何判断当前系统是 UEFI 还是 Legacy?
在阿里云 ECS 实例中,可以通过以下命令判断:
# 查看是否为 UEFI 启动
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "Legacy"
# 或查看 efivars 是否存在
ls /sys/firmware/efi/efivars
如果目录存在,说明是 UEFI 启动。
四、选择建议
| 场景 | 推荐版本 |
|---|---|
| 新项目、新实例(g7/c7/r7 等) | 使用 UEFI 版本 CentOS |
| 需要大于 2TB 的系统盘 | 必须使用 UEFI + GPT |
| 迁移旧系统、兼容性优先 | 使用普通(Legacy)版本 |
| 需要快速启动和现代特性 | UEFI 更优 |
五、注意事项
- 实例规格支持:不是所有 ECS 实例都支持 UEFI,需查看实例规格文档。
- 镜像选择:在阿里云控制台选择镜像时,注意镜像描述中是否注明“UEFI”。
- 自定义镜像:如果你制作自定义镜像,需确保引导方式与目标实例兼容。
- Secure Boot:阿里云默认不启用 Secure Boot,即使 UEFI 镜像也通常可正常运行。
六、参考链接
- 阿里云官方文档:ECS 实例规格族
- 阿里云镜像市场:https://mirrors.aliyun.com/(查看具体镜像说明)
总结
阿里云的 UEFI 版 CentOS 是为新一代硬件优化的启动方式,支持更大磁盘、更快启动和现代安全特性;而 普通版本(Legacy) 更兼容老系统。推荐新项目使用 UEFI 版本,除非有特殊兼容性需求。
如有具体实例规格或镜像编号,可进一步确认是否支持 UEFI。
ECLOUD博客