本文介绍如何在云服务器 ECS 上,将一个基于传统 BIOS 引导模式的 Windows 自定义镜像,安全地转换为 UEFI 引导模式。该方案通过在临时 ECS 实例中使用 Windows 原生工具 mbr2gpt.exe 修改磁盘分区表,以确保镜像能够兼容所有要求 UEFI 引导的新一代实例规格。
实施步骤
步骤一:准备工作与前置条件检查
确保操作环境满足mbr2gpt.exe工具的严格要求,并建立数据备份以防意外。
创建临时实例与备份。
使用需要转换的 BIOS 引导模式自定义镜像,创建一个按量付费的云服务器 ECS 实例。为节约成本,可选择较低规格的实例。
(强制)为该临时实例的系统盘创建一个快照。 这是整个操作中最重要的安全保障,用于在转换失败或出现意外时恢复至初始状态。
连接实例并执行前置条件检查。 以管理员身份登录 Windows 实例,打开 PowerShell,并执行以下检查。任何一项检查不通过,都无法进行后续转换。
操作系统版本:
mbr2gpt.exe工具仅在 Windows Server 2016、Windows 10(1703 版本)及更高版本中受支持。磁盘分区表类型: 系统盘当前必须为 MBR 格式。
分区数量: MBR 磁盘上的主分区数量不能超过 3 个。
磁盘类型: 必须是基本磁盘,不支持动态磁盘。
加密状态: 系统盘不能启用 BitLocker 磁盘加密。
步骤二:执行 MBR 到 GPT 磁盘转换
使用 mbr2gpt.exe 工具完成核心的磁盘格式转换。
以管理员身份打开命令提示符(CMD)。
校验转换可行性。 在执行实际转换前,必须先运行校验命令,以确认磁盘布局是否满足转换条件。
cd C:\Windows\System32 mbr2gpt.exe /validate /allowFullOS参数说明:
/allowFullOS参数允许在完整的 Windows 操作环境(非 WinPE)中运行,这在本场景下是必需的。预期输出: 如果看到
Validation completed successfully的提示,说明检查通过,可以进行下一步。如果报错,请根据错误信息(如Disk layout validation failed)排查问题,常见原因为分区数量过多或磁盘布局不符合要求。
执行转换。 校验通过后,执行转换命令。
mbr2gpt.exe /convert /allowFullOS此命令会自动完成以下操作:
将系统盘的分区表从 MBR 转换为 GPT。
在磁盘上创建一个新的 EFI 系统分区。
将必要的 UEFI 引导文件写入该分区。
步骤三:验证转换结果并准备创建镜像
在创建最终镜像前,必须确认系统在新的 UEFI 模式下能够成功启动。
检查磁盘分区。 打开磁盘管理(
diskmgmt.msc),确认系统盘上已成功创建了一个标记为“EFI 系统分区”的新分区。重启实例进行引导验证。 从操作系统内部执行重启。这是关键的验证步骤,用于确认系统在转换为 GPT 后能够被实例的固件识别并以 UEFI 模式成功引导。
如果实例无法正常启动,说明转换过程可能存在问题。此时,应使用步骤一中创建的快照回滚磁盘,然后重新排查问题。
确认引导模式。 实例成功重启后,再次登录系统。运行
msinfo32打开系统信息工具,在系统摘要中找到BIOS 模式,确认其值已变为 UEFI。正常关机。 确认无误后,从操作系统内部执行关机操作。请勿在 ECS 控制台上强制停止实例,以确保所有文件系统缓存都已正确写入磁盘。
步骤四:创建并配置新的自定义镜像
登录ECS控制台-实例,在页面顶部选择资源组和地域。
找到刚刚关机的临时实例,单击目标实例ID进入实例详情页,单击页面右上方。
按照页面提示配置镜像名称及其他可选参数,单击确认提交创建。
重要镜像创建过程中,请勿停止、启动或者重启实例,避免镜像创建失败。
在操作列中,选择 创建自定义镜像。根据提示填写镜像名称和描述。
前往 ECS控制台-镜像页面。在自定义镜像页签下,根据设置的镜像名称找到新建的自定义镜像。当镜像的状态变为可用时,表示镜像已成功创建。
创建镜像所需时间取决于实例云盘的大小,需要等待每块云盘的快照创建完成,镜像才可使用,请耐心等待。
单击目标镜像ID,进入镜像详情页面,在基本信息区域,单击启动模式右侧的
图标。在设置启动模式窗口,选择UEFI启动模式之后,单击确定。
步骤五:最终验证
为确保新镜像的可用性,执行最后一次测试。
使用刚刚创建并配置好的 UEFI 自定义镜像,创建一个新的 ECS 实例。务必选择一个支持 UEFI 引导的实例规格。
等待实例创建完成,并确认其能够正常启动且可以通过远程连接访问。
整个迁移和验证流程完成。可以安全地释放用于转换的临时实例和快照,以避免产生不必要的费用。