MBR启动流程

开机启动流程

  1. 开机
  2. BIOS加电自检(POST--Power On Self Test),内存地址为0fff:0000
  3. 将硬盘第一扇区(0头0道1扇区,即Boot Sector)读入内存地址0000:7c00
  4. 检查(word)0000:7dfe是否等于0xaa55。若不等于则转去尝试其他介质;如果没有其它介质,则显示“No ROM BASIC”,然后死机
  5. 跳转到0000:7c00处执行MBR中的程序
  6. MBR先将自己复制到0000:0600处,然后继续执行
  7. 在主分区表中搜索标志为活动的分区,如果发现没有活动分区或者不止一个活动分区,则停止
  8. 将活动分区的第一个扇区读入内存地址0000:7c00
  9. 检查(word)0000:7dfe是否等于0xaa55,若不等于则显示 “Missing Operating System”,然后停止,或尝试软盘启动;
  10. 跳转到0000:7c00处继续执行特定系统的启动程序
  11. 启动系统

以上步骤中(2),(3),(4),(5)步由BIOS的引导程序完成;(6),(7),(8),(9),(10)步由MBR中的引导程序完成.
一般多系统引导程序(如Smart Boot Manager, BootStar, PQBoot等)都是将标准主引导记录替换成自己的引导程序,在运行系统启动程序之前让用户选择想要启动的分区.而某些系统自带的多系统引导程序(如 LILO,NT Loader等)则可以将自己的引导程序放在系统所处分区的第一个扇区中,在Linux中即为两个扇区的SuperBlock. 注:以上步骤中使用的是标准的MBR,多系统引导程序的引导过程与此不同.





posted on 2014-11-12 11:25  joy.zhuang  阅读(973)  评论(0编辑  收藏  举报

导航