距离GRUB 2.12发布已经过去两年多,如今GRUB 2.14终于正式到来。这次版本更新并非普通的小幅迭代,而是一轮覆盖范围很广的底层升级,重点涉及安全性增强、文件系统兼容性提升、启动协议支持扩展等多个关键方向。下面来看看本次GRUB 2.14更新的几项核心变化:
- 升级到libgcrypt 1.11,加密库版本同步提升,整体安全能力进一步增强;
- 完整支持LVM逻辑卷和cachevol功能,在逻辑卷管理与存储场景中的表现更加稳定;
- 新增EROFS文件系统支持,针对只读文件系统使用场景进行了专门优化;
- 在Btrfs文件头中集成了GRUB环境变量块,减少额外配置步骤,使用更方便;
- EFI平台启用了NX(No-eXecute)保护,可有效防止内存区域执行恶意代码;
- 兼容shim加载器协议,便于在Secure Boot安全启动链路中协同使用;
- 新增对BLS(Boot Loader Specification)和UKI(Unified Kernel Image)的支持,这也是现代Linux启动规范的重要发展方向;
- 引入Argon2密钥派生函数(KDF),进一步提升密码学安全强度;
- 集成TPM2 key protector,硬件绑定密钥方案更加安全可靠;
- 为PowerPC架构提供了带附加签名(Appended Signature)的Secure Boot支持,兼顾更多平台需求;
- 新增命令行界面屏蔽(CLI masking)选项,系统管理员可限制用户直接操作引导命令行;
- 扩展日期支持范围,现在1901年之前和2038年之后的时间戳也能正确处理,这对老旧硬件和长生命周期系统非常实用;
- 添加zstdio解压缩功能,处理压缩文件系统时更加便捷高效;
- 持续优化并修复EFI相关代码,EFI启动支持依然是此次开发重点之一;
- 修复多个TPM驱动问题,降低硬件兼容性异常带来的使用风险;
- 改进了多种文件系统的兼容性和稳定性,提升实际部署体验;
- 修复了若干CVE安全漏洞以及Coverity静态分析发现的问题,进一步强化安全防护;
- 增强了自动化测试的覆盖范围与可靠性,减少后续版本回归风险;
- 同时更新并完善了用户文档和开发文档,整体文档质量也有所提升;
- 当然,除此之外还有大量其他功能增强、错误修复和代码清理工作,整体完成度更高。
官方更新日志可以查看这里:https://www.php.cn/link/b118614e3551973ee37156257cf694ae
再补充一下背景信息:GRUB全称GRand Unified Bootloader,是Linux系统中最常见、应用最广泛的多系统启动引导管理器。当一台计算机安装了多个操作系统时,GRUB会提供启动菜单,用户可以选择需要启动的系统。它不仅能够直接加载多种Unix、Linux和Windows内核并完成初始化,也可以将控制权交还给各自原生的引导流程,因此具备很高的灵活性。可以说,在整个系统启动链中,GRUB就是负责关键引导与兜底管理的重要组件。
