Windows的启动过程包括如下几个阶段:html
启动自检阶段设计模式
这个阶段主要是读取 BIOS ,而后内存,CPU,硬盘,键盘等设备进行自检。这个阶段在屏幕上显示就是自检的那些打印信息。sass
屏幕显示:自检的打印信息安全
初始化启动阶段ide
这个阶段根据 BIOS 指定的启动顺序,找到能够启动的优先启动设备,好比本地磁盘,CD Driver , USB 设备等等,而后准备从这些设备启动系统。操作系统
屏幕显示:黑屏设计
Boot 加载阶段orm
这个阶段首先从启动分区(好比 C 盘) 加载 Ntldr ,而后Ntldr 作以下设置:htm
1.内置内存模式,若是是 x86 的处理器,而且操做系统是 32位,则设置为 32-bit flat memory mode,若是是 64 位操做系统 + 64位处理器,则设置为64位内存模式。接口
2.启动文件系统
3.读取 boot.ini 文件
屏幕显示:黑屏,若是按F8或者多系统时会显示启动选项菜单。
检测和配置硬件阶段
这个阶段检查和配置一些硬件设备,它们分别是:
—系统固件,好比时间和日期
—总线和适配器
—显示适配器
—键盘
—通信端口
—磁盘
—软盘
—输入设备(如鼠标)
—并口
—在ISA总线上运行的设备
屏幕显示:黑屏
内核加载阶段
在内核加载阶段,Ntldr 将首先加载Windows内核 Ntoskrnl.exe 和 硬件抽象层 (HAL). HAL 有点相似于嵌入式操做系统下的BSP(Borad support package),这个抽象层对硬件底层的特性进行隔离,对操做系统提供统一的调用接口,操做系统移植到不一样硬件时只要改变相应的 HAL 就能够,其它的内核组件不须要修改,这个是操做系统一般的设计模式。
接下来Ntldr 从HKEY_LOCAL_ MACHINESYSTEMCurrentControlSet 下读取这台机器安装的驱动程序,而后依次加载驱动程序。
驱动程序加载完成后,Windows作以下设置:
1. 建立系统环境变量
2. 启动 win32.sys ,这个是Windows子系统的内核模式部分。
3. 启动 csrss.exe,这个是Windows子系统的用户模式部分。
4. 启动 winlogon.exe
5. 建立虚拟内存页面文件
6. 对一些必要的文件进行更名,(主要是驱动文件,若是更新后,须要在下次重启前更名)
屏幕显示:显示Windows logo 界面和进度条
登陆阶段
这个阶段会作以下几件事:
1. 启动机器上安装的全部须要自动启动的Windows服务
2. 启动本地安全认证 Lsass.exe
3. 显示登陆界面
屏幕显示:显示登陆界面