Windows启动原理

Windows的启动过程极其额复杂。以Windows XP为例,它过程的启动大致分为5个步骤。

1 预启动:首先电脑通电自检,并由BIOS(基本输入输出系统)扫描硬件并完成基本硬件配置,然后读取硬盘的MBR(主引导记录)检查硬盘分区表(DPT),自检后,DPT把系统的控制权交给硬盘的第一个分区PBRPartion Boot Record),XPPBR会去找这个分区的NTLDR,并将引导分区上的操操作作系统引导扇区调入内存中执行,此处执行NTLDR(操作系统加载器)文件。

2 启动:首先进行初始化,NTLDR会把处理器从实模式转换为32位保护模式。然后读取BOOT.INI文件。

3 装在内核:引导过程开始装在XP内核NTOSKRNL.EXE。这个文件位于Windows XP安装文件下的SYSTEM32文件夹中。随后硬件的抽象层(HAL)被引导进程加载,完成本步骤。

4 初始化内核:内核完成初始化,NTLDR将控制权转交Windows XP服务。

5 用户登录后,XP会继续配置网络设备和用户环境。最后,伴随系统的开机音乐声和熟悉的桌面,Windows XP漫长的启动过程终于完成。

整个启动过程如图1所示

Windows启动原理_第1张图片

 

Windows Vista/7的引导过程有所不同。首先是PBR不同,Vista/7PBR不再找NTLDR,而是找bootmgr,这个文件也是保存在硬盘的第一个分区的根目录下。之后bootmgr去找路径下的\boot\BCD.BCD这个文件实际上是一个注册表文件,里面的数据保存了为系统的引导信息,如果是多系统引导,会提供引导的界面内容。如果是单Viata/7系统,控制权会交给winload.exe,之后再去找ntoskrnl.exe。然后启动Vista/7系统了,如图2所示

Windows启动原理_第2张图片

 

你可能感兴趣的:(操作系统)