Windows 引导过程 Windows 内核中的各个组件和各种机制在起作用以前,必须首先被初始化
此初始化工作是在系统引导时完成的
当用户打开计算机的电源开关时,计算机便开始运行,但操作系统并不立即获得控制权,而是BIOS 代码首先获得控制,它执行必要的硬件检测工作,并允许用户通过一些功能键来配置当前系统中的硬件设置,甚至诊断硬件问题,然后才将控制权交给操作系统
1 内核加载 在 Intel x86 系统上,Windows 操作系统获得控制首先从硬盘的主引导记录(MBR, Master Boot Record)开始,Windows Setup 程序在安装 Windows 时填充MBR(其他的磁盘管理程序也可能填充MBR)
MBR 包含代码和数据,其代码称为引导代码,在系统引导时首先获得控制;MBR 中的数据是一张分区表,指定了每个分区在磁盘上的位置和大小,以及分区的类型
当MBR 中的引导代码被执行时,它检查分区表中的每一个分区,若找到一个已被标记为可引导的分区(称为引导分区),则将该分区的第一个扇区(称为引导扇区)读到内存中
由于分区表包含了每一个分区的磁盘位置,所以,引导扇区的位置很容易被确定
然后MBR 的代码将控制权交给引导扇区中的代码
;此处代码摘自 NT4 代码的\priv ate\ntos\boot\bootcode\x 86mboot
asm relocated_org equ 0600h buildtime_org equ 0100h org_delta equ (relocated_org - buildtime_org) _data segment public assume cs:_data,ds:_data org buildtime_org ; 这段代码读出位于主引导记录末尾的分区表,找到标志为可引导的分区,把它的引导扇区拷贝到内存中并