當你按下電腦電源鍵的那一刻,Windows Vista 便啟動了一連串精密且有序的初始化流程。了解這個過程不僅能滿足好奇心,更能在系統出現啟動故障時提供關鍵的排查思路。本文將帶你逐步拆解 Vista 從通電自檢到呈現登入畫面的完整鏈路。
流程始於 加電自檢。BIOS 會檢查記憶體、CPU、硬碟等核心硬體是否正常運作。一旦 POST 通過,BIOS 便會尋找啟動裝置(通常是硬碟),並讀取其第一磁區——主開機記錄。MBR 中包含基本的開機程式碼及磁碟分割表,它的任務是定位標記為「作用中」的分割區,並將控制權移交給該分割區的開機磁區。
作用中分割區的第一磁區(開機磁區)載入 Bootmgr.exe,這就是 Windows 開機管理員。它不再像舊版 Windows 依賴 NTLDR 和 boot.ini,而是讀取 開機設定資料存放區。BCD 是一個資料庫檔案,儲存了所有安裝在電腦上的作業系統啟動參數、選單設定等資訊。Boot Manager 根據 BCD 內容產生圖形化的開機選單,讓使用者選擇要進入的系統(或是從休眠恢復)。
使用者在選單中選擇 Windows Vista 後,Boot Manager 會啟動 %SystemRoot%\System32\Winload.exe(作業系統載入器)。Winload 負責:
Ntoskrnl.exe 與硬體抽象層 hal.dll。SYSTEM 配置單元,確定需啟動的裝置驅動程式並將其載入記憶體。若選擇「從休眠恢復」,則改由 Winresume.exe 讀取休眠檔 hiberfil.sys 還原記憶體狀態,直接跳回使用者先前的工作環境。若選擇舊版 Windows(如 XP),Boot Manager 會尋找該分割區並載入 NTLDR,進而讀取 boot.ini 顯示舊式文字選單。
核心初始化完成後,會啟動 工作階段管理員 Smss.exe。Smss 執行關鍵的環境建立工作:建立系統分頁檔、載入 Win32 子系統、啟動 Csrss.exe(用戶端/伺服器執行階段子系統)與 Wininit.exe。Wininit 隨後啟動 Services.exe(服務控制管理員)與 Lsass.exe(本地安全性授權子系統)。服務控制管理員依序啟動所有設為「自動」的系統服務;Lsass 則負責處理使用者認證。當這一切就緒,Winlogon.exe 便會顯示登入畫面,等待使用者輸入帳號密碼,正式進入 Vista 桌面。
總結來看,Vista 的啟動架構採用模組化設計:BIOS → MBR → Bootmgr → BCD → Winload/Winresume → Kernel → Smss → Wininit/Services/Lsass → Winlogon。每個環節職責單一、銜接緊密,這也為後續的 Windows 7/8/10/11 奠定了基礎藍圖。