一台计算机可以有多少个 EFI 系统分区 (ESP)?

一台计算机可以有多少个 EFI 系统分区 (ESP)?

我正在尝试在安装了 Windows 8 的 UEFI 笔记本电脑上设置双/多启动。我想在启用安全启动的情况下操作。我可以在禁用安全启动的情况下安装/配置操作系统(但我不会在 CSM 模式下操作)。我可以放弃 Windows 8,但最终笔记本电脑将需要安装 Windows 8 Pro (x64) 来支持我的 Windows Phone 开发设备。

我已阅读 Microsoft 关于 UEFI 和分区的文档Windows 和 GPT 常见问题解答。我不清楚磁盘上可以有多少个 EFI 系统分区 (ESP)。由于 UEFI 可以授权访问特定分区,因此我认为以下说法成立:

  • 微软的平台密钥(PK)已加载到 UEFI 中
  • MS PK 允许访问 Microsoft 分区
  • MS 使用 4 个分区:ESP、MSR、数据、恢复
  • 当选择启动选项时启动至 MS(由 UEFI 强制执行)

上面,ESP 是 UEFI 系统分区;MSR 是 Microsoft 系统保留,用于额外的非预启动文件和 OEM 文件;Data 是用于加载程序加载的常规 OS 文件;而 Recovery 只是增值的 OS 内容。

如果我将 Linux 操作系统的平台密钥添加到平台密钥 (PK) 数据库中,那么我相信我至少需要:

  • 另一个用于启动/加载 Linux 操作系统的 ESP 分区
  • 另一个用于存放常用 Linux 操作系统文件的数据分区

需要额外的 ESP 是因为 UEFI 需要在特定启动选项的 PK 下签名的启动/加载程序文件;并且 UEFI 在启动 Linux 操作系统时不允许访问 Microsoft 的分区。

一台计算机可以有多少个 EFI 系统分区 (ESP)?多 ESP 正确吗?

答案1

你误以为 PK 与 ESP 绑定;但事实并非如此。安全启动加密功能要求单独的引导加载程序文件需要签名,但这些文件存储在普通的 FAT 文件系统上,而这些文件系统本身没有签名、加密,也没有其他加密功能。签名的引导加载程序文件可以从一个分区移动到另一个分区,并继续正常工作,至少从安全引导的角度来看是这样。(当然,移动这样的文件可能会导致它失败,因为它已经与关键配置文件或类似文件分开,但那是另一回事。)

更直接地回答这个问题,EFI 规范对计算机或硬盘上可能存在的 ESP 数量没有限制;如果您愿意,您可以拥有数十个 ESP,从 EFI 的角度来看,这没问题。不幸的是,微软没有那么灵活;Windows 官方仅支持每个磁盘一个 ESP(可能每个计算机一个;我对这个细节有点模糊)。我不知道 Windows 8 的情况,但如果 Windows 7 安装程序在磁盘上看到多个 ESP,它将崩溃;安装将进行部分过程,然后失败。(至少,在我的测试中就是这样的。)也就是说,如果您创建第二个 ESP安装 Windows 后,Windows 将继续正常启动和运行,至少就我所见是如此。(不过,我不能保证如果您使用某些特定功能,它不会出现异常。)

总的来说,在多启动环境中,我建议将 ESP 限制在一个内。我还建议将其设置得相当大——出于与罕见错误和 FAT 大小有关的各种技术原因,我通常建议 550MiB。话虽如此,如果您现有的安装具有较小的 ESP,那么坚持使用它可能是没问题的。无论哪种情况,Linux 和 Windows 都可以很好地共享单个 ESP。但是,我建议您尽早并经常备份它——在安装新操作系统之前一定要备份它。由于 ESP 保存着您的引导加载程序,因此意外擦除它将导致您的计算机无法启动。

相关内容