Windows的啟動(dòng)
Windows的啟動(dòng)不是只有開(kāi)電源,按個(gè)按鍵這么簡(jiǎn)單,其實(shí)Windows的啟動(dòng)的過(guò)程包括以下幾個(gè)階段:
Windows啟動(dòng)自檢階段
這個(gè)階段主要是讀取 BIOS ,然后內(nèi)存,CPU,硬盤(pán),鍵盤(pán)等設(shè)備進(jìn)行自檢。這個(gè)階段在屏幕上顯示就是自檢的那些打印信息。
屏幕顯示:自檢的打印信息
Windows初始化啟動(dòng)階段
這個(gè)階段根據(jù) BIOS 指定的啟動(dòng)順序,找到可以啟動(dòng)的優(yōu)先啟動(dòng)設(shè)備,比如本地磁盤(pán),CD Driver , USB 設(shè)備等等,然后準(zhǔn)備從這些設(shè)備啟動(dòng)系統(tǒng)。
屏幕顯示:黑屏
WindowsBoot 加載階段
這個(gè)階段首先從啟動(dòng)分區(qū)(比如 C 盤(pán)) 加載 Ntldr ,然后Ntldr 做如下設(shè)置:
1.內(nèi)置內(nèi)存模式,如果是 x86 的處理器,并且操作系統(tǒng)是 32位,則設(shè)置為 32-bit flat memory mode,如果是 64 位操作系統(tǒng) + 64位處理器,則設(shè)置為64位內(nèi)存模式。
2.啟動(dòng)文件系統(tǒng)
3.讀取 boot.ini 文件
屏幕顯示:黑屏,如果按F8或者多系統(tǒng)時(shí)會(huì)顯示啟動(dòng)選項(xiàng)菜單。
Windows檢測(cè)和配置硬件階段
這個(gè)階段檢查和配置一些硬件設(shè)備,它們分別是:
—系統(tǒng)固件,比如時(shí)間和日期
—總線和適配器
—顯示適配器
—鍵盤(pán)
—通訊端口
—磁盤(pán)
—軟盤(pán)
—輸入設(shè)備(如鼠標(biāo))
—并口
—在ISA總線上運(yùn)行的設(shè)備
屏幕顯示:黑屏
Windows內(nèi)核加載階段
在內(nèi)核加載階段,Ntldr 將首先加載Windows內(nèi)核 Ntoskrnl.exe 和 硬件抽象層 (HAL). HAL 有點(diǎn)類似于嵌入式操作系統(tǒng)下的BSP(Borad support package),這個(gè)抽象層對(duì)硬件底層的特性進(jìn)行隔離,對(duì)操作系統(tǒng)提供統(tǒng)一的調(diào)用接口,操作系統(tǒng)移植到不同硬件時(shí)只要改變相應(yīng)的 HAL 就可以,其它的內(nèi)核組件不需要修改,這個(gè)是操作系統(tǒng)通常的設(shè)計(jì)模式。
接下來(lái)Ntldr 從HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet 下讀取這臺(tái)機(jī)器安裝的驅(qū)動(dòng)程序,然后依次加載驅(qū)動(dòng)程序。
驅(qū)動(dòng)程序加載完成后,Windows做如下設(shè)置:
1. 創(chuàng)建系統(tǒng)環(huán)境變量
2. 啟動(dòng) win32.sys ,這個(gè)是Windows子系統(tǒng)的內(nèi)核模式部分。
3. 啟動(dòng) csrss.exe,這個(gè)是Windows子系統(tǒng)的用戶模式部分。
4. 啟動(dòng) winlogon.exe
5. 創(chuàng)建虛擬內(nèi)存頁(yè)面文件
6. 對(duì)一些必要的文件進(jìn)行改名,(主要是驅(qū)動(dòng)文件,如果更新后,需要在下次重啟前改名)
屏幕顯示:顯示W(wǎng)indows logo 界面和進(jìn)度條
Windows登錄階段
這個(gè)階段會(huì)做如下幾件事:
1. 啟動(dòng)機(jī)器上安裝的所有需要自動(dòng)啟動(dòng)的Windows服務(wù)
2. 啟動(dòng)本地安全認(rèn)證 Lsass.exe
3. 顯示登錄界面
屏幕顯示:顯示登錄界面