理解 Windows XP Professional 在 x86 架構上的開機流程,不僅有助於系統管理員快速定位啟動故障,更能建立完整的作業系統啟動心智模型。本文依微軟官方技術文件與 MCSE 教材,將開機過程劃分為五大階段,逐層剖析關鍵檔案、登錄機制與核心元件互動。
Power Good 訊號。NTLDR 專用啟動程式) 將 NTLDR 從作用分區根目錄載入記憶體並移交控制權。[boot loader] 區段 timeout>0 且存在多個 [operating systems] 項目,顯示選單;否則直接啟動 default 指定項目。[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0) = IDE/SCSI 控制器編號;disk(0)rdisk(0) = 磁碟編號;partition(x) = 分區編號 (從 1 起算)。HKLM\HARDWARE。NTLDR、BOOT.INI、NTDETECT.COM、NTOSKRNL.EXE、HAL.DLL、NTBOOTDD.SYS (SCSI 開機時)、BOOTSECT.DOS (多重開機 DOS 區)。
HKLM\SYSTEM\Select 判斷要使用哪一組 Control Set (預設 Current 指向)。Services 子機碼 → 每項服務/驅動的 Start 值 (0=啟動型、1=系統型、2=自動、3=手動、4=停用)。Start=0 (Boot Start) 的驅動程式映像至記憶體 (如磁碟類別驅動、檔案系統驅動)。KiSystemStartup,核心初始化階段開始。畫面顯示 Windows XP 啟動畫面與進度條,核心執行四大任務:
Clone,作為「最後已知優良配置」基準,不含本次啟動變更。Start=0 驅動 (已載入) → 掃描 Start=1 (System Start) 驅動並載入初始化。ErrorControl 決定失敗處理:0=Ignore、1=Normal (記錄錯誤繼續)、2=Severe (切換 LastKnownGood 重啟)、3=Critical (首次切換 LKG 重啟,再失敗則停機藍畫面)。HKLM\SYSTEM\CurrentControlSet\Services,啟動 Start=2 (自動) 及更高值的服務,依 DependOnService/DependOnGroup 解析相依順序。| 階段 | 關鍵檔案 | 關鍵登錄路徑 |
|---|---|---|
| 預啟動 | NTLDR, MBR, PBR | — |
| 引導 | BOOT.INI, NTDETECT.COM | — |
| 核心載入 | NTOSKRNL.EXE, HAL.DLL | HKLM\SYSTEM\Select, HKLM\SYSTEM\CurrentControlSet\Services |
| 核心初始化 | SMSS.EXE, CSRSS.EXE, WINLOGON.EXE | HKLM\HARDWARE, HKLM\SYSTEM\Clone, HKLM\SYSTEM\CurrentControlSet\Services (ErrorControl) |
| 登入 | LSASS.EXE, SERVICES.EXE | HKLM\SYSTEM\CurrentControlSet\Services (Start=2), HKLM\SYSTEM\LastKnownGood |
Windows XP 開機是嚴密協同的多階段流程:從 BIOS/NTLDR 的 16→32 位元轉換、BOOT.INI 選單、NTDETECT 硬體枚舉,到核心載入驅動、建立登錄鏡像、Session Manager 啟動子系統,最後 Winlogon/LSA 驗證身分、SCM 啟動服務、寫入 LastKnownGood。熟悉各階段職責與關鍵檔案,遇到開機掛住、藍畫面、服務啟動失敗時,即可依現象快速鎖定階段,事半功倍。