由于某些原因,UEFI分区是“必须”还是“应该”是第一个?如果可以,为什么?


11

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

英语Ubuntu社区帮助Wiki页面中不是这种情况。

那么,由于某种原因,UEFI分区“必须”还是“应该”(假定前一页中的措词不正确)是否是第一个?如果可以,为什么?还是完全不相关?


1
对于我的最新安装(Arch Linux + GRUB + GPT + UEFI),它是最后一个
muru 2015年

Answers:


12

此答案中的关键字“应”,“必须”和“ MAY”(大写)将按照RFC 2119中的说明进行解释。

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

唯一的官方限制是:

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

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

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


您最后的意思是“如果<2.2 TB”吗?否则,我认为您的建议没有道理...
KutuluMike 2015年

@Fabby,实际上非FAT32 UEFI是否可以正常工作?
Pacerier,2015年

2
通过您的帖子中“官方限制”链接文档涉及BIOSMBR限制。ESP是EFI构造,因此BIOS限制不适用于它。我将ESP放置在2TiB标记之上,并成功地从这些ESP启动了计算机。也就是说,MBR磁盘上的ESP必须驻留在2 ^ 32扇区(通常为2TiB)以下,或者至少从此处开始。但是,MBR很少用于基于EFI的系统上的系统磁盘,因此,此限制几乎不值得加注。
罗德·史密斯

这是不首先拥有EFI分区的一个很好的理由。我有一个双端的SanDisk Extreme USB闪存驱动器。一侧具有标准的USB连接器,另一侧具有用于电话的USB-C连接器。该驱动器上有多个5个分区(用于各种Linux安装)和一个数据分区。通过首先放置数据分区,Windows和Android均可安装和读取/写入。Android和任何先前创建者的更新Windows系统将仅安装可移动驱动器的第一个分区。
BrianHVB

5

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

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

(版本2.5,第540页。)

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

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

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

总体而言,如果您有一些令人信服的理由而不是第一个职位来创建ESP,请随时进行;但是,如果您从空白磁盘开始,并且没有其他令人信服的理由,那么我将把ESP放在首位。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.