第一代 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个分区
原文地址:http://blog.51cto.com/yueyue207/2126841