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

Windows 2000 開機流程完整解析:從 MBR、NTLDR 到核心初始化的逐階段詳細說明

編輯:Windows Server 教學

安裝階段奠定開機基礎

Windows 2000 開機流程在安裝時已埋下伏筆。Setup 程式執行時:

  • 寫入 MBR(主開機記錄)至硬碟
  • 在第一個可開機分區(fdisk 啟用的分區)寫入開機磁區,內容視檔案系統(FAT/NTFS)而異
  • 若偵測到既有有效開機磁區,備份為 bootsect.dos
  • 複製開機檔案 Ntldr、Ntdetect.com 至根目錄
  • 建立開機選單檔 boot.ini

boot.ini 範例解析

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows 98"
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows 2000 Server" /fastdetect
  • /fastdetect:使 Ntdetect 忽略平行埠與序列埠列舉,為預設參數
  • 其他參數功能繁多,可自行查閱進階文件

開機執行階段逐步拆解

第一階段:硬體初始化與 MBR 轉交控制權

  1. 按下電源 → POST(開機自我檢測)
  2. BIOS 讀取 MBR → 依 MBR 資訊尋找開機分區
  3. 讀取開機磁區程式碼至記憶體並轉交控制權

第二階段:開機磁區載入 NTLDR

  • 開機磁區提供磁碟結構/格式資訊,從根目錄讀取 Ntldr
  • 若找不到 Ntldr:FAT 顯示「Boot: Couldn't find NTLDR」,NTFS 顯示「NTLDR is missing」
  • Ntldr 以內建檔案系統程式碼讀取 boot.ini(可讀取子目錄,優於開機磁區)

第三階段:開機選單與 Ntdetect 執行

  • 清除螢幕,顯示開機選單(超時未操作則啟動預設項目)
  • 確定開機選項後,載入並執行 Ntdetect.com(16 位元實模式程式,透過 BIOS 查詢硬體資訊)
  • 顯示「Starting Windows...」進度條,載入開機驅動程式(每載入一個增加 1%)
  • 按 F8 可進入進階開機選單(安全模式、除錯模式、最後正確配置等)

第四階段:核心載入與初始化

  1. 載入核心 Ntoskrnl.exe 與 HAL Hal.dll
  2. 讀取 SYSTEM 登錄配置單元,決定載入哪些開機驅動程式
  3. 載入開機驅動程式,設定 CPU 暫存器準備核心執行
  4. 呼叫 Ntoskrnl.exe 開始初始化:執行子系統、啟動型裝置驅動程式
  5. 初始化完成後準備原生應用程式環境,啟動 smss.exe

第五階段:會話管理器與登入流程

smss.exe 主要任務:

  • 初始化登錄檔、建立系統環境變數
  • 載入 Win32 子系統核心模式部分(Win32k.sys)
  • 啟動子系統程序 Csrss.exe、登入程序 WinLogon.exe

WinLogon 執行啟動步驟(建立視窗站、桌面物件)→ 建立服務控制管理器 Services.exe → 載入自動啟動服務與裝置驅動程式、本機安全驗證子系統 Lsass.exe → 用戶成功登入 → SCM 判定開機成功 → 以 CurrentControlSet 取代 LastKnownGood 登錄機碼。

若選擇「最後正確配置」或關鍵驅動程式載入失敗,系統將以 LastKnownGood 值作為 CurrentControlSet。

Copyright © Windows教程網 All Rights Reserved