注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xu3stones的技术博客

OS >> Virtualization >> Cloud

 
 
 

日志

 
 

Bootloader(二)Grub1的stage1、stage1.5、stage2  

2012-11-30 21:47:47|  分类: OS入门知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一块硬盘,有一个主引导记录,就是0面0道1扇区,又称MBR。此后硬盘最多可以分成4个主分区,也可以把其中的一个主分区变成扩展分区,进而分成若干个逻辑分区(可以看我以前的关于硬盘的博文)。其中每一个分区又有自己的引导扇区,虽然名字不叫MBR,但是作用是一样的,不同的是,MBR是由BIOS自动装载到内存中并CPU跳转过去执行的,而普通分区上的引导扇区,需要MBR中的引导程序去装载并提交控制权。
      了解了上面的知识,我就可以告诉你,grub既可以装到MBR中,也可以装到任意分区的引导扇区上,所以一台电脑上可以装多个grub。grub1(最近grub第二代已经推出,机制改变了)由三段程序组成:stage1、stage1.5、stage2。如果你装的是grub1,可以进入/boot/grub目录看一看。
安装grub时stage1和stage2是必装的,而stage1.5是可选的,下文详述。
stage1:/boot/grub中的stage1文件大小为512b,它是引导扇区中引导程序(前446字节为引导程序)的备份文件,功能是用来装载    stage1.5或stage2的。

stage1.5:因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2,根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。stage1_5并不大,我的系统上的几个stage1_5大小分别如下:
8.5K grub/e2fs_stage1_5
8.4K grub/fat_stage1_5
9.4K grub/jfs_stage1_5
7.8K grub/minix_stage1_5
11K  grub/reiserfs_stage1_5
11K  grub/xfs_stage1_5
但是,当stage1加载1.5时,原则上是不认识ext文件系统的,应该也是无法找到1.5程序的,而实际上在安装grub时,程序已经把1.5程序写到硬盘最前面的32K中,因为紧连着MBR的一段硬盘空间通常是空白无用的,grub就把1.5程序写到这个地方,这个地方没有文件系统,stage1程序可以直接去加载1.5。

stage2:grub能让用户以选项方式将OS加载、改变参数、修改选项,这些全都是stage2程序的功能。stage2可以去获取grub.conf以及menu.lst等文件的内容。

在grub中硬盘编号从0开始,比如(hd0,0)表示第一块硬盘的第一个分区,主分区从(hd0,0)-(hd0,3),(hd0,4)以后都是逻辑分区。
  评论这张
 
阅读(172)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017