EFI 系统分区 (ESP) 的大小

EFI 系统分区 (ESP) 的大小

默认的 Debian 安装程序分区方案创建安装在/boot/efi.我所有的服务器在该分区上都只有几 MB。我的问题是:为什么要这么大的分区?使用更少的空间(例如 100MB,如 Windows)是否可以,或者我以后会遇到问题吗?

答案1

宁可谨慎也不犯错误。

EFI 分区可以包含主板固件、安全启动加密密钥、可能的多个内核(如果配置为将它们存储在此处),甚至是多个操作系统的启动加载程序。这些最终都会占用相当多的空间。

Windows 使用较小的分区,因为它以不同的方式处理分区(并且可能期望成为计算机上的唯一操作系统)。

如果您只计划在这台特定机器上拥有 1 个操作系统,用于/boot存储您的内核(我相信这是 Debian 的默认设置),实际上只是引导加载程序指令和主板固件,那么您的操作系统甚至可能小于 100 个MB 分区。然而,从总体上看,500 MB 并没有那么大,如果启动分区已满并且无法启动,您会很高兴拥有空闲空间,这样您就不必执行系统救援。

答案2

建议的 EFI 启动分区在 100 - 550MiB 之间。

引导分区可用于多个操作系统(多重引导)和不同版本的 initramfs、grub、驱动程序...;所以这取决于您运行的系统。

另外,建议的大小为 550Mib,以避免将来增加分区,这可能会在某种程度上难以执行。

答案3

在我安装的工作服务器上运行 rhel >= 7.6操作系统如下所示,使其尽可能简单。

mount            size    file system
-------------------------------------
/boot             1gb      XFS
/boot/efi       100mb      EFI
/                 max      XFS

fwiw 这就是我目前在 RHEL 7.9 上所做的事情:

Filesystem      Size  Used Avail Use%   Mounted on
/dev/sdc3       558G  134G  424G  24%   /
tmpfs           252G  4.3M  252G   1%   /tmp
/dev/sdc2       950M  246M  704M  26%   /boot
/dev/sdc1       190M   10M  180M   6%   /boot/efi

ls /boot/efi/efi/redhat

BOOT.CSV*     fw/            grub.cfg*     mmx64.efi*    shimx64-redhat.efi*
BOOTX64.CSV*  fwupia32.efi*  grubenv*      shim.efi*     user.cfg*
fonts/        fwupx64.efi*   grubx64.efi*  shimx64.efi*

ls /boot

config-3.10.0-1127.18.2.el7.x86_64
config-3.10.0-1127.19.1.el7.x86_64
config-3.10.0-1160.2.2.el7.x86_64
efi/
grub2/
initramfs-0-rescue-b00f5bf4f58746a0a8e879b918fc99ec.img
initramfs-3.10.0-1127.18.2.el7.x86_64.img
initramfs-3.10.0-1127.19.1.el7.x86_64.img
initramfs-3.10.0-1160.2.2.el7.x86_64.img
symvers-3.10.0-1127.18.2.el7.x86_64.gz
symvers-3.10.0-1127.19.1.el7.x86_64.gz
symvers-3.10.0-1160.2.2.el7.x86_64.gz
System.map-3.10.0-1127.18.2.el7.x86_64
System.map-3.10.0-1127.19.1.el7.x86_64
System.map-3.10.0-1160.2.2.el7.x86_64
vmlinuz-0-rescue-b00f5bf4f58746a0a8e879b918fc99ec*
vmlinuz-3.10.0-1127.18.2.el7.x86_64*
vmlinuz-3.10.0-1127.19.1.el7.x86_64*
vmlinuz-3.10.0-1160.2.2.el7.x86_64*

我相信 GRUB2 的默认设置是 5,您可以在启动菜单中选择的项目数,这样当您继续更新到新内核时,真正旧的内核最终会被清除。但这种情况发生在/boot不在efi分区上,所以如果你想保留很多,那么我认为你应该担心/boot.我还没有遇到过需要使EFI分区大于 100MB 的情况。我同意将 EFI 分区设置为 500mb 是一种浪费。

如果我不得不猜测的话可能是这样固件EFI 下的文件夹,其中可以放置固件文件,以便在启动期间可以使用它们进行固件更新或安装。但是这个过程可以而且通常是通过外部 USB 上的这些文件来完成的,我不知道必须以这种方式驻留在 EFI 分区上的东西的实际要求。所以问题就变成了你是否想要维护一个 500mb 的 efi 分区来做一些你可能永远不会做的事情。

相关内容