![出于某些原因,UEFI 分区是否“必须”或“应该”位于首位?如果是,为什么?](https://linux22.com/image/980686/%E5%87%BA%E4%BA%8E%E6%9F%90%E4%BA%9B%E5%8E%9F%E5%9B%A0%EF%BC%8CUEFI%20%E5%88%86%E5%8C%BA%E6%98%AF%E5%90%A6%E2%80%9C%E5%BF%85%E9%A1%BB%E2%80%9D%E6%88%96%E2%80%9C%E5%BA%94%E8%AF%A5%E2%80%9D%E4%BD%8D%E4%BA%8E%E9%A6%96%E4%BD%8D%EF%BC%9F%E5%A6%82%E6%9E%9C%E6%98%AF%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
在一个非英语 Ubuntu-it.org 维基页面规定 UEFI 分区必须始终位于磁盘的起始位置。
那么,出于某种原因,UEFI 分区是否“必须”或“应该”(假设前一页的措辞不正确)位于首位?如果是,为什么?或者这完全不相关?
答案1
本答案中的关键词“应该”、“必须”和“可以”(大写)应按以下方式解释:RFC 2119。
一个 (U)EFI 系统分区(从现在起为 ESP):
- 可能位于磁盘的开头
和 - 应该是 FAT32,因为Windows 兼容性。
唯一的官方限制是:
- ESP 必须位于磁盘的前 2.2 TB 中。
因此,ESP 必须位于磁盘的前 2.2 TB 中的任何位置,但是ESP 完全没有必要成为第一个分区或者驻留在磁盘的开头。
(只是华盛顿州雷德蒙德的一家大公司为系统集成商提供不同的建议)...
我会把它作为磁盘上的最后一个分区(如果<2.2TB),因为它仅用于加载其他操作系统,但这只是个人的、完全主观的意见!
答案2
这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 将突然变成中间的 ESP,这可能需要您移动它。
许多预装的 Windows 系统将 ESP 放在位置 #2,而 #1 则被一个小型制造商特定分区占用。这样的配置工作正常,而且由于制造商的分区也不太可能被移动或删除,因此这种配置实际上并不比将 ESP 放在位置 #1 更糟糕。我不会特意去“修复”这样的配置,但如果给我一张空白磁盘并让我开始安装操作系统,我也不会自己这样做。
总的来说,如果您有令人信服的理由在第一个位置以外的位置创建 ESP,请随意这样做;但如果您从空白磁盘开始,并且没有其他令人信服的理由,我会将 ESP 放在第一位。