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

深入 Windows XP:認識關鍵開機檔案 NTLDR 的運作機制

編輯:Windows XP 系統介紹

NTLDR 通常位於 C 槽根目錄,具隱藏與唯讀屬性,主要任務是解析 Boot.ini。Windows XP 開機經歷「預開機、開機、載入核心」三階段,NTLDR 在其中扮演核心角色。

1. 預開機階段

  • 執行 POST 自檢,檢測記憶體與硬體。
  • 載入硬碟第一物理磁區(MBR)至記憶體並執行。
  • MBR 尋找作用中分割區起始位置。
  • 載入並執行作用中分割區的開機磁區。
  • 從開機磁區載入並初始化 NTLDR。

2. 開機階段(四個子階段)

(1) 初始開機載入器階段

NTLDR 將 CPU 從實模式切換至 32 位元平坦記憶體模式(實模式保留 640 KB 給 DOS,其餘視為擴充記憶體;平坦模式下所有記憶體均可用),並載入微型檔案系統驅動程式,使 NTLDR 能識別 NTFS 與 FAT 分割區。

(2) 作業系統選擇階段

NTLDR 讀取 Boot.ini,若有多重開機則顯示選單,並從中取得系統檔案分割區位置。選擇 NT 核心系統則執行 NTDETECT.COM;否則載入 BOOTSECT.DOS 並移交控制權。若 Boot.ini 僅一項或 timeout=0 則不顯示選單;若檔案非法或不存在,NTLDR 嘗試從預設系統磁區開機。

小提示:若根目錄下存在有效的 Hiberfil.sys(休眠檔),NTLDR 會直接讀取其內容恢復休眠前狀態,不處理 Boot.ini。

(3) 硬體偵測階段

NTDETECT.COM 收集硬體資訊清單並回傳給 NTLDR,NTLDR 將其寫入登錄檔 HKEY_LOCAL_MACHINE\HARDWARE。

(4) 組態選擇階段

若有多組硬體設定檔則顯示選單,否則直接跳過。

3. 載入核心階段

  • 載入 NTOSKRNL.EXE 核心程式。
  • 載入硬體抽象層 HAL.dll。
  • 載入登錄檔 HKEY_LOCAL_MACHINE\SYSTEM,讀取 Select 鍵值決定載入哪個 ControlSet(包含驅動程式與服務)。
  • 載入 ControlSet 中 Start=0 的底層裝置驅動程式。
  • 當 CurrentControlSet 載入完成,NTLDR 將控制權移交 NTOSKRNL.EXE,開機流程結束。
小提示:開機時按 F8 可進入進階開機選單,NTLDR 依使用者選擇載入對應參數;也可在 Boot.ini 預設開機參數。
Copyright © Windows教程網 All Rights Reserved