在 /boot 挂载 EFI 分区是否有意义?

Mcp*_*cpg 0 boot uefi

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

Rod*_*ith 5

可以配置 Linux 安装以在以下位置挂载 ESP /boot:然而,有一些重要的警告和问题使得此配置不适合 Ubuntu。具体来说:

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

也就是说,一些发行版鼓励将 ESP 安装在/boot. 这种做法在 Arch Linux 用户中很常见。Freedesktop Boot Loader 规范还鼓励安装 ESP 并将/boot内核放入特定于发行版的子目录中;然而,这一提议似乎毫无进展。

总的来说,您最好将 ESP 安装/boot/efi在 Ubuntu 中。是的,到达引导加载程序文件的路径会更长一点,efi路径名部分会加倍,但最坏的情况下这只是一个小小的不便。在 处安装 ESP 的缺点/boot更为显着。