1. 前言
本文主要讲解Linux 原生的启动引导程序GRUB的原理及功能。
grub如何引导操作系统的启动
2. 什么是grub
GRUB(Grand Unified Bootloader)是GNU项目提供的引导加载程序。引导程序非常重要,因为没有它就无法启动操作系统。它是第一个在程序打开时启动的程序。引导加载程序将控件传输到操作系统内核。
什么是grub
3. GRUB特性
GRUB是许多Linux发行版的默认引导加载程序。这是因为它比许多以前版本的引导程序更好。它的一些功能是:
- GRUB支持LBA(逻辑块寻址模式),它将用于查找文件的寻址转换放入硬盘驱动器的固件中
- GRUB使用基于命令的预操作系统环境,为使用所需选项加载操作系统提供了较大的灵活性。
- 可以使用GRUB命令行修改引导选项(如内核参数)。
- 无需为GRUB指定Linux内核的物理位置。它只需要内核的硬盘号,分区号和文件名。
- GRUB几乎可以使用直接和链式加载引导方法启动任何操作系统。
grub用于引导硬盘中的操作系统
4. GRUB安装过程
安装后GRUB自动成为默认加载器。按照以下步骤安装GRUB
- 使用新的GRUB软件包来安装GRUB非常重要。或者使用安装CD-ROM中的GRUB包。
- 打开root shell提示符,并在安装GRUB软件包后运行命令/ sbin / grub-install。命令中的位置是- - 应安装GRUB stage 1引导加载程序的位置。
- 完成所有这些操作后,GRUB图形引导加载程序菜单会在系统引导时内核加载到内存之前出现。
GRUB安装过程
5. grub启动过程
使用GRUB的引导过程需要GRUB将自身加载到内存中。这是通过以下步骤完成的:
- 第1阶段引导加载程序由BIOS加载到内存中。此引导加载程序也称为主引导加载程序。它存在于主引导记录中512字节或更少的磁盘空间中。如果需要,主引导加载程序可以加载阶段1.5或阶段2引导加载程序。
- 如果需要,阶段1引导加载程序将阶段1.5引导加载程序加载到内存中。在某些情况下,这可能是必要的,因为某些硬件在进入第2阶段加载器之前需要中间步骤。
- 辅助引导加载程序也称为第2阶段引导加载程序,它可以由主引导加载程序加载到内存中。 GRUB菜单和命令环境的显示是辅助引导加载程序执行的功能。这允许用户查看系统参数并选择要引导的操作系统。
- 操作系统或内核由辅助引导加载程序加载到内存中。之后,机器的控制权转移到操作系统。
grub启动过程
6. grub接口
GRUB中有三个接口,它们都提供不同级别的功能。用户可以借助这些接口启动Linux内核。有关接口的详细信息如下:
6.1 菜单界面
GRUB由菜单界面中的安装程序配置。它是可用的默认界面。它包含按名称排序的操作系统或内核列表。可以使用箭头键选择特定的操作系统或内核,并可以使用回车键启动它。
6.2 菜单入口编辑界面
引导加载程序菜单中的e键用于访问菜单项编辑器。在那里显示特定菜单条目的所有GRUB命令,并且可以在加载操作系统之前更改这些命令。
grub引导程序启动系统中的操作系统
6.3 命令行界面
此接口是最基本的GRUB接口,但它为用户授予很大的控制权。使用命令行界面,可以通过键入命令然后按Enter键来执行任何命令。此界面还具有一些高级shell功能。