BIOS 电脑启动过程

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

  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中的引导程序完成.
MBR的详细过程,可参见 MBR反汇编