发信人: micheal (平凡的世界), 信区: cnlinux
标  题: HardDisk,Partition,Boot,OSLoader专题(2)
发信站: 哈工大紫丁香 (Wed Jan 12 09:53:01 2000), 转信

发信人: suzhe (I Love Linux), 信区: Linux       
发信站: BBS 水木清华站 (Sun Nov 21 16:50:57 1999)

三. 系统启动过程简介

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

    1. 开机 :-)
    2. BIOS 加电自检 ( Power On Self Test -- POST )
       内存地址为 0ffff: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中的引导程序完成.    
    
    一般多系统引导程序 (如 SmartFDISK, BootStar, PQBoot 等)
都是将标准主引导记录替换成自己的引导程序, 在运行系统启动程序    
之前让用户选择要启动的分区.    
    而某些系统自带的多系统引导程序 (如 lilo, NT Loader 等)
则可以将自己的引导程序放在系统所处分区的第一个扇区中, 在 Linux    
中即为 SuperBlock (其实 SuperBlock 是两个扇区).    

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

(未完 待续)

--

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sillystone.bbs@smth.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.372毫秒