電腦開機過程簡介_第1頁
電腦開機過程簡介_第2頁
電腦開機過程簡介_第3頁
電腦開機過程簡介_第4頁
電腦開機過程簡介_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、打開電源啟動機器幾乎是電腦愛好者每天必做的事情,面對屏幕上出現(xiàn)的一幅幅啟動畫面,我們一點兒也不會感到陌生,但是,計算機在顯示這些啟動畫面時都做了些什么工作呢? 相信有的朋友還不是很清楚,本文就來介紹一下從打開電源到出現(xiàn)Windows 9x的藍天白云時,計算機到底都干了些什么事情。首先讓我們來了解一些基本概念。第一個是大家非常熟悉的BIOS (基本輸入輸出系統(tǒng)),BIOS是直接與硬件打交道的底層代碼,它為操作系統(tǒng)提供了控制硬件設備的基本功能。BIOS包括有系統(tǒng) BIOS (即常說的主板 BIOS )、顯卡BIOS和其它設備(例如 IDE 控制器、SCSI卡或網卡等)的BIOS,其中系統(tǒng)BIOS是

2、本文要討論的主角,因為計算機的 啟動過程正是在它的控制下進行的。BIOS 一般被存放在 ROM(只讀存儲芯片)之中,即使在關機或掉電以后,這些代碼也不會消失。第二個基本概念是內存的地址,我們的機器中一般安裝有 32MB、64MB或128MB內存,這些內存的每一個字節(jié)都被賦予了一個地址,以便CPU訪問內存。32MB的地址范圍用十六進制數(shù)表示就是 0仆FFFFFH,其中0FFFFFH的低端1MB內存非常特殊,因 為最初的8086處理器能夠訪問的內存最大只有1MB ,這1MB的低端640KB被稱為基本內存,而A0000HBFFFFH要保留給顯示卡的顯存使用,C0000HFFFFFH則被保留給 BIO

3、S使用,其中系統(tǒng) BIOS 一般占用了最后的64KB或更多一點的空間,顯卡BIOS 一般在C0000H C7FFFH 處,IDE 控制器的 BIOS 在 C8000H CBFFFH 處。好了,下面我們就來仔細看看計算機的啟動過程吧。#1第一步當我們按下電源開關時,電源就開始向主板和其它設備供電,此時電壓還不太穩(wěn)定, 主板上的控制芯片組會向CPU發(fā)出并保持一個 RESET (重置)信號,讓 CPU內部自動恢復到初始狀態(tài),但 CPU在此刻不會馬上執(zhí)行指令。當芯片組檢測到電源已經開始穩(wěn)定供電 了(當然從不穩(wěn)定到穩(wěn)定的過程只是一瞬間的事情),它便撤去 RESET信號(如果是手工按下計算機面板上的 Re

4、set按鈕來重啟機器,那么松開該按鈕時芯片組就會撤去RESET信號),CPU馬上就從地址FFFF0H處開始執(zhí)行指令,從前面的介紹可知,這個地址實際上在 系統(tǒng)BIOS的地址范圍內,無論是Award BIOS還是AMI BIOS ,放在這里的只是一條跳轉 指令,跳到系統(tǒng) BIOS中真正的啟動代碼處。#1第二步:系統(tǒng)BIOS的啟動代碼首先要做的事情就是進行POST (Power On SelfTest,加電后自檢),POST的主要任務是檢測系統(tǒng)中一些關鍵設備是否存在和能否正 常工作,例如內存和顯卡等設備。由于POST是最早進行的檢測過程,此時顯卡還沒有初始 化,如果系統(tǒng)BIOS在進行POST的過程中

5、發(fā)現(xiàn)了一些致命錯誤,例如沒有找到內存或者內 存有問題(此時只會檢查640K常規(guī)內存),那么系統(tǒng)BIOS就會直接控制喇叭發(fā)聲來報告錯 誤,聲音的長短和次數(shù)代表了錯誤的類型。在正常情況下,POST過程進行得非???,我們幾乎無法感覺到它的存在,POST結束之后就會調用其它代碼來進行更完整的硬件檢測。#1第三步:接下來系統(tǒng)BIOS將查找顯卡的BIOS ,前面說過,存放顯卡BIOS的ROM芯片的起 始地址通常設在 C0000H處,系統(tǒng)BIOS在這個地方找到顯卡 BIOS之后就調用它的初始化 代碼,由顯卡BIOS來初始化顯卡,此時多數(shù)顯卡都會在屏幕上顯示出一些初始化信息,介 紹生產廠商、圖形芯片類型等內容

6、,不過這個畫面幾乎是一閃而過。系統(tǒng)BIOS接著會查找其它設備的BIOS程序,找到之后同樣要調用這些BIOS內部的初始化代碼來初始化相關的設備。查找完所有其它設備的 BIOS之后,系統(tǒng)BIOS將顯示出它自己的啟動畫面,其中包 括有系統(tǒng)BIOS的類型、序列號和版本號等內容。#1第四步:#1第五步:接著系統(tǒng)BIOS將檢測和顯示 CPU的類型和工作頻率,然后開始測試所有的RAM,并同時在屏幕上顯示內存測試的進度,我們可以在CMOS設置中自行決定使用簡單耗時少或者詳細耗時多的測試方式。#1第六步:內存測試通過之后,系統(tǒng) BIOS將開始檢測系統(tǒng)中安裝的一些標準硬件設備,包括硬盤、CD ROM、串口、并口、

