如何知道 EFI 分区所需的适当磁盘空间量

Mah*_*ati 7 partitioning boot uefi

在这个关于DiskSpace 的Ubuntu 帮助 wiki 中,建议 EFI 分区的大小在 100~250 MB 左右。但是,我可能有一个 150 MB 的 EFI 分区,而它实际上需要 151 MB 的空间!

那么如何知道我需要分配给 EFI 分区的确切大小呢?

小智 13

您无法知道确切尺寸,除非:

  1. 你打算永远不更新操作系统
  2. 您执行初步测试安装,然后使用该信息在另一个操作系统安装期间重新创建分区

使用我自己的机器作为参考,日常主力上的 EFI 分区大小为 1GB。分区存在于大小至少为 512GB 的存储设备上。目前没有一个 EFI 分区的利用率超过 1.8%,即 180MB(最低为 97MB)。

过去曾被过小的 EFI 分区烧毁,我允许 Ubuntu 安装向导选择其 EFI 分区的大小,从那时起正好有 0 个问题。

补充说明:

Microsoft 建议为其操作系统使用 100 MB,而许多 Linux 论坛建议为基于 Linux 的操作系统或任何双引导或多引导情况提供更多内存。

gdisk 的作者建议 550 MiB

根据Arch Linux wiki,为了避免某些 EFI 的潜在问题,ESP 大小应至少为 512 MiB。建议使用 550 MiB 以避免 MiB/MB 混淆和意外创建 FAT16。

因此,EFI 系统分区最常见的大小准则介于 100 MB 到 550 MB 之间。这背后的一个原因是以后很难调整大小,因为它是驱动器上的第一个分区。EFI 分区可能包含语言、字体、BIOS 固件、其他固件相关的东西。有一些固件/软件安装在 EFI 分区而不是数据驱动器中。

由于将来可能难以扩大 EFI 分区的大小,并且由于许多存储设备的尺寸为数百 GB,因此除非计划安装操作系统,否则使用不是绝对最小值的东西是有意义的,断开设备与 Internet 的连接,并在不更新的情况下运行它,直到时间结束。

  • Linux 方面的大部分建议源于这样一个假设:系统将设置为多重引导,并将处理来自 Windows 或其他操作系统的各种事物对分区的随机入侵,或者您计划使用 ESP作为引导分区。这两种情况_应该_涉及至少半 GB 的空间,但如果这两种情况都不是,那么 128MB 就足够了(我的笔记本电脑上有一个双启动设置,它使用的 ESP 不到 1/4,这是与我处理过的大多数其他系统一致)。 (3认同)
  • 人们倾向于大幅加大这些分区的尺寸。多年来,我一直在使用带有小至 32 MiB 的 ESP 和 128 MiB 引导分区的 Arch Linux 系统,从未遇到过麻烦。Debian 和 Ubuntu 系统可能需要 256 MiB 的引导分区,因为它们保留安装的旧内核,但不会更多。 (3认同)
  • _“...没有一个 EFI 分区超过 [...] 180MB(最低的是 97MB)。”_ - 我发现这些数字相当高;我的Win10/Debian10双启动桌面使用31M;我的 Debian10-only 上网本使用 132K。老实说,1G EFI 分区对我来说听起来有些过分。您是否也将它用作`/boot`? (2认同)

Sim*_*ter 5

所需空间取决于所使用的引导方法以及安装的其他操作系统。

GRUB 只安装它的第一和第二阶段引导加载程序,它们相当小,然后使用它自己的文件系统驱动程序通过 EFI 接口加载内核和 initrd 以进行块设备访问。您可以为此节省几兆字节。

systemd 引导加载程序和 Windows 将它们的内核和包含驱动程序的初始 ramdisk 复制到 ESP 中,这需要一些空间——具体多少取决于初始 ramdisk 中包含的驱动程序。

Windows 仅选择最低限度的驱动程序,类似于MODULES=depinitramfs.conf 中选择,因此它们可以避免几兆字节,但如果硬件变化太大(例如,当您将硬盘从内部 SATA 端口移动到添加- 卡上)。

据我所知,Ubuntu 默认为MODULES=most,因此它会将几兆字节的驱动程序复制到 initramfs 中。这是健壮的,但需要额外的空间。

Ubuntu 通常会保留安装的最后两个内核版本,因此需要有足够的空间用于 initramfs 的两个版本,以及在升级过程中的额外空间(在删除旧版本之前将新版本复制到 ESP)。

所以:

如果您只使用 GRUB 并且不打算(永远)切换,那么您可以使用 10 MB。

如果您双引导进入 Windows 并使用 GRUB,则 Windows 的默认 100 MB 是好的。

如果您打算使用 systemd-boot,请为至少三个 initramfs 副本留出足够的空间,目前大约为 30-40 MB,并且在未来版本中可能会增加。200 MB 应该是安全的,典型安装使用 500 MB,因为对于现代硬盘大小,这无关紧要。