网站搜索

openSUSE Tumbleweed 现在默认为新安装提供 GRUB2-BLS


openSUSE Tumbleweed 切换到 GRUB2-BLS 作为默认启动程序,以提高启动速度、兼容性和 systemd 集成。

openSUSE Tumbleweed 在通过 YaST 安装系统时,已正式将其传统的 GRUB2 引导加载程序替换为 GRUB2-BLS。它是传统 GRUB2 的一个变体,支持引导加载程序规范 (BLS) —— 这是一个现代标准,定义了 Linux 系统如何存储和管理启动项。

GRUB2-BLS 不使用像 grub.cfg 这样的大型配置文件,而是读取位于 /boot/efi/loader/entries 的小型独立文本文件(称为第 1 类条目)。每个文件描述了如何启动内核,包括其 initrd 和命令行选项——这种方法与 systemd-boot 非常相似。

这一切的转变起始于 openSUSE MicroOS,它使用 systemd-boot(这是一个完全符合 BLS 的引导加载程序),该程序作为 systemd 项目的一部分开发。相比之下,GRUB2-BLS 的核心仍然是 GRUB,但它整合了来自 Fedora 的补丁,以支持引导加载规范的类型 #1 条目。

需要注意的是,在最新的 YaST 安装程序中,默认安装时会自动过渡到 GRUB2-BLS。该过程现在会创建一个更大的 EFI 系统分区——通常约为 1 GB——因为内核和 initrd 现在直接放置在其中的 /boot/efi/opensuse-tumbleweed 目录下。

对于那些偏好其他引导加载程序的用户,例如传统的 GRUB2 或 systemd-boot,YaST 仍然允许在安装的最终配置屏幕下的“安装设置 > 启动”中手动选择。

YaST 允许您在安装过程中选择较旧的 GRUB2 启动管理器。

据开发者称,通过采用 GRUB2-BLS,这个发行版旨在简化新功能的集成——尤其是基于 systemd 的全盘加密,当可用时可利用 TPM2 或 FIDO2 硬件令牌。

此外,在传统的 GRUB2 设置中,启动菜单和内核参数是定义在一个名为 grub.cfg 的自动生成文件中的。在 GRUB2-BLS 中,这一工作流程会发生彻底改变,因为 grub.cfg 文件不再用于存储启动项,启动菜单是从类型 #1 的条目动态构建的。

最后,再次说明,随着 openSUSE Tumbleweed 切换到 GRUB2-BLS,这个新的引导加载程序将成为 仅针对通过 YaST 进行的新安装 的默认选项。现有使用 GRUB2-EFI 的系统将继续按原样运行。根据 openSUSE Factory 邮件列表的讨论,暂未计划从 GRUB2-EFI 自动迁移到 GRUB2-BLS。

希望手动采用 GRUB2-BLS 的用户可以通过 YaST 重新安装引导加载程序,或结合新的 BLS 配置模型使用 grub2-install 来实现。不过,对大多数用户来说,继续使用 GRUB2-EFI 仍然是完全支持且稳定的。

欲了解更多信息,请参阅公告。