textbox

IT博客 联系 聚合 管理
  103 Posts :: 7 Stories :: 22 Comments :: 0 Trackbacks

系统引导过程主要由以下几个步骤组成(以硬盘启动为例)
1
、 开机;
2
BIOS加电自检(POST---Power On Self Test),内存地址为0fff:0000;
3
、 将硬盘第一个扇区(001扇区,也就是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 2009-11-14 16:47 零度 阅读(1296) 评论(0)  编辑 收藏 引用 所属分类: 汇编
只有注册用户登录后才能发表评论。