GNU GRUB 是一个多重引导加载程序
自2.06版本发布近两年半后,新版本 GRUB 2.12, 其中的版本 实施了各种支持改进, 以及错误修复等等。
对于不熟悉这个多平台模块化引导管理器的人,您应该知道 GRUB 支持多种平台,包括带BIOS的主流PC、IEEE-1275平台 (基于PowerPC/Sparc64的硬件)、EFI系统、支持RISC-V和MIPS的龙芯2E处理器硬件、Itanium、ARM、ARM64和ARCS(SGI)系统、使用免费CoreBoot包的设备。
GRUB 2.12 主要新特性
在这个新版本中 添加了初始支持 引导加载程序接口 (Boot Loader Interface)由systemd开发 其目的是接收性能数据和其他信息,以及传递控制信息
GRUB 2.12 新版本中的另一个突出变化是 添加对 SDL2 媒体库的支持。 这一改进的目的尚未详细说明,但推测目的是为了拥有镜像加载和管理库的可靠性,而不是自己开发一个,以及对文件注入镜像进行防护并避免类似的东西 标志失败.
除此之外,还强调的是支持LoongArch架构,以及还添加了对 binutils 2.38 的支持 支持 PCI 和 MMIO UART 并实现了使用 GCC 13 和 Clang 14 进行构建的能力。
就 安全改进,修复了自 GRUB 2.06 版本以来积累的漏洞,如CVE-2023-4692漏洞对应NTFS属性解析代码中的一个bug,可用于将用户控制的信息写入分配缓冲区之外的内存区域,也是CVE-2023-4693在 GRUB2 NTFS 驱动程序等中。
其他变化 从这个新版本中脱颖而出:
- Linux 内核 EFI 引导加载程序对于所有支持的体系结构都是统一的。
在 x86 系统上,Linux 内核已转换为 EFI 引导加载程序。 - 添加了对通过调用固件中的驱动程序动态添加内存的支持。TPM(可信平台模块)驱动程序中的问题已得到解决。
- 修复了访问文件系统代码中的许多问题。
- 调试功能得到了改进,测试套件也得到了扩展,以确保更强大和更可靠的性能。
最后 如果您有兴趣了解更多信息 关于这个新版本,您可以查看详细信息 在下面的链接中。
如何在 Linux 上安装新版本的 Grub?
对于那些有兴趣在系统上安装新版本 grub 的人,您应该知道 目前新版本已经在存储库中 发行版,所以这是可能的,因为您已经安装了这个新版本。
如果您不确定是否有这个新版本,只需运行适用于您的发行版的更新命令。例如,在 Arch Linux 中您只需输入:
sudo pacman -Syuu
或者,如果您只想更新或安装 GRUB,只需键入:
sudo pacman -S grub
对于那些喜欢编译的人应该知道我们可以从 以下链接。
现在要执行编译,我们必须打开一个终端,在其中我们将自己定位在我们下载源代码的文件夹中,我们将输入以下命令:
zcat grub-2.12.tar.gz | tar xvf -cd grub-2.12
./configure
make install
最后,不要忘记生成 grub.cfg 文件,以便系统的引导加载程序配置正确并包含最新的更改。
sudo grub-mkconfig -o /boot/grub/grub.cfg