我正在构建我的第一台基于 UEFI 的服务器。我正在手动安排硬盘上的基于 gpt 的分区。我将 EFI 系统分区作为第一个分区。通常,我会创建一个 127mb 的虚拟分区作为第一个分区,以进行通用对齐(或者我将创建第一个分区以扇区#262143 结束,这将对齐以下分区以进行任何配置(群集大小、RAID 条带等)。我想我可以对利用所有可能的驱动器空间有点保守,所以我在想:如果我使用这个“虚拟分区”作为 EFI 系统分区的位置,它会导致某种重大性能问题吗?(因为它是一个 512e 驱动器,分区不会对齐)我倾向于认为不会,因为分区基本上在启动过程中读取一次,而不是定期用于写入文件。但我只是想提出这个问题,只是为了确保我没有做一些完全荒谬的事情。那么,是否可以将 EFI 系统分区设置为 gpt 硬盘上的第一个分区(未对齐),同时将其用作“偏移”来对齐以下分区?提前致以最诚挚的问候。
答案1
除非您正在进行扇区计算,试图占用驱动器上所有可能的可用空间,否则您无需担心对齐问题。任何支持 EFI 的操作系统都能识别 512e 和 4Kn 驱动器,并且默认情况下始终将分区对齐到 4K 边界。您必须非常努力才能错位对齐它们。
实际上,如果您手动创建分区,您需要做的就是确保每个分区的起始扇区可以被 8 整除(512 字节 * 8 = 4096k),这样就没问题了。
还要注意,您不应将驱动器上的最后 2048 个扇区分配给任何分区。您没有提到将运行什么操作系统,但 Windows 在处理触及驱动器末尾的分区时会遇到问题。这有一些遗留原因,这里就不一一介绍了。但最好不要管那个空间。
此外,您应始终将 EFI 分区设为驱动器上的第一个分区。如果您愿意,完全可以将此分区从扇区 40 开始。这是 GPT 驱动器上的第一个可用扇区。由于您对良好、整齐的排序感兴趣,请将其长度设为 262,103 个扇区。这将有 127.98MB 的大小。这使得驱动器上的第一个数据分区从扇区 262,144 开始——距离驱动器前端正好 128 MB。
如果如果您要运行 Windows,您还需要一个 MSR 分区。这是 Windows 官方所称的“虚拟”分区。对于 Server 2016,其大小必须至少为 16MB,对于 Server 2012,其大小必须至少为 64MB。