![在 UEFI 中使用 MBR 启动(根本没有 CSM 模式)?](https://linux22.com/image/1490826/%E5%9C%A8%20UEFI%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20MBR%20%E5%90%AF%E5%8A%A8%EF%BC%88%E6%A0%B9%E6%9C%AC%E6%B2%A1%E6%9C%89%20CSM%20%E6%A8%A1%E5%BC%8F%EF%BC%89%EF%BC%9F.png)
我在这里问这个问题,因为我找不到明确的答案,即是否可以在仅 UEFI 环境中使用 MBR 分区硬盘进行启动。我读过这个问题,但我仍然不清楚:UEFI 带有 MBR 分区表吗?
我确实知道 CSM 模式存在,但这里的目标是仅使用纯原生 UEFI,因为我的 UEFI 中没有 CSM 模式选项。此外,我不能也不想将硬盘从 MBR 转换为 GPT,因此:
Windows Vista、7、8、8.1 和 10 是否可以在纯原生 UEFI 中使用 MBR 启动?
这仍然适用于 Linux 吗?
答案1
只要您有一个 EFI 系统分区,分区表类型就无关紧要。然而,Windows(独特)需要 GPT 才能使用 EFI;这对于 Linux 来说不是问题。
以下答案提供有关 Windows 及其 EFI 支持的更多详细信息。
您问的不是安全性,而是支持。是的,EFI 固件对 MBR 分区表没有问题,它可以像处理 EFI 分区表一样处理 MBR 分区表。您只需要确保您有一个 EFI 系统分区。
您的问题出在 Windows 上。Microsoft 错误地将 GPT 分区磁盘与 EFI 方式的引导程序混为一谈。因此,您的笔记本电脑已安装现代 EFI 分区表和现代 EFI 固件,并以现代 EFI 方式引导 Windows。更改为 MBR 样式的分区表,Windows 将期望以旧的 PC98 方式进行引导。您必须在固件中打开兼容性支持模块选项(如果有),然后重新安装 Windows 或单独修改 Microsoft Boot Manager、系统 BCD 存储、系统卷的 VBR 和 MBR 引导程序。
下列回答提供有关 Linux 及其 EFI 支持的更多详细信息。
Linux 当然可以在 EFI 模式下从 MBR 磁盘启动。问题是这种配置没有经过充分测试,您可能无法将引导加载程序注册到 EFI。您可能需要将引导加载程序命名为 EFI/BOOT/bootx64.efi,并使用此后备文件名依赖 EFI。
此外,大多数 Linux 发行版的安装程序都不会轻易设置这种配置;您可能需要安装到 GPT 并将其转换为 MBR,或者在 BIOS 模式下安装,然后在之后安装 EFI 引导加载程序。
答案2
Squircle 的回答和各种评论都很好;不过,我想谈几点……
我的 UEFI 中没有 CSM 模式选项。此外,我无法也不想将硬盘从 MBR 转换为 GPT
可以从 MBR 转换为 GPT 而不会丢失数据。我自己的GPT fdisk ( gdisk
)程序可以做到这一点。我听说一些第三方 Windows 工具也可以做到这一点,但我不知道细节。微软自己的工具不能但这样做不要尝试使用它们来完成任务。请注意,与从一个文件系统转换到另一个文件系统相比,MBR 到 GPT 的转换非常简单,因此风险很低 —— 但并非为零。不涉及写入分区表等敏感数据结构的操作是零风险。
您说您“不想”转换为 GPT,但没有说明原因。如果只是转换的麻烦或风险,那么与使用 MBR 时几乎完全缺乏支持的后续问题相比,这算不了什么。(不过,我假设您已经或可以创建足够的备份。如果这是不正确的,立即修复该问题!备份是不是奢侈!)如果你和某些人一样,对 MBR 感到满意,觉得没有必要换成 [crotchety old-man voice]新奇玩意儿[/crotchty old-man voice],那么我建议你摆脱偏见。GPT 确实比 MBR 有优势。大多数优势都很小,但如果你必须在 EFI 模式下启动,GPT 是标准对于 EFI 模式启动不是一个小优势;这是一个主要的一。
Windows(唯一)需要 GPT 才能使用 EFI
我的理解是,这是 Windows 安装程序的要求,但可以使用各种技巧让 Windows 从 MBR 磁盘以 EFI 模式启动,例如在安装操作系统后从 GPT 转换为 MBR,或者在不更改分区表类型的情况下用 EFI 模式引导加载程序替换 BIOS 模式引导加载程序。话虽如此,我对如何最好地实现这一目标的了解很模糊,因为我只是读过它;我自己从来没有这样做过。几年来我只读过一两次关于这个的信息,所以这不是经常做的事情。
EFI系统分区可以是逻辑分区吗?
理论上,这应该没关系。实际上,我不知道。从 MBR 磁盘以 EFI 模式启动是一种极端情况,世界上几乎没有人尝试过使用 MBR 逻辑分区作为 ESP,这种可能性虽然很小,但不容忽视。当然,我也没有尝试过。如果您决定从 MBR 磁盘以 EFI 模式启动,请记住这一点——如果您遇到问题,获得专家(甚至是高级业余爱好者)帮助的几率将降至接近零。
总的来说,我建议研究一下 MBR 到 GPT 的转换工具。您很有可能能够毫无困难地从 MBR 转换为 GPT。与尝试从 MBR 磁盘以 EFI 模式启动相比,转换结果出现问题的可能性更小。但是,您应该在执行此操作之前进行备份。尽管没有 MBR 到 GPT 的转换,这也是我的建议;乱搞引导加载程序的风险可能与乱搞分区表一样大,因此不备份就尝试这样做也是不明智的。
答案3
Windows 现在在 Windows 10 1703+ 中拥有 MBR2GPT 工具。在 C:\Windows\System32 中查找 MBR2GPT.EXE。在管理员命令提示符中运行 mbr2gpt.exe /validate /allowfullos。如果结果成功,请运行 mbr2gpt.exe /convert /allowfullos。更多信息请访问https://learn.microsoft.com/en-us/windows/deployment/mbr-to-gpt. 适用于 HP EliteDesk 800 G3。