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

xu3stones的技术博客

OS >> Virtualization >> Cloud

 
 
 

日志

 
 

Bootloader(三)还是Grub1,更多的细节  

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

  下载LOFTER 我的照片书  |
最近想把PC上的Ubuntu格掉,装个Arch玩玩。所以又一次接触到Grub1。现在PC上是双系统win7+ubuntu11.04,grub装在MBR上。有点系统知识都知道,如果直接把U格掉,那么连win7都无法正常引导了。因为stage1无法引导stage1_5或者stage2了。下面详述:

(一)GRUB引导操作系统的简要流程
   (1)BIOS 执行INT 0x19,载MBR至0x7c00并跳转执行如果你安装GRUB到MBR,GRUB的安装程序会
       把 Stage1(512B)拷贝到MBR.视Stage2的大小,安装程序会在Stage1中嵌入Stage1_5或者
       Stage2的磁盘位置信息.
   (2)Stage1开始执行,它在进行直接加载Stage1_5或者Stage2并跳转执行.不论是哪种情况,这一步
      的结果都是Stage2开始运行.
   (3)Stage2这个小型的操作系统终于开始正式运行了!它会把系统切入保护模式,设置好C运行环境
      (主要是BSS).他会先找config文件(就是我们的menulist),如果没有的话就执行一个Shell,
      等待我们输入命令.然后Grub的工作就是输入命令-解析命令-执行命令的循环,当然Stage2本身
      是为加载其他操作系统而存在的,所以如果情况允许,在他执行Boot命令以后就会把控制权转交出去.

(二)GRUB主要功能模块(上一篇博文已经讲过,这里再细化一下)
   Stage1 这是一个基本必须的用来启动GRUB的映像文件.通常,这个文件是被装载到MBR或者启动扇区所在
      的分区.由于PC的启动扇区的大小为512字节,所以这个映像文件编译以后也必须为512字节.Stage1
      的全部的工作是从本地磁盘把Stage 2或者Stage 1.5装载进来.由于对stage1大小的限制,它通
      过分程序表的形式来编码Stage 2或者Stage 1.5的位置,所以在stage1是不能识别任何文件系统
   Stage2
      这是GRUB的核心映像.它几乎做了除启动它本身以外的所有事情.通常,它被存放为某一种文件系统下,
      但并非是必须的.
   Stage1.5
      做为stage1与stage2之间的桥梁,也就是说,stage1载入stage1.5,然后stage1.5载入stage2.
      stage1与stage1.5之间的区别是,前者是不识别任何文件系统的但后者识别文件系统(例如
      'e2fs_stage1_5'识别ext2fs).所以你可以安全的移动stage2位置,即使是GRUB安装完以后.
 注: 在我的系统中.stage1被安装到了mbr,也就是硬盘第一扇区,而stage1.5被安装到了mbr以后的扇区,
     根据大小完全复制进去,并且stage1.5的类型为/boot分区的文件系统类型

(三)GRUB写法浅述
1,直接引导方式
   GRUB同时支持linux,openbsd,freebsd,netbsd等系统
   通常步骤如下:
   (1)通过'root'指令来设置GRUB的主设备指向操作系统映像文件所存储的地方
   (2)通过'kernel'命令来载入该操作系统的核心映像.如需参数,在后面添加
   (3)如果需要模块,通过'module'命令来加载模块
   (4)运行命令'boot'启动系统
  2,链式引导方式
   如果你要启动一个不被GRUB直接支持的操作系统(例如:xp),可以通过链式引导启动一个操作系统.将
   开机的指针直接指向装有该操作系统分区的bootsector(即该分区的第一扇区),使其激活.
   主要步骤如下:
   (1)通过'rootnoverify'命令设置GRUB的主设备指向一个扇区(同'root'区别是不挂入分区)
   (2)通过'makeactive'命令来设置在扇区上的'active’标志位
   (3)通过'chainloader' 命令来加载引导程序.'+1'表明GRUB需要从起始分区读一个扇区
   (4)运行命令'boot'启动系统
  评论这张
 
阅读(45)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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