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. 顯示登陸界面
屏幕顯示:顯示登陸界面