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

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

什么是引导加载程序?

引导加载程序加载操作系统。 它从引导介质上的特殊扇区复制到内存,并在任何操作系统引导之前运行。 如果检测到多个可引导系统映像,引导加载程序允许用户选择要启动的系统。 然后引导加载程序启动操作系统并将硬件控制权交给操作系统。 在大多数系统上,引导加载程序出现在主板启动屏幕之后。

Grub 与 systemd-boot:什么是 Grub?

GNU GRUB,通常称为 Grub 或 GRUB 2,代表 GRü确定的 oot 接口。 它基于自由软件基金会的 多重引导规范. 它设计用于在任何硬件平台上工作,并且可以从几乎任何启动媒体和文件系统启动几乎任何 Unix 操作系统。 因为它旨在涵盖广泛的平台和发行版,所以 Grub 通常用作大多数 Linux 发行版附带的默认引导加载程序。 如果您使用过 Linux 引导加载程序,那么它可能是 Grub。 它还提供视觉配置选项,如文本、背景颜色和图形启动图像。 Ubuntu 的 Grub 版本,用于 example使用 Canonical 品牌的紫色。

Grub 支持多重引导系统并且是专门为此目的而编写的。 但是,如果出现任何问题,可能会有些棘手。 在现有的多重引导系统上安装 Grub、删除操作系统和安装新操作系统时最常出现问题。 Grub 使用一个 conf 文件,因此每个操作系统都包含在同一个文件中,该文件经过编辑以反映更改。 主操作系统的引导加载程序位于 MBR 中,而其他操作系统通过引导加载程序在它们自己的分区上进行链式加载。 这行得通,对于大多数用例来说,这绝对足够了。 但这是一个也很容易被破坏的系统。 为了 example,如果您没有正确配置链式加载内核,多个 Linux 安装最终可能会“争夺”对 MBR 的控制权。

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

Systemd 启动菜单

Linux 爱好者之前可能遇到过“systemd”这个名字。 systemd 是“系统守护程序”的缩写,是运行 Linux 系统的基本必备守护程序的集合。 Systemd-boot 是几千行代码,与 systemd 套件的其余部分没有依赖关系。 然而,由于其简单性,gummiboot 被添加到 systemd 并重命名为“systemd-boot”以匹配 systemd 的组件命名约定。 系统的 总体的目标 是通过启动更少的东西并同时启动更多的东西来快速启动系统,systemd-boot 共享这个目标。

作为纯文本引导加载程序,systemd 具有明显的老式外观。 可用的引导设备按其标题列出,在 systemd-boot 的配置文件中处理。 systemd-boot 基本上是 EFI 中包含的引导逻辑的接口,这就是为什么它只能用于兼容的 EFI 系统的原因。 与 Grub 相比,它的可配置性大大降低,基本上没有配置选项。

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

结论:Grub 或 Systemd-boot 更好吗?

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

订阅我们的新闻!

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

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