Grub 与 Systemd-boot:您应该使用哪一个作为引导加载程序

Systemd-boot,以前称为“gummiboot”,是 Grub 的新竞争对手。 在兼容的 EFI 系统上,您可以使用 systemd-boot 代替 Grub 来引导系统的操作系统。 从高层次的角度来看,systemd-boot 链接到 UEFI 中已有的引导加载程序,为选择操作系统提供最基本的功能集。 另一方面,Grub 加载有时被称为“整个操作系统”的内容来管理用户操作系统的引导,从而提供更强大的功能。

内容

什么是引导加载程序?

引导加载程序加载操作系统。 它被机器的 BIOS 从磁盘的第一个有效块复制到内存中,并在任何操作系统启动之前运行。 从那里,它提供了一组基本功能,允许您修改您希望机器为该会话启动的方式。 为了 example,GRUB 为您提供了一个选项,可以为您的系统加载不同的内核 Linux 发行版。

如果引导加载程序检测到多个可引导系统映像,它允许用户选择要加载的系统。 引导加载程序然后引导操作系统并将硬件控制权移交给操作系统。 在大多数系统上,引导加载程序会出现在主板启动画面之后。

供参考: BIOS 和 UEFI 是当今 x86_64 主板中的两种固件。 了解是什么让它们成功,以及如何确定最适合您的固件。

GNU GRUB,通常称为 Grub 或 GRUB 2,代表 GRüoot接口。 它基于自由软件基金会的 多重引导规范. 它的开发人员将其设计为可在任何硬件平台上运行,并从几乎任何启动媒体和文件系统启动几乎任何类 Unix 操作系统。

因为它涵盖了广泛的平台和发行版,所以 Grub 通常是大多数情况下的默认引导加载程序 Linux 发行版。 如果您与 Linux 引导加载程序,它可能是 Grub。 它还提供视觉配置选项,如文本、背景颜色和图形启动图像。 Debian的 Grub 版本,对于 example为其提示使用独特的蓝绿色背景。

GRUB 2 引导加载程序菜单的屏幕截图 Debian 11.

Grub 支持多引导系统,它的开发人员专门为此目的编写了它。 但是,如果出现任何问题,可能会有点棘手。 在现有多引导系统上安装 Grub、删除操作系统和安装新操作系统时,问题最常发生。 Grub 使用一个 conf 文件,因此每个操作系统都包含在同一个文件中,该文件经过编辑以反映更改。

显示 grub.cfg 文件的终端窗口的屏幕截图 Debian.

主要操作系统的引导加载程序位于 MBR 中,其他操作系统通过引导加载程序链式加载到它们自己的分区上。 这行得通,并且对于大多数用例来说,这绝对足够了。 但这是一个也很容易被打乱的系统。 为了 example,如果你没有正确配置链式加载内核,多个 Linux 安装最终可能会“争夺” MBR 的控制权。

很高兴知道: 在某些情况下 GRUB 和 Windows 只是不能一起玩。 了解如何拯救您的 Windows 来自拙劣的多重引导安装的系统。

Grub 与 Systemd-boot:什么是 Systemd-boot?

Linux 粉丝们之前可能遇到过“systemd”这个名字。 Systemd 是“系统守护进程”的缩写,是运行系统所需的基本先决条件守护进程的集合。 Linux 系统。 Systemd-boot 是一个几千行的代码,并且在 systemd 套件的其余部分没有依赖性。

Pop!_OS 中 Systemd-boot 引导加载程序的屏幕截图。

然而,由于其简单性,gummiboot 被添加到 systemd 并重命名为“systemd-boot”以匹配 systemd 的组件命名约定。 Systemd的 总体的目标 是通过启动更少的东西并并行启动更多的东西来快速启动系统,而 systemd-boot 也有这个目​​标。

显示 Pop!_OS 的默认 EFI 配置的终端窗口屏幕截图。

作为纯文本引导加载程序,systemd-boot 具有明显的老派外观。 可用的引导设备按其标题列出,该标题在 systemd-boot 的配置文件中处理。 systemd-boot 基本上是 EFI 中包含的启动逻辑的接口,这就是它只能与兼容的 EFI 系统一起使用的原因。 与 Grub 相比,它的可配置性要差得多,并且它为您要启动的每个操作系统使用模块化的 .conf 文件。

显示机器 /boot/efi 分区内容的终端窗口屏幕截图。

由于其有限的接口,systemd-boot 是一个比 Grub 小得多的引导加载程序。 有些人安装它是为了提高速度或更有效地管理多个操作系统。 由于 systemd-boot 使用拆分配置文件(每个内核或操作系统都有一个 .conf 文件),因此手动维护具有多个内核或操作系统的系统会更简单。 安装新内核时,可以将这些插入式配置文本文件简单地复制到 systemd 的目录中。 这简化了多引导系统的配置。

提示: 虽然 Systemd 速度很快,但其整体安全性仍然存在问题。 您可以通过安装无 Systemd 发行版(例如 Devuan)来避免这些潜在问题。

哪个更好:Grub 还是 Systemd-boot?

如果您在使用 Grub 时遇到问题,systemd-boot 提供了一个大大简化的引导基础结构,带有插入式文件配置。 它更健壮,但也不像 Grub 那样可配置或适应。 如果您运行的是多引导 EFI 系统,systemd-boot 可以提供更轻松的引导管理,甚至可以减少引导时间。 在其他系统配置上,或者对于需要比 systemd-boot 提供的更大灵活性的用途,Grub 仍然是您的最佳选择。

经常问的问题

是否可以将我的 GRUB 2 系统转换为 Systemd-boot?

是的。 在大多数情况下,GRUB 和 Systemd-boot 应该能够在同一系统中共存。 这意味着您可以将使用 GRUB 的机器转换为 Systemd-boot。

重要的是要记住,安装 Systemd-boot 会因您的不同而有所不同 Linux 发行版。 然而,在大多数情况下,这将涉及以 UEFI 模式加载操作系统并运行 su && bootctl install.

BIOS 系统可以运行 Systemd-boot 吗?

是的。 仅 BIOS 系统可以通过模拟类似 UEFI 的环境来运行 Systemd-boot。 可以做到这一点的最受欢迎的程序之一是 三叶草. 这是 Hackintosh 机器的引导加载程序替代品,您可以对其进行装配 Linux 发行版。

是否可以加速 GRUB 2?

是的。 在引导期间加速 GRUB 2 的最简单方法之一是减少等待提示的时间。 你可以通过运行来做到这一点 sudo nano /etc/default/grub,然后改变 GRUB_TIMEOUT 值为 1。

另一方面,您还可以确保 GRUB 始终等待用户响应,方法是更改 GRUB_TIMEOUT 值为-1。 完成后,您需要运行 sudo update-grub 应用您的新配置。

图片来源: 不飞溅. Ramces Red 的所有更改和屏幕截图。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。

注册即表示您同意我们的 Privacy Policy 和欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。

订阅