Linux的GRUB基本概念

GRUB的全称是 Grand Unified Bootloader

第一代 grub0.x grub legacy 传统grub

第二代 grub1.x grub2

第二代与第一代在代码上没有任何关系,第二代grub是完全重写的。

grub legacy

第1阶段:运行一段代码,这段代码占用了引导启动器的代码位置

第1.5阶段:运行一段代码,这段代码在bootloader之后的27个扇区中,这个阶段中的代码可以说是磁盘的驱动程序,为了可以让第一阶段的程序可以加载第二阶段代码(第二阶段代码存放于磁盘上)。

第2阶段:第1阶段程序成功加载了第2阶段的grub程序脚本后执行grub程序并且加载kernel程序。grub的配置文件存在于/boot/grub/grub.conf或者/boot/grub2/grub.cfg中

注意:/boot分区必须存放与基本磁盘分区上

客户在启动系统的时候可以选择启动内核文件,这个程序就是grub程序。

功能:

1、提供菜单,并提供交互式接口

     e:编辑模式 用于编辑菜单

     c:进入命令行模式,也可以叫做进入grub系统

2、加载用户选择的内核或操作系统

      允许用户传递参数给内核

      可隐藏此菜单

3、为菜单提供保护机制

     为编辑菜单进行认证

     为启动内核或操作系统进行认证

grub如何识别设备

boot分区可以单独分区,也可以是根文件系统下的一个目录。最核心的思想是,boot必须在一个基本分区上。

grub legacy版本使用(hdN,M)标识分区,第N个磁盘的第M个分区



猜你喜欢

转载自blog.51cto.com/yueyue207/2126841