7、軟驅等設備,另外絕大多數(shù)較新版本的系統(tǒng)BIOS在這一過程中還要自動檢測和設置內存的定時參數(shù)、硬盤參數(shù)和訪問模式等。#1第七步:標準設備檢測完畢后, 系統(tǒng)BIOS內部的支持即插即用的代碼將開始檢測和配置系統(tǒng) 中安裝的即插即用設備,每找到一個設備之后,系統(tǒng)BIOS都會在屏幕上顯示出設備的名稱和型號等信息,同時為該設備分配中斷、DMA通道和I/O端口等資源。#1第八步:到這一步為止,所有硬件都已經檢測配置完畢了, 多數(shù)系統(tǒng)BIOS會重新清屏并在屏 幕上方顯示出一個表格,其中概略地列出了系統(tǒng)中安裝的各種標準硬件設備, 以及它們使用 的資源和一些相關工作參數(shù)。#1第九步:接下來系統(tǒng) BIOS 將更新 E

8、SCD (Extended System ConfigurationData,擴展系統(tǒng)配置數(shù)據(jù))。ESCD是系統(tǒng)BIOS用來與操作系統(tǒng)交換硬件配置信息的一種手段,這些數(shù)據(jù) 被存放在CMOS (一小塊特殊的 RAM,由主板上的電池來供電)之中。通常 ESCD數(shù)據(jù)只 在系統(tǒng)硬件配置發(fā)生改變后才會更新,所以不是每次啟動機器時我們都能夠看到“ UpdateESCDSuccess這樣的信息,不過,某些主板的系統(tǒng)BIOS在保存ESCD數(shù)據(jù)時使用了與Win dows9x不相同的數(shù)據(jù)格式,于是Windows 9x在它自己的啟動過程中會把ESCD數(shù)據(jù)修改成自己的格式,但在下一次啟動機器時,即使硬件配置沒有發(fā)生改

9、變,系統(tǒng)BIOS也會把ESCD的數(shù)據(jù)格式改回來,如此循環(huán),將會導致在每次啟動機器時,系統(tǒng)BIOS都要更新一遍ESCD ,這就是為什么有些機器在每次啟動時都會顯示出相關信息的原因。#1第十步:ESCD更新完畢后,系統(tǒng) BIOS的啟動代碼將進行它的最后一項工作,即根據(jù)用戶指定的啟動順序從軟盤、硬盤或光驅啟動。 以從C盤啟動為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導記錄,主引導記錄接著從分區(qū)表中找到第一個活動分區(qū),然后讀取并執(zhí)行這個活動分區(qū)的分區(qū)引導記錄, 而分區(qū)引導記錄將負責讀取并執(zhí)行IO.SYS,這是DOS和Windows9x最基本的系統(tǒng)文件。Windows9x的IO.SYS首先要初始化一些重

10、要的系統(tǒng)數(shù)據(jù),然后就顯示出我們熟悉的藍天白云,在這幅畫面之下,Windows將繼續(xù)進行 DOS部分和GUI (圖形用戶界面)部分的引導和初始化工作。如果系統(tǒng)之中安裝有引導多種操作系統(tǒng)的工具軟件,通常主引導記錄將被替換成該軟件的引導代碼,這些代碼將允許用戶選擇一種操作系統(tǒng),然后讀取并執(zhí)行該操作系統(tǒng)的基本引導代碼(DOS和Windows的基本引導代碼就是分區(qū)引導記錄) 。上面介紹的便是計算機在打開電源開關(或按Reset鍵)進行冷啟動時所要完成的各種初始化工作,如果我們在DOS下按Ctrl + Alt + Del組合鍵(或從 Windows中選擇重新啟動計算機)來進行熱啟動,那么POST過程將被跳

11、過去,直接從第三步開始,另外第五步的檢測CPU和內存測試也不會再進行。我們可以看到,無論是冷啟動還是熱啟動,系統(tǒng) BIOS都一次又一次地重復進行著這些我們平時并不太注意的事情,然而正是這些單調的硬 件檢測步驟為我們能夠正常使用電腦提供了基礎。系統(tǒng)啟動過程簡介系統(tǒng)啟動過程主要由一下幾步組成(以硬盤啟動為例):BIOS芯片是主板上一塊長方型或正方型芯片,BIOS中主要存放:自診斷程序:通過讀取 CMOS RAM中的內容識別硬件配置,并對其進行自檢和初始化;CMOS設置程序:引導過程中,用特殊熱鍵啟動,進行設置后,存入CMOS RAM中;系統(tǒng)自舉裝載程序:在自檢成功后將磁盤相對 0道0扇區(qū)上的引導程

