openSUSE Tumbleweed 中 GRUB2-BLS 现已成为默认选项
2025-12-09 | Fangzhou Liu | CC-BY-SA-4.0
openSUSE Tumbleweed 近期调整了通过 YaST 进行安装时的默认启动加载器,将其从 GRUB2 更换为 GRUB2-BLS。
这一变更延续了 MicroOS 开启的技术趋势,即采用兼容启动加载器规范的启动加载器。MicroOS 所使用的 systemd-boot 是由 systemd 项目提供的一款体积小巧且运行高效的启动加载器。
此次变更的原因之一是简化新功能的集成流程。其中就包括基于 systemd 工具的全盘加密功能,该功能可在设备具备 TPM2 或 FIDO2 令牌的情况下调用这类硬件完成加密验证。
什么是GRUB2-BLS
GRUB2-BLS本质上仍是GRUB2,只是在其基础上移植了来自 Fedora 项目的若干补丁,这些补丁使其具备了对启动加载器规范中 Type #1 启动项的兼容性。Type #1 启动项是存储在 /boot/efi/loader/entries 目录下的小型文本文件,启动加载器会读取这些文件来生成初始启动菜单。
每个Type #1 启动项文件中都包含了内核、initrd 的引用,以及启动系统时会用到的内核命令行参数。用户可直接编辑这些文件,也能通过bootctl、sdbootutil等工具对其进行管理。
在 GRUB2 的下一个版本(2.14 版)中,这些补丁将被正式纳入项目本体,届时对终端用户而言,整个升级过程会是完全透明的。
需要注意的是,openSUSE 部署 GRUB2-BLS 的方式与传统 GRUB2 存在差异:GRUB2-BLS 会以单个 EFI 二进制文件的形式被安装(复制)到 /boot/efi/EFI/opensuse 目录下,该二进制文件会内置所有所需资源(如模块、配置文件、字体、主题及图形资源等),而这些资源在传统 GRUB2 中原本是存放在/boot/grub2目录下的。
安装流程
好消息是,借助最新版本的 YaST,GRUB2-BLS 的安装过程已实现自动化。用户只需按照默认步骤完成操作,最终系统便会基于 GRUB2-BLS 构建。
安装程序首先会建议创建一个容量约 1GB 的大容量 ESP 分区,这是一项必要配置,因为所有内核文件和 initrd 如今都将存放于 /boot/efi/opensuse-tumbleweed 路径下的 FAT32 格式 ESP 分区中。
当然,用户也可在安装期间选择其他启动加载器,比如传统 GRUB2 或 systemd-boot。具体操作可在安装建议流程末尾出现的“安装设置”界面中完成:只需点击“启动”标题链接,即可从中选择所需的启动加载器。
全盘加密
当使用 BLS 系列启动加载器时,用户如今可基于 systemd 为系统配置全盘加密(FDE),该操作可在“建议分区”界面中完成:只需点击“引导式设置”,并在“分区方案”选项中勾选“启用磁盘加密”即可。
在此之后,用户可设置 LUKS2 加密密码,还能按需注册 TPM2 或 FIDO2 密钥等安全设备。对于笔记本设备,建议采用 TPM2+PIN 的组合方式完成系统注册:TPM2 会先校验系统是否处于健康(可信)状态,即验证从固件到内核的整个启动流程中所涉及的组件是否为预期版本、有无被篡改;校验通过后,TPM2 会要求用户输入 PIN 码或密码,而 YaST 会将该验证信息与 LUKS2 密钥槽中录入的密码进行绑定。
用法
在 GRUB2-BLS 环境下,grub2-mkconfig、grub2-install 这类 GRUB2 工具将不再适用,且多数工具已无使用必要。启动项由启动加载器动态生成,因此无需再手动生成 GRUB2 配置文件;而启动加载器的安装操作也简化为将新的 EFI 文件复制到对应路径即可。
系统升级流程同样实现了自动化,会通过 snapper 插件或 SUSE 模块工具自动调用 sdbootutil update 完成。若系统采用 btrfs 文件系统,整个管理流程会由该底层架构透明化处理,与传统启动加载器的运维逻辑保持一致。
如需修改内核命令行,可直接编辑启动加载器配置,也可先修改 /etc/kernel/cmdline 文件,再调用 sdbootutil update-all-entries 命令,将修改同步到当前快照对应的启动项中。
关于全盘加密(FDE)配置的管理方法,可前往 openSUSE 维基 查阅更多详情。
原文:GRUB2-BLS in openSUSE Tumbleweed is now the default,作者:Alberto Planas
分类: 社区新闻
标签: 翻译作品 官方新闻 Tumbleweed