grub的功能和组成

bootloader:引导加载器和引导程序
Linux的bootloader:
LILO:Linux Loader 早期的bootloader
GRUB:GRand Unified Bootloader,是一个来自GNU项目的多操作系统启动程序,允许用户安装多操作系统,可在计算机启动时进行选择。
GRUB的启动阶段
1:Primary boot loader:俗称第一阶段,第一阶段分为1和1.5阶段
1 st stage:利用MBR的前446字节
1.5 stage:mbr之后的扇区,让stage1中的bootloader能够识别stage2所在分区上的文件系统
secondary boot loader:第二阶段

grub的第一阶段:
grub的第一阶段是通过MBR分区的前446字节来引导系统,这446字节标记了我们的boot分区在哪。然后通过加载boot分区来引导系统启动,但是boot是一个分区,那么该分区就存在文件系统,但是系统的文件系统时放在内核里面的,结果内核又需要boot分区来启动,这就陷入一个死循环了。为了解决该问题,就需要1.5阶段
grub的1.5阶段
grub的1.5阶段是通过硬盘的前1-2047扇区里面存放的信息来加载boot所需的文件系统的
在这里插入图片描述
通过上图可以看到,系统的前2047个扇区是不属于任何分区的,因此可以利用这2047个扇区来存放例如boot所需的文件系统等内容。加载完boot分区后就进入第二阶段
第二阶段
第二阶段通过读取grub.cfg文件来加载系统内核和挂载根文件系统。grub.cfg里面定义了加载哪个内核及内核得驱动程序等
以下是CentOS6得grub.cfg文件
在这里插入图片描述
Default=0表示默认找第一个title,一个title就代表一个内核,如果有多个,可以写多个title,其实title名称就是在启动得时候让我们选择得内核菜单得名字
root(hd0,0),root代表根,但是这里的root其实是把操作系统内核所在得分区(也就是boot)认为是根,hd0,0表示第一个硬盘得第一个分区
/vmlinuz-2.6.32.754.el6.x86_64 这里表示内核文件,可以看到是个绝对路径,但是这里得/不是真正得根,其实是/boot/
ro代表得是只读
initrd 后面得文件 代表 内核配置的ramfs文件,其实这里就是加载根得文件系统
完成阶段二后,会加载核心操作系统得核心信息,并开始驱动所有的硬件设备。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值