在 /boot 上安装 EFI 分区有意义吗?

在 /boot 上安装 EFI 分区有意义吗?

在基于 EFI 启动的 Linux 系统上,您将 EFI 安装在 /boot/efi 上,但 EFI 分区已经包含“EFI”目录。那么,直接在 /boot 中安装 EFI 是否有意义(当计算机上只有一个 Linux 安装时)?我只是很好奇。:)

答案1

可以配置 Linux 安装以将 ESP 挂载在/boot;但是,有一些重要的注意事项和问题使得此配置不适用于 Ubuntu。具体来说:

  • 由于 ESP 通常安装/boot/efi在 Ubuntu 中,因此工具可能认为它被安装在这里,如果你将它安装在其他地方,这些工具可能会出现问题。我还没有详细研究过这个问题,但在这方面我会对 GRUB 配置工具保持警惕(如果你使用 GRUB 作为引导加载程序)。
  • Debian 软件包管理系统在安装文件时偶尔会创建符号链接。这在升级内核软件包时会产生问题/boot,因为 ESP 使用 FAT,而 FAT 不支持符号链接。
  • 将 ESP 安装在 上后/boot,您的内核将进入 ESP 的根目录。这将增加对 ESP 磁盘空间的需求。如果您计划得当(例如,使用 500-1000 MB 的 ESP),这可能没问题;但如果您从小型 ESP 开始(例如,某些版本的 Windows 默认创建的 ~100 MB ESP),它可能太小而无法完成工作。此外,您真的希望将内核暴露在 ESP 上吗?您双启动的任何其他操作系统都可以干扰它们?如果另一个操作系统行为不当并删除 ESP 上的文件,这可能会使恢复变得更加困难。(当然,双启动时没有绝对的保护措施来防止此类问题,但将内核放在 ESP 上会增加它们的风险。)
  • 如果您使用另一个 Linux 发行版进行双启动,并尝试/boot为这两个发行版安装 ESP,则两个发行版的内核最终都会位于同一目录中。这可能会让您和 GRUB 的配置脚本以及 rEFInd 的内核扫描代码等感到困惑。

尽管如此,一些发行版鼓励将 ESP 安装在/boot。这种做法在 Arch Linux 用户中很常见。Freedesktop引导加载程序规范还鼓励安装 ESP/boot并将内核放在特定于发行版的子目录中;然而,这个提议似乎没有任何进展。

总体而言,最好将 ESP 安装/boot/efi在 Ubuntu 上。是的,这样到达引导加载程序文件的路径会稍微长一点,efi路径名部分会加倍,但这最多也只是一点不方便。将 ESP 安装在 的缺点/boot要大得多。

答案2

不。/boot必须包含很多其他东西,例如所有内核和 initrd 映像,而您应该挂载的 EFI 分区仅/boot/efi包含 EFI 引导加载程序配置。

此外,/boot文件特定于并由正在运行的操作系统维护,并且不与双启动系统共享,而 EFI 分区特定于机器并包含所有系统的配置。

此外,我坚信(但目前没有参考)例如 GRUB 和内核依赖于/boot/efiEFI 分区的精确标准化挂载点。

相关内容