Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 開機與關機流程深度解析:從 NTLDR 到 Smss 的完整啟動鏈

編輯:XP 系統應用技巧

為什麼老筆電開關機慢如蝸牛?了解 Windows XP 時代的啟動架構,才能精準優化。本文拆解從 BIOS POST 到桌面顯示的完整流程,助您找出效能瓶頸。

第一階段:NTLDR 引導載入器

  1. POST → BIOS → MBR → Boot Sector → NTLDR
    CPU 從 16-bit 真實模式切換至 32-bit 保護模式,啟用分頁機制。SCSI 裝置需載入 Ntbootdd.sys,IDE 則用 INT 13h 存取。
    找不到 NTLDR 錯誤:FAT 顯示 "BOOT: Couldn't find NTLDR",NTFS 顯示 "NTLDR is missing"。
  2. 檢查休眠檔
    掃描根目錄 hiberfil.sys(大小等於實體記憶體)。若存在有效休眠映像,直接跳轉恢復桌面;否則繼續冷開機流程。
    若要刪除釋放空間:控制台 → 電源選項 → 休眠 → 取消勾選「啟用休眠」。
  3. 處理 Boot.ini
    多重開機時顯示選單;單一系統直接進入載入畫面。參數儲存於 HKLM\System\CurrentControlSet\Control\SystemStartOptions。可用 Bootcfg.exe 或記事本修改。
  4. 執行 Ntdetect.com
    偵測 CMOS 時間、總線類型、磁碟資訊、輸入裝置、並口、顯示卡等,資料寫入 HKLM\HARDWARE\DESCRIPTION。隨後顯示「Starting Windows」進度條(XP/2003 顯示 Logo)。
  5. 載入核心與 HAL
    載入 Ntoskrnl.exe 與 Hal.dll。讀取 SYSTEM 登錄結構(Windows\System32\Config\System),決定需載入的開機啟動驅動程式(SERVICE_BOOT_START = 0)。
  6. 移交控制權給 Ntoskrnl.exe,NTLDR 使命結束。

第二階段:Ntoskrnl.exe 核心初始化

分兩個子階段初始化核心資料結構、物件管理器、記憶體管理器、I/O 管理器等,最終建立 Session Manager Subsystem (Smss.exe) 進程。

第三階段:Smss.exe 會話管理器

  1. 建立 LPC 連接埠、定義 DOS 裝置符號連結(COM1、LPT1 等),若安裝 Terminal Services 建立 \Sessions 目錄。
  2. 執行 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute 定義的程式(預設 autochk 檢查磁碟)。
  3. 處理 PendingFileRenameOperations 延遲刪除/重命名操作(常用於更新替換鎖定檔案)。
  4. 載入 KnownDLLs、初始化分頁檔與登錄表。
  5. 建立系統環境變數(HKLM\System\CurrentControlSet\Session Manager\Environment)。
  6. 載入 Win32k.sys(Win32 子系統核心模組)。
  7. 建立 Csrss.exe(Win32 子系統伺服器進程)與 Winlogon.exe(登入進程)。
    任一進程異常即導致系統停止(藍畫面 0xC000021A)。

關機流程簡析

  1. 使用者點選「關機」→ Winlogon.exe 通知 Csrss.exe 開始關機序列。
  2. Csrss.exe 依序通知擁有最上層視窗的使用者模式進程結束。
  3. 終止系統服務與核心模式驅動程式。
  4. Winlogon.exe 呼叫 NtShutdownSystem 執行最後收尾(快取寫入、檔案系統卸載、ACPI 電源關閉)。
💡 優化啟動的關鍵點:
• 減少 Boot.ini 等待時間(timeout=0)
• 停用不必要的開機啟動型驅動/服務(msconfig 或 Autoruns)
• 將頁面檔移至非系統碟、固定大小
• 使用 SSD 替換機械硬碟(對 NTLDR→Smss 階段提升最大)
• BIOS 啟用 Quick Boot、關閉軟碟機偵測、設定硬碟為第一啟動裝置

結語:Windows XP 的啟動架構雖已歷史,但其核心邏輯(引導載入器 → 核心初始化 → 會話管理器 → Win32 子系統)延續至今日 Windows 10/11。理解此流程,不僅能優化老機器,更能深入掌握現代 Windows 故障診斷的基礎。

Copyright © Windows教程網 All Rights Reserved