Linux 行话克星:Linux 中的 Grub 是什么? 它是干什么用的?

如果您曾经使用过桌面 Linux 系统,那么您一定见过这个屏幕。 这称为 GRUB 屏幕。 是的,它全部用大写字母书写。

在 Linux Jargon Buster 系列的这一章中,我将告诉您 Grub 是什么以及它的用途。 我还将简要介绍配置和定制部分。

什么是GRUB?

格鲁布 是一个完整的程序,用于加载和管理引导过程。 它是 Linux 发行版最常见的引导加载程序。 引导加载程序是计算机启动时运行的第一个软件。 它加载操作系统的内核,然后内核初始化操作系统的其余部分:外壳、显示管理器、桌面环境等。

引导加载程序与引导管理器

我不想在这个阶段混淆你,但在继续之前需要介绍这个主题。 引导加载程序和引导管理器之间有一条模糊的界线。

您已经知道引导加载程序首先启动,然后将内核加载到内存中并执行它。 如果您的系统上有多个操作系统,则引导管理器程序允许您在操作系统之间进行选择。 启动管理器不直接加载操作系统,

使用 Linux 内核版本 3.3, Linux 内核包含一个内置的 EFI 引导加载程序. 事实上,任何能够工作的操作系统 EFI 系统包括一个 EFI 引导加载程序. 在支持 EFI 的系统中,固件读取 EFI 系统分区 (ESP) 以定位 EFI 文件以获取引导信息。

GRUB 既是引导加载程序又是引导管理器。 稍后我会回到 GRUB。 首先,让我们看看其他类似 GRUB 的程序。

琐事

GRUB 是缩写 GR引导程序。

Grub 屏幕中的那些行是什么意思?

您将在 Grub 屏幕上看到几行。 对于不同的设置、不同的分布,这些行会有所不同。

通常,第一行是您的 Linux 发行版。 如果你看到像高级选项这样的东西,你可以进入它并找到一些以 linux-generic-xyz 等开头的行。

当您的 Linux 发行版更新内核版本时,它至少会保留一个旧版本。 您可以选择引导到较旧的 Linux 内核,以防您的系统遇到新更新的 Linux 内核的任何问题。

您可能还会在基于 Ubuntu 的发行版中看到恢复选项。

最后,您可能会看到像系统设置或 UEFI 设置这样的条目来访问系统的 BIOS 设置。

还有哪些类似于 GRUB 的其他引导管理程序?

GRUB 是最流行的 Linux 引导管理器。 但它不是唯一的。 有高度可定制的 rEFInd 启动管理器 一些 Linux 用户喜欢。

定制的 rEFInd 启动管理器屏幕 | 形象信用

还有 systemd 引导 基于文本的启动管理器。 您可以猜到这是专门针对基于 systemd 的 Linux 发行版的。 某些发行版(例如 Pop OS)使用 systemd-boot。

访问或编辑 GRUB

您通常看到的 GRUB 屏幕是它的菜单界面。 如果您的机器上有多个操作系统,它允许您选择要启动的操作系统。 如果您的 Linux 发行版安装了多个内核,您还可以选择加载不同的内核。

根据 Linux 发行版设置的配置,您可能在 GRUB 菜单上有一些其他条目。

您可以通过按“e”键来编辑 GRUB 菜单项。 这样,您可以在加载之前更改内核参数。 例如,在某些情况下,从内核禁用图形驱动程序有助于 Linux 系统在引导时卡住。

也可以在 GRUB 菜单界面使用“c”键进入 GRUB 的命令行菜单。

GRUB 配置文件

您从菜单界面对 GRUB 所做的任何更改都是暂时的。 如果要对 GRUB 进行一些永久性更改,例如更改默认超时,可以在引导到 Linux 系统后更改配置文件。

默认的 GRUB 配置文件位于 /etc/default/grub。 还有一个 /etc/default/grub.d 目录。 您可以直接编辑 /etc/default/grub 文件,但建议通过在此目录中添加配置文件(.cfg 文件)来进行其他更改。

您必须更新 GRUB 才能使更改生效。 事实上,每当您在系统上安装额外的 Linux 时,它都会尝试用自己的配置覆盖现有的 GRUB 配置。

用于轻松定制 GRUB 的 GRUB 定制器

如果您认为在终端中使用文本编辑器编辑文件不适合您,可以使用名为 GRUB Customizer 的图形工具。

它允许您更改启动顺序、默认超时等。您还可以使用它来更改带有自定义墙纸的 GRUB 背景。

GRUB Customizer 可以从 Universe 存储库安装在 Ubuntu 20.04 中,也可以通过 Ubuntu 18.04 中的 PPA 安装。 它可以通过基于 Arch Linux 的发行版中的 AUR 获得。

结论

我已经触及了表面上的一切。 EFI、引导加载和 GRUB 本身是详细而复杂的话题,不在本文讨论范围内。 本文旨在为您提供 GRUB 引导程序的高级概述。

也许我会写一篇关于 GRUB 的详细指南,解释底层细节。 现在,如果您想了解有关 GRUB 的更多信息,可以在 Linux 终端中使用以下命令访问 GRUB 文档 info grub 命令。

我希望您现在对 GRUB 有更好的了解。 这是一个 GIF 来逗你笑。

我可能没有回答您关于 GRUB 的所有问题。 请随时在评论部分告诉我。 我可能会根据您的问题或建议更新文章。