究竟怎麼開機的,Windows啓動順序詳解

Windows的啓動過程包括以下幾個階段:

啓動自檢階段

這個階段主要是讀取 BIOS ,然後內存,CPU,硬盤,鍵盤等設備進行自檢。這個階段在屏幕上顯示就是自檢的那些打印信息。

屏幕顯示:自檢的打印信息

初始化啓動階段

這個階段根據 BIOS 指定的啓動順序,找到可以啓動的優先啓動設備,比如本地磁盤,CD Driver , USB 設備等等,然後準備從這些設備啓動系統。

屏幕顯示:黑屏

Boot 加載階段

這個階段首先從啓動分區(比如 C 盤) 加載 Ntldr ,然後Ntldr 做如下設置:

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_ MACHINE\SYSTEM\CurrentControlSet 下讀取這臺機器安裝的驅動程序,然後依次加載驅動程序。

驅動程序加載完成後,Windows做如下設置:

1. 創建系統環境變量

2. 啓動 win32.sys ,這個是Windows子系統的內核模式部分。

3. 啓動 csrss.exe,這個是Windows子系統的用戶模式部分。

4. 啓動 winlogon.exe

5. 創建虛擬內存頁面文件

6. 對一些必要的文件進行改名,(主要是驅動文件,如果更新後,需要在下次重啓前改名)

 

屏幕顯示:顯示Windows logo 界面和進度條

登錄階段

這個階段會做如下幾件事:

1. 啓動機器上安裝的所有需要自動啓動的Windows服務

2. 啓動本地安全認證 Lsass.exe

3. 顯示登錄界面

屏幕顯示:顯示登錄界面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章