12、序裝入內存,讓其運行以裝入DOS系統(tǒng);主要I/O設備的驅動程序和中斷服務;1. 開機:-)2. BIOS 加電自檢 (Power On Self Test - POST )內存地址為 Offff:OOOO3. 將硬盤第一個扇區(qū)(0頭0道1扇區(qū),也就是Boot Sector)讀入內存地址 0000:7c00處.4. 檢查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于 則轉去嘗試其他啟動介質,如果沒有其他啟動介質則顯示"No ROM BASIC" 然后死機5. 跳轉到0000:7c00處執(zhí)行 MBR中的程序.6. MBR首先將自己復制到 0000:0600處

13、,然后繼續(xù)執(zhí)行7. 在主分區(qū)表中搜索標志為活動的分區(qū).如果發(fā)現(xiàn)沒有活動分區(qū)或有不止一個活動分區(qū),則轉停止.8. 將活動分區(qū)的第一個扇區(qū)讀入內存地址0000:7c00處.9. 檢查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于則 顯示"Missing Operating System" 然后停止,或嘗試軟盤啟動.10. 跳轉到0000:7c00處繼續(xù)執(zhí)行特定系統(tǒng)的啟動程序.11. 啟動系統(tǒng)以上步驟中2,3,4,5步是由BIOS的引導程序完成.6,7,8,9,10步由MBR中的引導程序完成.一般多系統(tǒng)引導程序(如SmartFDISK, BootStar, P

14、QBoot等)都是將標準主引導記錄替換成自己的引導程序,在運行系統(tǒng)啟動程序之前讓用戶選擇要啟動的分區(qū).而某些系統(tǒng)自帶的多系統(tǒng)引導程序(如lilo, NT Loader等)則可以將自己的引導程序放在系統(tǒng)所處分區(qū)的第一個扇區(qū)中,在Linux中即為 SuperBlock (其實 SuperBlock是兩個扇區(qū)).注:以上各步驟中使用的是標準MBR,其他多系統(tǒng)引導程序的引導過程與此不同./了解計算機系統(tǒng)啟動過程此文譯自 Windows XP Resource Kit Web Resource中 Understanding the Startup Process 早為了診斷和修復啟動故障,您需要理解啟動

15、過程中發(fā)生了什么。第一步隔離啟動問題,判斷問題是發(fā)生在 Microsoft? Win dows? XP Professio nal啟動之前還是之后。比如用戶錯誤,應用程序錯啟動失敗的根本原因,包括相關因素,可能是來自多方面的,誤,硬件問題,病毒問題。如果問題過于嚴重,您可能需要重新安裝Windows XP Professional或者從備份介質中恢復文件。在基于x86的系統(tǒng)上,發(fā)生在啟動故障operating system loader (Ntldr)可能意味著啟動文件丟失或者被刪除,或者硬盤主引導記錄(MBR)損壞,或者分區(qū)表,或者引導扇區(qū)的損壞。如果問題發(fā)生在啟動期間,那么系統(tǒng)可能存在不兼

16、容的軟件或者驅動,不兼容或者設置錯誤的硬件,或者系統(tǒng)文件損壞?;贗tanium 系統(tǒng)的計算機啟動或者和x86系統(tǒng)類似。詳見后面的章節(jié)"Startup Phases forIta niu m-based Systems"基于x86系統(tǒng)的啟動過程Win dows XP Professio nal 啟動過程和 Microsoft? Win dows NT? version 4.0 and Microsoft?Windows? 2000 類似,區(qū)別于 Microsoft? MS-DOS?, Microsoft? Windows? 95, Microsoft?Win dows? 9

17、8, and Microsoft? Win dows? Mille nn ium Editio n (Win dows Me)這些系統(tǒng)。所有運行Windows XP Professional的系統(tǒng)都遵循如下啟動順序:上電自檢(POST)階段初始化啟動階段啟動裝載階段檢測、設置硬件階段系統(tǒng)核心裝載階段登陸階段上述的啟動過程適用于正常關機后的系統(tǒng)啟動或者重新啟動,從休眠或者待機狀態(tài)恢復的情況例外,后者請參考后面的章節(jié)"ResoIving Power Management Problems on x86-basedSystems"為了 Windows XP Professiona

18、l能夠引導,系統(tǒng)和啟動分區(qū)必須包含表28.1.中的文件。表28.1 基于x86系統(tǒng)上 Windows XP Professional的啟動文件文件名文件所處位置描述Ntldr系統(tǒng)分區(qū)根目錄操作系統(tǒng)裝載器Boot.ini系統(tǒng)分區(qū)根目錄該文件指定 Windows XP Professional的安裝路徑。對于多引導系統(tǒng)Boot.ini包含一個顯示在啟動菜單上的操作系統(tǒng)選擇菜單。Bootsect.dos (僅適用于多引導系統(tǒng))系統(tǒng)分區(qū)根目錄Ntldr將會裝載此文件,以讀取可能包含 MS-DOS, Windows 95, Windows 98, or Windows Me 等 OS 的 Windows

19、 XP Professional 多引導系統(tǒng)設定。Bootsect.dos包含這些操作系統(tǒng)的引導扇區(qū),文件屬性為系統(tǒng)、隱藏。N系統(tǒng)分區(qū)根目錄此文件將掃描硬件設置信息,并傳遞給NtldrNtbootdd.sys系統(tǒng)分區(qū)根目錄 (SCSI或者ATA等固件本身禁用或者不支持INT-13中斷擴展調用的設備需要此文件 ).該驅動程序用于訪問不使用BIOS,而連接到 SCSI或者ATA 的硬盤驅動器,The contents of this file depend on the startup controller used.Ntoskrnl.exe systemrootSystem32 Windows

