Linux中的GRUB是什么?


GRUB(Grand Unified Bootloader,大一统引导加载程序)是GNU项目提供的引导加载程序。引导加载程序非常重要,因为没有它就无法启动操作系统。它是系统启动时运行的第一个程序。引导加载程序将控制权转移到操作系统内核。

GRUB功能

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

  • GRUB支持LBA(逻辑块寻址模式),它将用于查找文件的寻址转换放入硬盘的固件中。
  • GRUB在基于命令的、操作系统之前的环境中,提供了加载操作系统及其所需选项的最大灵活性。
  • 可以使用GRUB命令行修改内核参数等引导选项。
  • GRUB不需要指定Linux内核的物理位置。它只需要硬盘号、分区号和内核文件名。
  • GRUB可以使用直接和链式加载引导方法启动几乎任何操作系统。

GRUB安装过程

GRUB安装后会自动成为默认加载程序。安装GRUB时会遵循以下步骤:

  • 务必使用最新的GRUB软件包来安装GRUB。或者使用安装光盘中的GRUB软件包。
  • 打开root shell提示符,并在安装GRUB软件包后运行命令 /sbin/grub-install 。命令中的是应安装GRUB第一阶段引导加载程序的位置。
  • 完成所有这些操作后,系统启动时,在内核加载到内存之前,会出现GRUB图形化引导加载程序菜单。

GRUB引导过程

使用GRUB的引导过程需要GRUB将自身加载到内存中。这是通过以下步骤完成的:

  • BIOS将第一阶段引导加载程序加载到内存中。此引导加载程序也称为主引导加载程序。它存在于主引导记录中512字节或更小的磁盘空间内。如果需要,主引导加载程序可以加载1.5阶段或2阶段引导加载程序。
  • 如果需要,第一阶段引导加载程序会将1.5阶段引导加载程序加载到内存中。在某些情况下,这可能是必要的,因为某些硬件需要一个中间步骤才能继续到第二阶段加载程序。
  • 第二阶段引导加载程序也称为第二阶段引导加载程序,它可以由主引导加载程序加载到内存中。GRUB菜单和命令环境的显示是由第二阶段引导加载程序执行的功能。这允许用户查看系统参数并选择要启动的操作系统。
  • 第二阶段引导加载程序将操作系统或内核加载到内存中。之后,机器的控制权将转移到操作系统。

GRUB接口

GRUB有三个接口,它们都提供不同级别的功能。用户可以借助这些接口启动Linux内核。接口的详细信息如下:

菜单接口

安装程序在菜单接口中配置GRUB。这是可用的默认接口。它包含按名称排序的操作系统或内核列表。可以使用方向键选择特定的操作系统或内核,并可以使用Enter键启动它。

菜单项编辑器接口

引导加载程序菜单中的“e”键用于访问菜单项编辑器。那里将显示特定菜单项的所有GRUB命令,可以在加载操作系统之前更改这些命令。

命令行接口

此接口是最基本的GRUB接口,但它为用户提供了最多的控制权。使用命令行接口,可以通过键入任何命令然后按Enter键来执行它。此接口还具有一些高级shell功能。

更新于:2019年7月30日

浏览量 10K+

启动你的职业生涯

通过完成课程获得认证

开始学习
广告