由于某种原因,UEFI 分区是“必须”还是“应该”排在第一位?如果是为什么?

kos*_*kos 16 partitioning bootloader uefi

非英语的 Ubuntu-it.org wiki 页面中,它声明 UEFI 分区必须始终放置在磁盘的开头。

英文 Ubuntu Community Help Wiki 页面中,情况并非如此。

那么 UEFI 分区是“必须”还是“应该”(假设前一页中的措辞不好)出于某种原因排在第一位?如果是为什么?或者这完全无关紧要?

Fab*_*bby 16

此答案中的关键字“应该”、“必须”和“可以”(大写)将按照RFC 2119 中的描述进行解释。

(U)EFI 系统分区(从现在开始的 ESP):

唯一的官方限制是:

  • ESP 必须驻留在磁盘的前 2.2 TB 中。

因此,ESP 必须驻留在磁盘的前 2.2 TB 中的任何位置,但绝对不需要 ESP 作为第一个分区或驻留在磁盘的开头。
(只是华盛顿州雷德蒙德的一些大公司对系统集成商的建议不同)...

我会将它作为磁盘上的最后一个分区(如果 < 2.2TB),因为它仅用于加载其他操作系统,但这只是个人的,完全主观的意见!

  • [由您帖子中的“官方限制”链接的文档](http://www.uefi.org/sites/default/files/resources/UEFI_Drive_Partition_Limits_Fact_Sheet.pdf) 指的是 *BIOS* 和 *MBR* 限制。ESP 是一个 *EFI* 结构,因此 BIOS 限制不适用于它。我已将 ESP 放置在远高于 2TiB 标记的位置,并成功从这些 ESP 启动计算机。也就是说,MBR 磁盘上的 ESP 必须位于 2^32 扇区(通常为 2TiB)标记以下,或者至少从那里开始。不过,MBR 很少用于基于 EFI 的系统上的系统磁盘,所以这个限制几乎不值得做一个脚注。 (3认同)

Rod*_*ith 7

所述EFI规范明确规定,有该详细信息没有限制:

UEFI 不对系统上可以存在的系统分区的数量或位置施加限制。

(2.5 版,第 540 页。)

实际上,建议将 ESP 放在首位,因为此位置不太可能受到分区移动和调整大小操作的影响。例如,假设 ESP 存在于 OS A 和 OS B 分区之间,并且您决定删除 OS B 并将其空间给 OS A。在这种情况下,您需要先移动 ESP,然后才能扩展 OS A 分区. 此外,一些工具,例如efibootmgr,使用/dev/sda1作为ESP的默认位置。因此,如果您将 ESP 放置在其他地方,然后忘记覆盖默认值,您可以创建一个无法启动的条目。

在大多数情况下,将 ESP 放在磁盘的末尾几乎可以正常工作,但这种方法存在一些微妙的问题。一方面,如果您更改分区数,则 ESP 的编号可能不再与其在磁盘上的位置匹配,或者某些分区工具可能会对其重新编号。这两种结果都可能导致混淆或需要重新配置。此外,如果您使用 RAID 并添加磁盘空间,则磁盘末尾的 ESP 会突然变成中间的一个,这可能需要您移动它。

许多预装的 Windows 系统将 ESP 放在 #2 位置,#1 被一个特定于制造商的小分区占用。这样的配置工作正常,而且由于制造商的分区也不太可能被移动或删除,因此这种配置并不比将 ESP 放在位置 #1 更糟糕。我不会特意“修复”这样的配置,但如果我得到一张空白磁盘并被告知开始安装操作系统,我自己也不会这样做。

总体而言,如果您有一些令人信服的理由在第一位置以外的位置创建 ESP,请随意这样做;但是如果你从一个空白磁盘开始并且没有令人信服的理由,我会把 ESP 放在第一位。