系统启动过程

王朝电脑技术·作者佚名  2006-01-14
宽屏版  字体: |||超大  

系统启动过程主要由一下几步组成(以 硬盘 启动为例):

1. 开机

2. BIOS 加电自检 ( Power On Self Test -- POST ), 内存 地址为 0ffff:0000

3. 将 硬盘 第一个扇区 (0头0道1扇区, 也就是BootSector)读入 内存 地址 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中的引导程序完成.

一般多系统引导程序 (如 SmartFDISK, BootStar, PQBoot等)都是将标准主引导记录替换成自己的引导程序, 在运行系统启动程序之前让用户选择要启动的分区.

而某些系统自带的多系统引导程序 (如 lilo, NT Loader等)则可以将自己的引导程序放在系统所处分区的第一个扇区中, 在 Linux中即为 SuperBlock (其实 SuperBlock 是两个扇区).

注: 以上各步骤中使用的是标准 MBR,其他多系统引导程序的引导过程与此不同.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有