努力
加油

为什么新部署的云主机默认采用Ubuntu 22.04 UEFI引导方式?

这个问题其实触及了当前云计算基础设施演进的一个核心趋势:从 Legacy BIOS 向 UEFI + Secure Boot 的彻底转型。

很多老运维或者刚接触云的朋友会觉得奇怪:“以前不都是 Legacy 引导吗?怎么现在默认全切 UEFI 了?”这背后不是厂商拍脑袋决定的,而是由硬件架构变化、安全合规要求以及 Linux 发行版自身生态共同推动的结果。

我们可以从以下几个维度来拆解这个现象:

1. 硬件层面的“去 Legacy 化”

这是最根本的原因。现在的云服务器底层硬件(尤其是基于 ARM64 架构如 AWS Graviton、阿里云倚天,以及新一代 x86_64 服务器)已经不再支持或不再优先支持传统的 Legacy BIOS 兼容模式。

  • ARM 架构的天然选择:如果你使用的是 ARM 实例,UEFI (EDK II) 是标准引导方式,根本不存在 Legacy 选项。
  • x86 的新平台策略:Intel 和 AMD 在新发布的 CPU 平台中,虽然保留了对 Legacy 的模拟支持(CSM),但为了简化固件开发、提升启动速度和安全性,主流云平台倾向于关闭 CSM,直接启用纯 UEFI 模式。这意味着,如果你强行用 Legacy 模式安装系统,甚至可能无法识别某些 NVMe 磁盘控制器或新式网卡。

2. Ubuntu 22.04 自身的定位与 LTS 周期

Ubuntu 22.04 LTS 发布于 2022 年 4 月,它的设计初衷就是面向未来 5-10 年的企业级环境。Canonical(Ubuntu 母公司)在发布 22.04 时,就明确将 UEFI 作为推荐和默认的引导标准。

  • GRUB2 的默认行为:Ubuntu 的安装程序(Subiquity)在新版本中,对于支持 UEFI 的系统,默认会配置 GRUB2 为 EFI 模式引导。如果强制使用 Legacy,反而需要手动干预或特殊参数。
  • 内核模块加载机制:UEFI 环境下,内核可以直接通过 EFI stub 加载,减少中间层,启动速度更快。这对于云主机这种对冷启动时间敏感的场景是有利的。

3. 安全合规与 Secure Boot 的普及

国内云计算厂商(如阿里云、腾讯云、华为云等)越来越重视等保 2.0、关基保护以及数据安全问题。Secure Boot(安全启动) 是 UEFI 的核心特性之一,它能确保只有经过签名的操作系统内核和驱动才能被加载,有效防止 Rootkit 和引导区病毒。

  • 合规压力:越来越多的行业客户要求系统具备防篡改能力。虽然目前大多数云主机出于兼容性考虑默认不开启 Strict Secure Boot(因为第三方驱动签名问题),但底层的 UEFI 架构已经为开启 Secure Boot 做好了准备。
  • 镜像标准化:云厂商提供的公共镜像(Public Image)通常都预装了符合 UEFI 规范的 bootloader。如果用户自己制作自定义镜像,沿用 Legacy 会导致与新硬件的安全策略脱节。

4. 多租户隔离与资源管理效率

UEFI 提供了更精细化的硬件抽象层(ACPI 表等),使得云平台调度器能更准确地获取硬件拓扑信息(如 NUMA 节点、CPU 亲和性、内存布局)。

  • 更快的实例创建:UEFI 引导流程比 Legacy 更结构化,云厂商可以通过快照和镜像复用技术,实现“秒级”启动。Legacy 模式下,由于需要模拟传统 BIOS 中断,往往需要额外的虚拟化开销。
  • 容器与轻量级虚拟机友好:像 Kata Containers、Firecracker 这类轻量级运行时,底层依赖的是高效的虚拟化和快速启动,UEFI 是更优解。

5. 为什么你会看到“默认采用”?

这里有个细节需要注意:并不是所有云主机都绝对禁用 Legacy,但“默认推荐”确实是 UEFI。

  • 控制台交互逻辑:当你在新控制台创建 ECS/CVM 时,如果未特别指定引导方式,系统会根据你选择的操作系统镜像自动匹配最佳引导方式。对于 Ubuntu 22.04,其官方镜像已标记为 EFI-capable,因此系统自动勾选 UEFI。
  • 历史包袱清理:旧有的 Legacy 镜像逐渐被淘汰,云厂商也在后台逐步下线对 Legacy 模式的长期维护支持。新部署自然跟随最新标准。

实际影响与建议

作为开发者或运维,你需要关注以下几点:

  1. 双系统/本地测试:如果你在本地物理机上装 Ubuntu 22.04,务必进入 BIOS 关闭 “Legacy Support” 或 “CSM”,开启 “UEFI Only”,否则可能导致无法引导或磁盘识别异常。
  2. 自定义镜像制作:如果你使用 Packer 或 Terraform 自制镜像,确保使用 cloud-init 和最新的 grub-efi-amd64-signed 包。不要用旧的 os-prober 去探测 Windows,这在纯 Linux UEFI 环境中容易出错。
  3. Windows 实例例外:注意,Windows Server 2019/2022 在部分云厂商上仍可能提供 Legacy 选项(尤其是一些老旧 SKU),但微软自身也在推动 UEFI + Secure Boot,未来也会统一。
  4. 故障排查:如果新部署的云主机启动失败,首先检查是否是磁盘分区表格式问题。UEFI 要求 ESP(EFI System Partition)存在且挂载正确,而 Legacy 不需要。误操作删除 ESP 会导致无法引导。

总结

新部署云主机默认采用 Ubuntu 22.04 UEFI 引导,是硬件架构升级、安全合规要求、Linux 发行版演进三者合力的结果。这不是一个临时配置,而是云计算基础设施现代化的必然方向。

对于普通用户,无需担心,保持默认即可;对于高级用户,理解 UEFI 的优势有助于优化启动性能和安全加固。