linux grub是什么

来自:互联网
时间:2022-05-11
阅读:

Linux 中的 GRUB

GRUB 是一个用于加载和管理系统启动的完整程序。它是 Linux 发行版中最常见的引导加载程序(bootloader)。引导加载程序非常重要,因为没有它就无法启动操作系统。

引导程序是计算机启动时运行的第一个软件。引导加载程序将控制权转移到操作系统内核。

它加载 操作系统的内核,然后再由内核初始化操作系统的其他部分(包括 Shell、显示管理器、桌面环境 等等)。

GRUB是许多Linux发行版的默认引导程序。这是因为它比许多先前版本的引导程序更好。它的一些功能是:

  • GRUB支持LBA(逻辑块寻址模式),它将用于查找文件的寻址转换放入硬盘驱动器的固件中

  • GRUB提供了最大的灵活性,可以使用基于命令的预操作系统环境为操作系统加载所需的选项。

  • 可以使用GRUB命令行修改诸如内核参数之类的引导选项。

  • 无需为GRUB指定Linux内核的物理位置。它只需要内核的硬盘号,分区号和文件名。

  • GRUB可以使用直接加载和链式加载启动方法来启动几乎所有操作系统。

引导程序和引导管理器

我不想现在就把你搞糊涂,但是我认为这个话题是不可避免的。引导程序(boot loader)和引导管理器(boot manager)之间有着一条模糊的界限。

你已经知道了引导程序是什么。它会首先启动,然后将内核加载到内存中并执行它。引导管理器则允许你在不同的操作系统之间进行选择(如果你的电脑上不止一个操作系统的话)。引导管理器并不会直接加载系统。

随着 Linux 内核 3.3 版本的推出,Linux 内核包括了一个内置的 EFI 引导程序。事实上,任何一个支持 EFI 的系统都包括一个 EFI 引导程序。在支持 EFI 的系统中,固件会读取 EFI 系统分区(EFI System Partition)(ESP)中的 EFI 文件,从而获得启动信息。

这里插入一张图片,图中显示了带有 ESP 分区的分区表:

linux grub是什么

GRUB 既是一个引导程序,也是一个引导管理器。一会儿我再来谈 GRUB。让我们先看看其他类似 GRUB 的程序。

小知识:GRUB 是 GRand Unified Bootloader(大一统引导程序) 的首字母缩写。

GRUB 屏幕上的那些行是什么意思?

你会在 GRUB 屏幕上看到几行字。这些行对于不同的设置、不同的发行版会有所不同。

通常情况下,第一行是你的 Linux 发行版。如果你看到类似高级选项的东西,你可以进入其中,找到一些以 “linux-generic-x-y-z” 等开头的行。

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

在基于 Ubuntu 的发行版中,你也可以看到一个恢复选项。

linux grub是什么

在最后,你可能会看到一个条目,如系统设置或 UEFI 设置,以访问系统的 BIOS 设置。

还有哪些类似 GRUB 的引导管理器?

GRUB 是 Linux 中最流行的引导管理器。但它并不是唯一的一个。有一个高度可定制的引导管理器,名字叫做 rEFInd 引导管理器,它同样受到了一些 Linux 用户的喜爱。

linux grub是什么

还有一个基于文本的引导管理器,名字叫做 systemd-boot。你可以猜到这是专为基于 systemd 的 Linux 发行版准备的。有一些发行版正在使用 systemd-boot,比如 Pop OS。

linux grub是什么

访问或编辑 GRUB

通常你看到的 GRUB 屏幕是它的菜单界面。如果你安装了一个以上的操作系统,它会允许你在其中选择一个来启动。如果你的 Linux 发行版安装了不止一个内核,你也可以选择加载不同的内核。

根据不同的 Linux 发行版的配置,你的 GRUB 菜单上可能会有一些其他选项。

你可以在 GRUB 菜单界面按 e 键来编辑菜单项。这样你就可以在内核加载前修改它的参数。例如,在某些情况下,禁用内核提供的图形驱动可以帮助你解决 Linux 系统在启动时卡住的问题。

linux grub是什么

你也可以在 GRUB 菜单界面上按 c 键来进入 GRUB 的命令行菜单。

GRUB 配置文件

你在菜单界面里对 GRUB 所做的任何改变都是暂时的。如果你想对 GRUB 做一些永久性的改变,比如改变默认的超时时间,你可以在 Linux 系统启动后修改 GRUB 配置文件。

默认的 GRUB 配置文件是 /etc/default/grub。还有一个 /etc/default/grub.d 目录,里面也存放一些配置。你可以直接编辑 /etc/default/grub 文件,但是我还是建议通过在这个目录中添加配置文件(.cfg 文件)进行额外的修改。

linux grub是什么

你必须 更新 GRUB 才能使这些修改生效。

使用 GRUB 定制器来定制 GRUB

如果你不太习惯 在终端里使用文本编辑器编辑文件,你可以 使用一个叫做 GRUB 定制器的图形工具。

它允许你改变启动顺序、默认超时时间等等。你还可以用它来把 GRUB 的背景设置成一张自定义的墙纸。

linux grub是什么

GRUB 定制器可以在 Ubuntu 20.04 中从 Universe 仓库安装,在 Ubuntu 18.04 中 通过 PPA 安装。它可以 通过 AUR 在基于 Arch Linux 的发行版中使用。

返回顶部
顶部