20、XP Professional 操作系統(tǒng)的核心(也被叫做 kernel)。作為kernel的一部分,運行在處理器特權模式下的代碼,允許直接訪問系統(tǒng)數(shù)據(jù)和硬件。 在安裝 Windows XP Professional操作系統(tǒng)期間,如果是單處理器系統(tǒng),setup程序從操作系統(tǒng)光盤上復制Ntoskrnl.exe文件,如果是多處理器系統(tǒng),Setup從安裝光盤上復制 Ntoskrnlmp.exe 并將它重命名為 Ntoskrnl.exe.Hal.dll systemrootSystem32硬件抽象層動態(tài)(HAL)鏈接庫文件。 HAL abstracts從操作系統(tǒng)提取底層硬件信息,并給相同類型的設備,提供

21、公用編程接口。Microsoft? Win dows? XPProfessional操作系統(tǒng)光盤包含若干Hal文件,Setup將適合您系統(tǒng)硬件設置的文件復制到您的計算機,并重命名為Hal.dll.System registry file systemrootSystem32Config'System 此注冊表文件包含創(chuàng)建 KEY_LOCAL_MACHINESYSTEM注冊表鍵值所需要的數(shù)據(jù)。該鍵值包含了操作系統(tǒng)啟動設備和系統(tǒng)服務所需要的信息。Device drivers systemrootSystem32Drivers 些硬件設備的驅動程序文件,比如鍵盤、鼠標、顯卡。注:Window

22、s NT 4.0, Windows 2000, and Windows XP Professional定義”系統(tǒng)”和”啟動”分區(qū)有別于啟動操作系統(tǒng)。系統(tǒng)卷包含啟動Windows XP Professional所必須的文件,比如Windows loader (Ntldr)。啟動卷 Windows XP Professional操作系統(tǒng)文件和文件夾比如 systemroot和systemrootSystem32。在基于 x86系統(tǒng)的計算機上,啟動卷和系統(tǒng)卷可以但 不一定是同一個卷。在表28.1中,systemroot是眾多環(huán)境變量之一,用于將象文件和文件路徑這樣的字符串關 聯(lián)到變量,以便 Wind

23、ows XP Professional應用程序和服務使用。例如,通過使用環(huán)境變量, 腳本不同修改就可以運行在不同環(huán)境設置的計算機上。您可以通過在命令行執(zhí)行set命令查看環(huán)境變量列表。關于環(huán)境變量,請參考Windows XP Professional 中關于"To add or change the values ofen viro nmen t variables"的描述;關于系統(tǒng)文件的信息,詳見"System Files Refere nee"上電自檢當您打開計算機的時候,中央處理器單元(CPU)開始執(zhí)行存放在基本輸入輸出系統(tǒng)(BIOS)中的指令。BI

24、OS, 一種固件,包含一些代碼,處理器依靠這些代碼啟動計算機,與外圍標準設備通訊,形成一個最小環(huán)境,從而得以加載其他復雜代碼,它與計算機所安裝的操作系統(tǒng)無關。計算機啟動過程的第一步就是上電自檢(POST),POST負責完成如下系統(tǒng)和檢測功能:執(zhí)行硬件初始化檢測,比如測試當前內存總數(shù) 校驗啟動操作系統(tǒng)所必須的設備,比如硬盤 從位于主板上的 CMOS中檢索系統(tǒng)設置 即便當您停機后,CMOS存儲器中也會保持一些信息,例如存儲在CMOS存儲器中的硬件設置包含啟動設置和即插即用信息。當主板上電自檢(POST)完成后,那些擁有自己固件的附加板卡(比如顯卡和硬盤控制器)開始執(zhí)行自我檢測。設定這些系統(tǒng)和外圍設

25、備固件參數(shù),請參考相關廠商提供的系統(tǒng)文檔。初始化啟動階段在上電自檢(POST)階段后,存儲在 CMOS存儲器中的那些設定,比如啟動設定,指明 了可以引導操作系統(tǒng)的設備。 比如,如果啟動設定指定軟盤作為啟動的首選設備,而將硬盤作為次要設備(有些固件中顯示為 "A, C"),那么啟動時將可能發(fā)生如下情形:軟驅中插有軟盤BIOS將搜索設定為啟動軟盤的軟驅,如果存在,將會把0面0道1扇區(qū)(軟盤的啟動扇區(qū))加載到內存。如果軟盤不能啟動,將會提示如下錯誤:Non-system disk or disk errorReplace and press any key whe n ready

26、計算機將會一直顯示上面的信息,直到您插入一張啟動軟盤或者驅出軟盤重新啟動計算機。軟驅中沒有軟盤如果您重新啟動計算機后沒有插入軟盤,計算機將會裝載位于主引導記錄(MBR)所在區(qū)域的指令。MBR位于啟動硬盤的第一個扇區(qū),包含一些指令(稱為啟動代碼)和一個標示主分區(qū)和擴展分區(qū)的表(稱為分區(qū)表)。BIOS將MBR加載到內存,并將控制權移交給MBR中的代碼。計算機然后搜索分區(qū)表,查找激活分區(qū)。激活分區(qū)的第一個扇區(qū)包含啟動代碼,這些代碼允許計算機進行如下操作:確定所使用的文件系統(tǒng)定位并啟動操作系統(tǒng)裝載文件,Ntldr.如果激活分區(qū)不存在或者啟動扇區(qū)信息丟失、錯誤,系統(tǒng)將提示如下信息:In valid pa

27、rtiti on tableError loadi ng operati ng systemMiss ing operati ng systemBOOT: Could n't find NTLDRNTLDR is missi ng如果激活分區(qū)定位成功,啟動分區(qū)中的代碼將會找到并開始啟動Ntldr,隨后BIOS完成使命,釋放控制權關于磁盤和文件系統(tǒng),MBR,分區(qū)以及啟動扇區(qū)的一些更為詳細的信息,請查看"FileSystems"禾口 "Troubleshooting Disks and File Systems"指定其他啟動設備的啟動順序除此之外,一

28、些計算機固件允許從其他設備引導操作系統(tǒng),比如:CD-ROMs網卡可移動存儲介質,比如LS-120驅動器或者Iomega Zip驅動器接駁在便攜式計算機上的一些存儲器在大多數(shù)的計算機上都允許您指定啟動次序,比如"CDROM, A, C".當您指定"CDROM, A,C"這樣的啟動順序的時候,那么啟動時就會是如下情況:計算機搜索 CD-ROM 作為啟動介質。如果存在可以啟動的CD (光盤),計算機將使用作為啟動設備,否則計算機將按照設定的啟動次序尋找下一個啟動設備。計算機搜索軟盤作為啟動介質。如果存在可以啟動的軟盤,計算機將使用軟盤作為啟動設備。否則將給出錯

29、誤信息,并按照設定的啟動次序尋找下一個啟動設備。計算機使用硬盤作為啟動設備。當CD-ROM驅動器和軟盤驅動器都是空的時候,計算機將只會使用硬盤作為啟動設備。不過,引導介質上的代碼對硬盤進行傳輸控制的情況是個例外。比如,當您使用可引導的Windows XP Professional操作系統(tǒng)光盤引導系統(tǒng)的時候,Setup程序將會檢測是否存在可用的硬盤以用于 Windows XP Professional安裝過程,如果檢索到,那么系統(tǒng)將會提示如下字 樣Press any key to boot from CD ,這將給您一個選擇,如果不按任何鍵就會跳過CD-ROM啟動。您不能使用一個不能啟動的光盤引

30、導系統(tǒng),同時一張無法啟動的光盤將可能增加系統(tǒng)啟動時間,如果不打算從光盤引導系統(tǒng),請在啟動前將光盤從CD-ROM 驅動器中取出。關于啟動順序的選項,請參考您的系統(tǒng)文檔。啟動裝載階段Ntldr從啟動分區(qū)裝載啟動文件,然后進行如下步驟:設置x86系統(tǒng)處理器進入 32位內存保護模式運行基于x86的計算機啟動的時候運行在實模式,此在模式下,處理器禁止了一些功能,以便兼容于運行于8位和16位處理上的軟件。隨后Ntldr將處理器切換到 32位模式,這種模式下,允許訪問大容量內存,并可以運行Win dows XP Professio nal啟動文件系統(tǒng)Ntldr包含一些允許Windows XP Profess

31、ional讀寫 NTFS 或者文件分配表(FAT16 orFAT32)文件系統(tǒng)所需要的程序代碼。讀取Boot.ini文件Ntldr分析Boot.ini文件以確定操作系統(tǒng)啟動分區(qū)的位置。如果使用單系統(tǒng)啟動設定,那么Ntldr將隨后啟動 N初始化硬件檢測.如果存在多系統(tǒng)啟動, 這可能包括 Win dows XP Professio nal, Win dows 2000, Win dows NT 4.0, Windows 95, Windows 98, Windows Me, 或者 MS-DOS以及其他可能的操作系統(tǒng), 您將會在 啟動的時候看到一個操作系統(tǒng)的選擇菜單。注:運行 Windows NT

32、4.0的計算機如果需要訪問之前掛載在Windows 2000 or Windows XPProfessional下的NTFS卷,需要安裝至少 Service Pack 4。關于 NTFS 互操作性信息,請 參考"File Systems"如果您選擇 Win dows XP Professio nal, Win dows 2000, or Win dows NT 4.0, Ntldr將隨后啟動硬件檢測階段,如果沒有就會引導啟動扇區(qū)的其他系統(tǒng)。如果您選擇Win dows 95, Win dows98, Windows Me, or MS-DOS, Ntldr將會掃描 Boots

33、ect.dos 文件,讀取其中所包含的MBR代碼,并執(zhí)行它。關于Boot. ini 的其他信息請參考"Review ing and Correcti ng Boot.i ni Sett in gson x86-based Systems"檢測硬件和硬件配置文件進入此階段,Ntldr啟動N,后者將執(zhí)行基礎硬件掃描。 隨后Ntldr掃描Boot.ini 信息,以及保存在注冊表中的硬件和軟件信息,傳送給Ntoskrnl.exe。 N檢測硬件配置信息(比如便攜計算機上接駁或未接駁設置 )和保存在 Advaneed Configuration and Power In terface

34、 (ACPI) 表中的信息。 ACPI 兼容固件允許 Win dows XP Professio nal 檢測設 備電源管理功能和設備資源需求。關于 ACPI 請參考 檢測、設置硬件階段在讀取 Boot.ini并完成其任務后, Ntldr啟動 N。在 x86系統(tǒng)上 N 調用系統(tǒng)例行程序收集已經安裝的硬件信息,并將收集的信息返回給 Ntldr,Ntldr將這些信息收集后存入內部數(shù)據(jù)庫,然后啟動Ntoskrnl.exe并將信息傳遞給它。N所收集的硬件設備的信息如下:信息固件信息,比如日期和時間總線和板卡類型顯卡 鍵盤 通訊端口硬盤 軟盤 輸入設備(比如鼠標) 并行端口安裝在 Industry St

35、andard Architecture (ISA) 總線上的設備N在非ACPI兼容計算機的設備掃描中扮演了重要的角色。因為在這些類型的計 算機上,固件而不是操作系統(tǒng)決定了分配給設備的資源,對于使用ACPI固件的計算機,Windows XP Professional對硬件設備分配資源。在這個階段,N 收集硬件信息,Windows XP Professional為桌面計算機創(chuàng)建一個單獨的默認硬件配置文件,而為便攜計算機創(chuàng)建兩個缺省的配置文件。對于便攜計算機,操作系統(tǒng)基于當前計算機上硬件狀態(tài)選擇適當?shù)呐渲梦募?。桌面型計算機.Profile 1便攜式計算機.Docked ProfileUn docke

36、d Profile硬件配置文件對于便攜式計算機是非常有用的,因為這些計算機的硬件狀態(tài)通常都不是靜態(tài)的,啟動的時候,沒有列表在特定的硬件配置文件中的設備驅動是不會被加載的。關于創(chuàng)建和使用硬件配置文件的信息,請參考Windows XP Professional幫助和支持中心,也可以參考知識庫文檔225810, "How to Create Hardware Profiles on Windows 2000 -BasedMobile Computers," 查找此文檔,請查詢 Web Resources 頁面 http:/www.microsoft.eom/w in dows/r

37、eskits/webresources上的知識庫鏈接,同時您也可以查看"Managing Devices" 和"Supporting Mobile Users"核心裝載階段Ntldr負責將Windows核心層(Ntoskrnl.exe)和硬件抽象層 (HAL)裝載到內存。您的系統(tǒng) 所使用的Hal.dll文件是可以發(fā)生變化的。在安裝期間,Windows XP Professional安裝程序從若干HAL文件中選擇一個復制到系統(tǒng),(請參看表28.2關于這些文件的列表)并重名為 Hal.dll。在設備管理器中查看計算機描述在運行對話框,輸入devmgmt.ms

38、c,點擊確定。在設備管理器展開計算機察看您計算機的描述。通過比較設備管理器中的描述和下面表28.2中的描述,您可以確定從Windows XPProfessional操作系統(tǒng)光盤復制到您系統(tǒng)中的HAL文件Table 28.2關于不同 Hal.dll文件的描述設備管理器中計算機的描述復制的HAL文件ACPI 多處理器 PC Halmacpi.dllACPI 單處理器 PC Halaacpi.dllAdva need Con figurati on and Power In terface (ACPI) PC Halacpi.dllMPS 多處理器 PC Halmps.dllMPS 單處理器 PC

39、Halapic.dll標準 PC Hal.dllCompaq SystemPro多處理器或者完全兼容Halsp.dll核心層kernel和硬件抽象層HAL初始化一組軟件組件,他們統(tǒng)稱為windows執(zhí)行體。Windows執(zhí)行體掃描儲存在注冊表control sets中的信息,并啟動服務和驅動程序。關于 Windows executive services, 請查看 "Common Stop Messages for Troubleshooting" 控制集 Control SetsNtldr從HKEY_LOCAL_MACHINESYSTEM注冊表子鍵中讀取相關信息,該子健中

40、的數(shù)據(jù)創(chuàng)建于System32Config System文件,故而Ntldr能夠決定哪些設備驅動在系統(tǒng)啟動時 裝載。通常,注冊表中存在幾個 control sets,其后面的序號取決于系統(tǒng)設定多長時間變更 一次。提示:如非必要不要直接編輯注冊表。注冊表編輯器繞開了系統(tǒng)保護機制,您的修改有可能會破壞系統(tǒng),嚴重者甚至需要重新安裝Windows。如果你必須編輯注冊表,請事先作備份,并詳細閱讀 Microsoft? Windows? 2000 Server Resource Kit 中關于 Registry Referenee 的章節(jié) ndows/reskits/webresources.典型的注冊表控

41、制集control set子鍵如下: CurrentControlSet, 個注冊在 SelectCurrent 項中,指向 ControlSetxxx 子鍵的指針 (xxx 代表一個 control set編號,比如 001)Clone, 份CurrentControlSet的拷貝,當您每次啟動計算機的時候創(chuàng)建。(gnaw0725注:此處原文如此,有待考證)Select,包含如下鍵值:Default,指針指向系統(tǒng)指定用戶下次登陸所使用的控制集編號(比如00仁ControlSet001)。如果沒有錯誤發(fā)生,或者并非由LastKnownGood啟動項所設置,此 control set編號將為De

42、fault, Current和LastKnownGood 注冊項所影響(假定當前用戶可以成功登錄)Current,指向此次用于啟動系統(tǒng)的控制集 Failed,指向沒有成功啟動Windows XP Professional的控制集。當使用 LastKnownGood選項啟動系統(tǒng)時,此項被更新(gnaw0725注:表示Windows XP在其中保存失敗啟動產生的數(shù)據(jù)的控件組。此控件組在用戶第一次調用最近一次的正確配置”選項之前并不實際存在。)LastKnownGood,指向上次用戶會話所使用的控制集。當用戶登錄的時候,LastKnownGood控制集被前一次用戶會話使用的設置信息所更新。除非您從

43、Windows Advaneed Options菜單中選擇Last Known Good Configuration,Ntldr將使用 Default鍵值所標示的控制集。核心層使用 Ntldr提供的內部數(shù)據(jù)結構創(chuàng)建HKEY_LOCAL_MACHINEHARDW ARE子鍵,其中包含在系統(tǒng)啟動階段收集的硬件信息。這些數(shù)據(jù)包含信息包括各種硬件組件和分配給每個設備的系統(tǒng)資源。您可以通過查看在啟動過程中顯示的進度指示器來監(jiān)控核心層加載過程 關于 Last Known Good Configuration 的相關 信息,您可 以查閱 "Tools for Troubleshoot ing&qu

44、ot; Win dows XP Professio nal支持設備擴展。新的或者更新的驅動程序并不存在于 Windows XP Professional操作系統(tǒng)光盤上,而是由于硬件廠商提供。驅動程序是核心 模式組件 , 需Drivers are kern el-mode comp onents required by devices to fun ctio n within an operat ing system.服務是支持操作系統(tǒng)功能和應用程序的組件。與用戶應用程序相比,服務 可以運行在一個不同的上下文,通常不會提供用戶可以設置的選項。服務,比如脫機打印Print Spooler,不需要用

45、戶登錄即可運行,而且與登陸到系統(tǒng)的用戶無關。Windows XPProfessio nal驅動程序和服務系統(tǒng)文件通常被存放在 systemrootSystem32 和 systemrootSystem32Drivers 目錄下,以.exe, .sys, or .dll 等擴展名保存。驅動程序也是服務,因此在核心層初始化期間,Ntldr和Ntoskrnl.exe按照存儲在 KEY_LOCAL_MACHINESYSTEMCurre ntCon trolSetServicesservice name注冊表子鍵中的數(shù)值來確定裝載的驅動程序和服務次序。例如,Ntldr首先搜索Services子鍵中Sta

46、rt值為0的服務,比如硬盤控制器。當Ntldr啟動Ntoskrnl.exe后,一個Ntoskrnl.exe組件搜索并啟動驅動程序,比如網絡協(xié)議,這些啟動項Start值為1.Table 28.3,列出了 Start項的值(十進制)。Boot類型的驅動(Start值為0的項)文件系統(tǒng)驅動程序的Start值始終為0,因為啟動 Windows XP Professional需要它們的支持。表28.3 服務名 Start項的賦值值Start類型關于Start項賦值的描述0 Boot基于x86系統(tǒng)Ntldr或者Itanium IA64ldr上的固件調用模式指定裝載的驅動,如果 沒有錯誤發(fā)生,核心層Kern

47、el將啟動該驅動程序1 System 指定在系統(tǒng)核心層Kernel初始化期間被 Windows XP Professional boot drivers 所調用的驅動程序2 Auto load指定在系統(tǒng)啟動時被會話管理器(Smss.exe)或者服務控制器(Services.exe)所加載的驅動程序或者服務。3 Load on dema nd指定一個通過用戶、進程或者其他服務手動啟動的驅動程序或者服務4 Disabled指定一個禁止(不啟動)的驅動程序或者服務。表28.4列出了 Type項的一些值(十進制)表28.4服務名 Type項的賦值值Type項賦值描述1指定一個核心設備驅動程序2指定一個

48、文件系統(tǒng)驅動程序(也是一個核心設備驅動程序)4指定參數(shù)傳遞給設備驅動程序16指定一個遵循服務控制協(xié)議的服務,該服務可以獨立運行在一個進程中,且可以為服務 控制器所啟動32指定一個可以和其他服務共享進程的服務一些驅動程序和服務需要在啟動之前確定之間的相互依賴關系。通過查看HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetServicesservice name下DependOnGroup和DependOnService 項,您可以找到這個依存關系的列表。關于使用依 賴關系阻止或者延遲驅動程序或者服務啟動的信息,請查看"Temporarily Disa

