Windows NT 4.0中文版的開機過程–心得

有關BIOS, 這有一篇有趣文章
http://www.cpro.com.tw/channel/news/content/index.php?news_id=8251

XP重灌
http://211.147.225.34/gate/big5/windows.chinaitlab.com/set/35016.html

 Windows NT 4.0中文版的開機過程
【五星級推荐】
http://big5.pconline.com.cn/b5/wwwb.pconline.com.cn/pcedu/soft/doc/win2000/35.htm

從這篇文章繼續來了解windows 2000.
1.
Active Partition第0個磁區(sector 0)就是Partition Boot Sector(簡稱PBS)
PBS放的應該就是NT loader, 這是在安裝作業系統時放入的
然後NT loader會把作業系統(核心)載入

如果MBR找不到 active partition, 會顯示 ” Missing Operating System”
2.
ntldr(NT loader)
(按:文件說只能放在第一顆硬碟的根目錄,但我認為不一定。)
以下我以載入的順序列出其他重要檔案:

* Boot.ini 這是個 text 文字檔案, 它記錄了 Windows NT 時的選項內容。
    –(如果選擇windwos95/DOS)–> * Bootsect.dos 它的內容是 Windows 95 或 DOS 版本的 PBS, 如果您利用 NT OS Loader 對 DOS 與 Windows NT 進行多重開機, 那麼也必須有這個檔案。
* Ntdetect.com 是 Windows NT 開機時, 用來偵測硬體周邊的程式。
* bootfont.bin 提供了 Windows NT 中文版開機時的中文字形。

(按:這裡談到硬體設定檔。在windows內可以有多個硬體設定檔,在啟動時按F8有一個”上一次良好的開機設定”
就是指硬體設定檔)

3.
載入核心,Ntoskrnl.exe, Hal.dll, HKEY_LOCAL_MACHINE\SYSTEM
硬體設定檔的設定會影響在HKEY_LOCAL_MACHINE\SYSTEM讀取那一個ControlSet

接著會讀取
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service
中Start值為0的服務項目的driver,
這時
* Ntbootdd.sys 如果您裝設了 SCSI 介面的硬碟, 那麼也必須有這個驅動程式。
就會被用到。

4.核心初始化
這時控制權從ntldr交到ntoskrnl.exe
(記得ntldr之前都是在real mode執行喔)
(是這個時候進入logo畫面嗎?)
Ntoskrnl.exe 將會檢查HKEY_LOCAL_MACHINE\SYSTEM\CurrentCon trolSet\Service
把Start值為1的服務項目的driver載入

5.登入系統
啟動winlogon.exe, lsass.exe
這時出現輸入使用者名稱、密碼的視窗
在此同時,NT還會繼續載入network drivers

HKEY_LOCAL_MACHINE\SYSTEM\Cu rrentControlSet\Service
start值為2的服務項目驅動程式.

6.start值的數值意義
0 Boot
1 System
2 Auto Load (自動)
3 Load on demand (手動)
4 Stop (停用)

Leave a comment