Windows XP 開機流程!



1、預引導(Pre-Boot)階段

2、引導階段

3、加載內核階段

4、初始化內核階段

5、登陸

一、預引導階段 在按下計算機電源使計算機啟動,

並且在Windows XP操作系統啟動之前這段時間,

我們稱之為預引導(Pre-Boot)階段,

在這個階段裡,計算機首先運行Power On Self TestPOST),

POST檢測系統的總內存以及其他硬件設備的現狀。

如果計算機系統的BIOS(基礎輸入/輸出系統)是即插即用的,

那麼計算機硬件設備將經過檢驗以及完成配置。

計算機的基礎輸入/輸出系統(BIOS)定位計算機的引導設備,

然後MBR(Master Boot Record)被加載並運行。

在預引導階段,計算機要加載Windows XPNTLDR文件。


二、引導階段 Windows XP Professional引導階段包含4個小的階段。

首先,計算機要經過初始引導加載器階段(Initial Boot Loader),

在這個階段裡,NTLDR將計算機微處理器從實模式轉換為32位平面內存模式。

在實模式中,系統為MS-DOS保留640kb內存,其餘內存視為擴展內存,

而在32位平面內存模式中,系統(Windows XP Professional)視所有內存為可用內存。

接著,NTLDR啟動內建的mini-file system drivers

通過這個步驟,使NTLDR可以識別每一個用NTFS或者FAT文件系統格式化的分區,

以便發現以及加載Windows XP Professional

到這裡,初始引導加載器階段就結束了。

接著系統來到了操作系統選擇階段,

如果計算機安裝了不止一個操作系統(也就是多系統),

而且正確設置了boot.ini使系統提供操作系統選擇的條件下,

計算機顯示器會顯示一個操作系統選單,

這是NTLDR讀取boot.ini的結果。


三、加載內核階段 在加載內核階段,ntldr加載稱為Windows XP內核的ntokrnl.exe

系統加載了Windows XP內核但是沒有將它初始化。

接著ntldr加載硬件抽象層(HALhal.dll),然後,

系統繼續加載HKEY_LOCAL_MACHINE\system鍵,

NTLDR讀取select鍵來決定哪一個Control Set將被加載。

控制集中包含設備的驅動程序以及需要加載的服務。

NTLDR加載HKEY_LOCAL_MACHINE\system\service\...start鍵值為0的最底層設備驅動。

當作為Control Set的鏡像的Current Control Set被加載時,

ntldr傳遞控制給內核,初始化內核階段就開始了。


四、初始化內核階段 在初始化內核階段開始的時候,

彩色的Windows XPlogo以及進度條顯示在屏幕中央,

在這個階段,系統完成了啟動的4項任務:

內核使用在硬件檢測時收集到的數據來創建了HKEY_LOCAL_MACHINE\HARDWARE鍵。

內核通過引用HKEY_LOCAL_MACHINE\system\Current的默認值複製Control Set來創建了Clone Control Set

Clone Control Set配置是計算機數據的備份,不包括啟動中的改變,也不會被修改。

系統完成初始化以及加載設備驅動程序,內核初始化那些在加載內核階段被加載的底層驅動程序,

然後內核掃瞄HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...start鍵值為1的設備驅動程序。

這些設備驅動程序在加載的時候便完成初始化,如果有錯誤發生,內核使用ErrorControl鍵值來決定如何處理,

值為3時,錯誤標誌為危機/關鍵,系統初次遇到錯誤會以LastKnownGood Control Set重新啟動,

如果使用LastKnownGood Control Set啟動仍然產生錯誤,系統報告啟動失敗,錯誤信息將被顯示,

系統停止啟動;值為2時錯誤情況為嚴重,系統啟動失敗並且以LastKnownGood Control Set重新啟動,

如果系統啟動已經在使用LastKnownGood值,它會忽略錯誤並且繼續啟動;

當值是1的時候錯誤為普通,系統會產生一個錯誤信息,

但是仍然會忽略這個錯誤並且繼續啟動;當值是0的時候忽略,系統不會顯示任何錯誤信息而繼續運行

Session Manager啟動了Windows XP高級子系統以及服務,

Session Manager啟動控制所有輸入、輸出設備以及訪問顯示器屏幕的Win32子系統以及Winlogon進程,

初始化內核完畢。


五、登陸 Winlogon.exe啟動Local Security Authority

同時Windows XP Professional歡迎屏幕或者登陸對話框顯示,

這時候,系統還可能在後台繼續初始化剛才沒有完成的驅動程序。

提示輸入有效的用戶名或密碼。

Service Controller最後執行以及掃瞄HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives來檢查是否還有服務需要加載,

Service Controller查找start鍵值為2或更高的服務,

服務按照start的值以及DependOnGroupDepandOnService的值來加載。

只有用戶成功登陸到計算機後,Windows XP的啟動才被認為是完成,

在成功登陸後,系統拷貝Clone Control SetLastKnownGood Control Set,完成這一步驟後,

系統才意味著已經成功引導了


轉貼至網路

0 意見: