Lennart Pottering 提议对引导分区的分解进行现代化改造

Lennart Pottering 继续发表重新设计 Linux 引导组件的想法,并研究了重复引导分区的情况。 不满意的原因是使用不同文件系统组织两个磁盘分区的初始引导,这些分区嵌套安装 - 基于带有 EFI 固件组件的 VFAT 文件系统(EFI 系统分区)的 /boot/efi 分区和 /boot基于 ext4、btrfs 或 xfs 文件系统的分区,其中包含 Linux 内核和 initrd 映像以及引导加载程序设置。

由于 EFI 分区对所有系统都是通用的,并且为每个安装的 Linux 发行版单独创建带有内核和 initrd 的引导分区,这导致了在同一台计算机上安装多个发行版时需要创建额外的分区,这使得情况变得更加严重。系统。 反过来,需要支持不同的文件系统导致Bootloader更加复杂,并且使用分区嵌套放置会干扰自动挂载的实现(只有挂载/boot分区后才能挂载/boot/efi分区) )。

Lennart 建议如果可能的话仅使用一个引导分区,并且在 EFI 系统上默认将内核和 initrd 映像放置在 VFAT /efi 分区上。 在没有 EFI 的系统上,或者如果在安装过程中已经存在 EFI 分区(并行使用另一个操作系统)并且其中没有足够的可用空间,则可以使用类型为 XBOOTLDR 的单独 /boot 分区(/efi 分区位于分区表是 ESP 类型)。 建议在单独的目录中创建 ESP 和 XBOOTLDR 分区(单独挂载 /efi 和 /boot,而不是嵌套挂载 /boot/efi),通过分区表中的 XBOOTLDR 类型识别使它们可自动检测和自动挂载(无需在/etc/fstab)。

/boot 分区对于计算机上安装的所有 Linux 发行版都是通用的,特定于发行版的文件将在子目录级别分隔(每个安装的发行版都有自己的子目录)。 按照惯例和UEFI规范的要求,EFI组件分区仅使用VFAT文件系统。 为了统一引导加载程序并使引导加载程序摆脱与支持不同文件系统相关的复杂性,建议使用 VFAT 作为 /boot 分区的文件系统,这将显着简化在引导加载程序端工作的组件的实现,这些组件访问 /boot 分区中的数据。 /boot 和 /efi 分区。 统一将允许对加载内核和 initrd 映像的两个分区(/boot 和 /efi)提供同等支持。

来源: opennet.ru

添加评论