49、bli ngServices"。該服務子鍵也包含了影響驅動程序和服務如何加載的信息,表28.5中描述了其中的一部分。表28.5注冊表其他 服務名 項項描述DependOnGroup此組中所描述的項目,至少有一個在當前服務裝載前必須被加載。子鍵SYSTEMCurre ntCo ntrolSet'Co ntrol'ServiceGroupOrder包含服務組裝載次序DependOnService此列表中描述的服務,必須在當前服務之前加載。Description組件描述DisplayName指定組件的顯示名稱ErrorControl控制一個驅動程序錯誤是需要系統(tǒng)使用Last

50、KnownGood控制集還是提示一個錯誤停止信息。如果值為0x0(忽略,沒有錯誤報告),不會顯示警告信息,繼續(xù)執(zhí)行啟動。如果值為0x1 (普通,報告錯誤),將錯誤記錄到系統(tǒng)日志并提示警告信息,但繼續(xù)啟動過程。如果值為0x2 (嚴重),將事件記錄到系統(tǒng)日志, 使用LastKnownGood設置,重新啟動系統(tǒng), 執(zhí)行啟動過程。如果值為0x3 (關鍵),將事件記錄到系統(tǒng)日志,使用LastKnownGood設置,重新啟動系統(tǒng)。如果當前啟動已經使用LastKnownGood設定,則顯示錯誤停止信息。Group指定驅動程序或者服務隸屬的組。此項設定允許驅動程序或者服務同步啟動(比入: 文件系統(tǒng)驅動程序)注

51、冊表子鍵HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSet'C on trol'ServiceGroupOrder中 的List項指定了組項啟動順序。ImagePath如果存在ImagePath項,該項用于標示驅動程序或者服務的路徑和文件名。您可以使用 Windows Explorer核實這些路徑和文件名。ObjectName指定一個對象名。 如果 Type項指定一個 Windows XP Professional服務,那么 它就代表服務運行時用于登陸的帳戶名。Tag指定一個驅動程序在驅動程序組中的啟動順序。會話管理器當所有標志為 Boot和

52、Startup數(shù)據(jù)類型的注冊表子鍵執(zhí)行完成后,kernel開始加載會話管理器Session Manager,由它(Smss.exe)執(zhí)行后續(xù)重要的初始化工作,比如:創(chuàng)建系統(tǒng)環(huán)境變量啟動 Windows子系統(tǒng)核心保護模式(通過 systemrootSystem32Win32k.sys 實現(xiàn)),這將Windows XP Professional從文本模式切換至圖形模式?;赪indows的應用程序都運行在Windows子系統(tǒng)上,這個環(huán)境下允許應用程序訪問操作系統(tǒng)功能函數(shù),比如在屏幕上顯示 信息。啟動 Windows子系統(tǒng)用戶模式部分(通過systemrootSystem32Csrss.exe實現(xiàn))

53、.啟動登陸管理器(通過 systemrootSystem32Winlogon.exe 實現(xiàn)).創(chuàng)建輔助虛擬內存頁文件為存放在下列子鍵中的文件列表,執(zhí)行延遲的重命名操作。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSet'Co ntrol'Sessio nManagerPendingFileRenameOperations.比如:當您安裝了一個新的驅動程序或者應用程序 后,系統(tǒng)可能會提示您重新啟動,以便Windows XP Professional能夠替換當前正在使用的文件。Windows子系統(tǒng)和基于它執(zhí)行的應用程序是用戶模式進程,它們不能直接

54、訪問硬件和設備 驅動。用戶模式進程執(zhí)行優(yōu)先級低于核心進程,當操作系統(tǒng)需要更多內存的時候,它可以將被用戶模式下進程使用的內存緩存到虛擬頁面文件。關于用戶模式和核心模式組件的信息, 請參考"Common Stop Messages for Troubleshooting"。會話管理器Session Manager將搜索注冊表,以獲得服務信息,注冊表鍵值如下:HKEY_LOCAL_MACHINESYSTEMCurrentControlSet'Control'SessionManager 包含一個在服務裝載之前運行的命令列表Autochk.exe工具由 BootEx

55、ecute項的值和存儲在Memory Management子鍵中的虛擬內存(頁面文件)設置所指定。 Autochk,是 Chkdsk工具的一個版本,如果操作系統(tǒng)檢測到一個文件系統(tǒng)錯誤,需要在完成啟動過程之前進行修復,那么就會在啟動的時候運行它。關于Autochk和 Chkdsk, "Troubleshooting Disks and FileSystems"。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSet'Co ntrol'Sessio nMan ager'Subsystems包含一個有效子系統(tǒng)的列表。比如Cs

56、rss.exe包含Windows子系統(tǒng)中的一部分,用戶模式。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetServicesservice name.服務控制管理器(Service Control Manager)初始化那些設置為啟動自動加載的服務。登錄階段在此階段 Windows子系統(tǒng)啟動 Winlogon.exe,此模塊為系統(tǒng)服務,以完成用戶的登入或者 登出的動作。Winlogon.exe所完成的功能如下:啟動服務子系統(tǒng)(Services.exe),也稱為服務控制管理器(SCM).啟動本地安全性授權進程Local Security Authority (LSA) (Lsass.exe).在出現(xiàn)開始登陸提示時,偵測CTRL+ALT+DEL 組合鍵。圖形化識別和驗證Graphical Identification and Authentication (GINA)組件獲

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論