我最近在 UEFI 笔记本电脑中安装了 Linux,并错误地安装了 GRUB 加载程序(基于 MBR)。此后系统无法在任何操作系统中启动。启动设备选择器仍然列出 UEFI 设备,但无论选择什么,它都不会启动。我尝试使用 Windows 工具 (fixMbr) 进行恢复,但没有任何帮助。最后我通过重置 MBR(从 Linux 恢复中)并重置保护标志来解决。之后,我可以“正确”安装注册为 UEFI 的 GRUB,并且可以选择任何可用的 UEFI 设备。我真正感兴趣的是为什么会发生这种情况,以及为什么 UEFI 系统在 MBR 不正确的情况下拒绝启动。必须有一种机制将 UEFI 签名与 MBR 进行比较。我的假设正确吗?或者还有什么可以解释这种现象吗?
答案1
因为BIOS使用MBR分区样式而不是UEFI使用的GUID分区表。
关注文章GPT 的旧版 BIOS 问题:
不幸的是,在实践中,偶尔会出现 BIOS/GPT 怪癖,甚至完全不兼容。此外,许多带有 EFI 的现代计算机都提供兼容性支持模块 (CSM),使它们能够使用 BIOS 模式引导加载程序进行引导。问题在于固件可能会使用分区表类型作为要使用哪种类型的引导模式的提示,从而在尝试从 GPT 磁盘以 BIOS 模式引导时出现问题。无论哪种情况,带有 GPT 磁盘的计算机都可能无法启动...