国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

深入Win XP之認識神秘的引導文件NTLDR

瀏覽:7日期:2023-07-26 15:54:52

NTLDR一般存放于C盤根目錄下,是一個具有隱藏和只讀屬性的系統(tǒng)文件。它的主要職責是解析Boot.ini文件。如果你對它的理解還不是很清楚,那么下面我們就以Windows XP為例介紹NTLDR在系統(tǒng)引導過程中的作用。

Windows XP在引導過程中將經(jīng)歷預引導、引導和加載內(nèi)核三個階段,這與Windows 9X直接讀取引導扇區(qū)的方式來啟動系統(tǒng)是完全不一樣的,NTLDR在這三個階段的引導過程中將起到至關重要的作用。

1.預引導階段

在預引導階段里計算機所做的工作有:運行POST程序,POST將檢測系統(tǒng)的總內(nèi)存以及其他硬件設備的狀況,將磁盤第一個物理扇區(qū)加載到內(nèi)存,加載硬盤主引導記錄并運行,主引導記錄會查找活動分區(qū)的起始位置。接著活動分區(qū)的引導扇區(qū)被加載并執(zhí)行,最后從引導扇區(qū)加載并初始化NTLDR文件。

2.引導階段

在引導階段中,Windows XP將會依次經(jīng)歷初始引導加載器階段、操作系統(tǒng)選擇階段、硬件檢測階段以及配置選擇階段這四個小的階段。

(1)在初始引導加載器階段中,NTLDR將把計算機的微處理器從實模式轉(zhuǎn)換為32位平面內(nèi)存模式,在實模式中,系統(tǒng)會為MS-DOS預留640KB大小的內(nèi)存空間,其余的內(nèi)存都被看做是擴展內(nèi)存,在32位平面模式中系統(tǒng)將所有內(nèi)存都視為可用內(nèi)存,然后NTLDR執(zhí)行適當?shù)男⌒臀募到y(tǒng)驅(qū)動程序,這時NTLDR可以識別每一個用NTFS或FAT格式的文件系統(tǒng)分區(qū),至此初始引導加載器階段結(jié)束。

(2)當初始引導加載器階段結(jié)束后將會進入操作系統(tǒng)選擇階段,如果計算機上安裝了多個操作系統(tǒng),由于NTLDR加載了正確的Boot.ini文件,那么在啟動的時候?qū)霈F(xiàn)要求選擇操作系統(tǒng)的菜單,NTLDR正是從boot.ini文件中查找到系統(tǒng)文件的分區(qū)位置。如果選擇了NT系統(tǒng),那么NTLDR將會運行NTDETECT.COM文件,否則NTLDR將加載BOOTSECT.DOS,然后將控制權(quán)交給BOOTSECT.DOS。如果Boot.ini文件中只有一個操作系統(tǒng)或者其中的timeout值為0,那么將不會出現(xiàn)選擇操作系統(tǒng)的菜單畫面,如果Boot.ini文件非法或不存在,那么NTLDR將會嘗試從默認系統(tǒng)卷啟動系統(tǒng)。

小提示:NTLDR啟動后,如果在系統(tǒng)根目錄下發(fā)現(xiàn)有Hiberfil.sys文件且該文件有效,那么NTLDR將讀取Hiberfil.sys文件里的信息并讓系統(tǒng)恢復到休眠以前的狀態(tài),這時并不處理Boot.ini文件。

(3)當操作系統(tǒng)選擇階段結(jié)束后將會進入硬件檢測階段,這時NTDETECT.COM文件將會收集計算機中硬件信息列表,然后將列表返回到NTLDR,這樣NTLDR將把這些硬件信息加載到注冊表“HKEY_LOCAL_MACHINE”中的Hardware中。

(4)硬件檢測階段結(jié)束后將會進入配置選擇階段,如果有多個硬件配置列表,那么將會出現(xiàn)配置文件選擇菜單,如果只有一個則不會顯示。

3.加載內(nèi)核階段

在加載內(nèi)核階段中,NTLDR將加載NTOKRNL.EXE內(nèi)核程序,然后NTLDR將加載硬件抽象層(HAL.dll),接著系統(tǒng)將加載注冊表中的“HKEY_MACHINESystem”鍵值,這時NTLDR將讀取“HKEY_MACHINESystemselect”鍵值來決定哪一個ControlSet將被加載。所加載的ControlSet將包含設備的驅(qū)動程序以及需要加載的服務。再接著NTLDR加載注冊表“HKEY_LOCAL_MACHINESystemservice”下的start鍵值為0的底層設備驅(qū)動。當ControlSet的鏡像CurrentControlSet被加載時,NTLDR將把控制權(quán)傳遞給NTOSKRNL.EXE,至此引導過程將結(jié)束。

小提示:如果在啟動的時候按F8鍵,那么我們將會在啟動菜單中看到多種選擇啟動模式,這時NTLDR將根據(jù)用戶的選擇來使用啟動參數(shù)加載NT內(nèi)核,用戶也可以在Boot.ini文件里設置啟動參數(shù)。

主站蜘蛛池模板: 灵川县| 柘荣县| 萨迦县| 耿马| 霍城县| 玛纳斯县| 新安县| 桐庐县| 靖州| 永城市| 昌都县| 黎城县| 崇明县| 荔波县| 广平县| 禹州市| 洪江市| 安丘市| 陈巴尔虎旗| 平阳县| 巴彦淖尔市| 措美县| 浦县| 西乡县| 河西区| 托克逊县| 西昌市| 响水县| 台中县| 汾阳市| 衡山县| 将乐县| 昆明市| 阿瓦提县| 浮梁县| 阜城县| 通海县| 旬邑县| 滦南县| 屯留县| 平山县|