查看單個文章
舊 2006-01-24, 09:13 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 深入Win XP之認識神秘的啟始文件NTLDR

深入Win XP之認識神秘的啟始文件NTLDR

NTLDR一般存放於C碟根目錄下,是一個具有隱藏和只讀內容的系統檔案。它的主要職責是解析Boot.ini文件。如果你對它的理解還不是很清楚,那麼下面我們就以Windows XP為例介紹NTLDR在系統啟始程序中的作用。
  Windows XP在啟始程序中將經歷預啟始、啟始和載入內核三個階段,這與Windows 9X直接讀取啟始扇區的方式來啟動系統是完全不一樣的,NTLDR在這三個階段的啟始程序中將起到至關重要的作用。

  1.預啟始階段

  在預啟始階段裡電腦所做的工作有:執行POST程序,POST將檢測系統的總記憶體以及其他硬體設備的狀況,將磁牒第一個物理扇區載入到記憶體,載入硬碟硬碟分區表並執行,硬碟分區表會搜尋活動分區的起始位置。接著活動分區的啟始扇區被載入並執行,最後從啟始扇區載入並啟始化NTLDR文件。

  2.啟始階段

  在啟始階段中,Windows XP將會依次經歷初始啟始載入器階段、操作系統選項階段、硬體檢測階段以及組態選項階段這四個小的階段。


(1)在初始啟始載入器階段中,NTLDR將把電腦的微處理器從真實模式轉換為32位平面記憶體模式,在真實模式中,系統會為MS-DOS預留640KB大小的記憶體空間,其餘的記憶體都被看做是增強記憶體,在32位平面模式中系統將所有記憶體都視為可用記憶體,然後NTLDR執行適當的小型文件系統驅動程式,這時NTLDR可以識別每一個用NTFS或FAT格式的文件系統分區,至此初始啟始載入器階段結束。

  (2)當初始啟始載入器階段結束後將會進入操作系統選項階段,如果電腦上安裝了多個操作系統,由於NTLDR載入了正確的Boot.ini文件,那麼在啟動的時候將會出現要求選項操作系統的表單,NTLDR正是從boot.ini文件中搜尋到系統檔案的分區位置。如果選項了NT系統,那麼NTLDR將會執行NTDETECT.COM文件,否則NTLDR將載入BOOTSECT.DOS,然後將控制權交給BOOTSECT.DOS。如果Boot.ini文件中只有一個操作系統或者其中的timeout值為0,那麼將不會出現選項操作系統的表單畫面,如果Boot.ini文件非法或不存在,那麼NTLDR將會嘗試從預設系統磁碟區啟動系統。

  小提示:NTLDR啟動後,如果在系統根目錄下發現有Hiberfil.sys文件且該檔案有效,那麼NTLDR將讀取Hiberfil.sys文件裡的訊息並讓系統恢復到休眠以前的狀態,這時並不處理Boot.ini文件。

  (3)當操作系統選項階段結束後將會進入硬體檢測階段,這時NTDETECT.COM文件將會收集電腦中硬體訊息列表,然後將列表返回到NTLDR,這樣NTLDR將把這些硬體訊息載入到註冊表「HKEY_LOCAL_MACHINE」中的Hardware中。

  (4)硬體檢測階段結束後將會進入組態選項階段,如果有多個硬體組態列表,那麼將會出現組態文件選項表單,如果只有一個則不會顯示。

  3.載入內核階段

  在載入內核階段中,NTLDR將載入NTOKRNL.EXE內核程序,然後NTLDR將載入硬體抽像層(HAL.dll),接著系統將載入註冊表中的「HKEY_MACHINESystem」鍵值,這時NTLDR將讀取「HKEY_MACHINESystemselect」鍵值來決定哪一個ControlSet將被載入。所載入的ControlSet將包含設備的驅動程式以及需要載入的服務。再接著NTLDR載入註冊表「HKEY_LOCAL_MACHINESystemservice」下的start鍵值為0的底層設備驅動。當ControlSet的映射CurrentControlSet被載入時,NTLDR將把控制權傳送給NTOSKRNL.EXE,至此啟始程序將結束。

  小提示:如果在啟動的時候按F8鍵,那麼我們將會在啟動表單中看到多種選項啟動模式,這時NTLDR將根據用戶的選項來使用啟動參數載入NT內核,用戶也可以在Boot.ini文件裡設定啟動參數。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次