按下電源鍵到進入桌面,XP 經歷五大階段:
五大階段概覽
- 預引導
- 引導
- 載入核心
- 核心初始化
- 登入
詳細說明
a) 預引導階段
- POST 自檢:檢測記憶體、硬體狀態。
- PnP BIOS 驗證/配置裝置。
- BIOS 定位開機裝置,載入 MBR。
- 載入
NTLDR。
b) 引導階段(四子階段)
- 初始引導載入器: NTLDR 將 CPU 從真實模式切換至 32 位元平坦記憶體模式(全域記憶體可用),啟動內建 mini 檔案系統驅動,識別 NTFS/FAT 分區以載入 XP。
- 作業系統選擇: 讀取
boot.ini 顯示多重開機選單(若 timeout=0 或單一系統則略過)。
boot.ini 關鍵參數:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS → 控制器/磁碟/分區/系統目錄。
- 硬體偵測:
ntdetect.com 收集硬體清單回傳 NTLDR,寫入 HKLM\HARDWARE。
- 配置選擇: 多重硬體設定檔時顯示選單,單一則直接用預設。
引導階段用到檔案:NTLDR、Boot.ini、ntdetect.com、ntoskrnl.exe、Ntbootdd.sys、bootsect.dos(選用)。
c) 載入核心階段
- NTLDR 載入核心
ntoskrnl.exe(尚未初始化)。
- 載入硬體抽象層
hal.dll。
- 讀取
HKLM\SYSTEM\Select 決定載入哪組 Control Set(含驅動與服務)。
- 載入 Start=0 的底層驅動。
- Current Control Set 載入完成,控制權移交核心,進入初始化階段。
d) 核心初始化階段(顯示 XP Logo 與進度條)
完成四大任務:
- 用硬體偵測資料建立
HKLM\HARDWARE。
- 建立 Clone Control Set(Current Control Set 鏡像,作為 LastKnownGood 備份基礎)。
- 初始化裝置驅動:
Start=1 驅動載入並初始化。
錯誤處理由 ErrorControl 決定:
3=嚴重/關鍵 → 用 LastKnownGood 重開機,仍失敗則停止;
2=嚴重 → 失敗用 LastKnownGood 重開,已用 LastKnownGood 則忽略繼續;
1=一般 → 記錄錯誤繼續;
0=忽略 → 無訊息繼續。
- Session Manager 啟動 Win32 子系統(控制輸入輸出/螢幕存取)與 Winlogon 進程。
e) 登入階段
Winlogon.exe 啟動 LSA,顯示歡迎畫面/登入對話框(背景可能仍在初始化驅動)。
- 提示輸入帳號密碼。
- 服務控制器掃描
HKLM\SYSTEM\CurrentControlSet\Services,啟動 Start≥2 的服務(依相依群組/服務順序)。
只有使用者成功登入,開機才算完成。 登入後系統複製 Clone Control Set 到 LastKnownGood Control Set,代表開機成功。