




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、打開電源啟動機器幾乎是電腦愛好者每天必做的事情,面對屏幕上出現(xiàn)的一幅幅啟動畫面,我們一點兒也不會感到陌生,但是,計算機在顯示這些啟動畫面時都做了些什么工作呢? 相信有的朋友還不是很清楚,本文就來介紹一下從打開電源到出現(xiàn)Windows 9x的藍(lán)天白云時,計算機到底都干了些什么事情。首先讓我們來了解一些基本概念。第一個是大家非常熟悉的BIOS (基本輸入輸出系統(tǒng)),BIOS是直接與硬件打交道的底層代碼,它為操作系統(tǒng)提供了控制硬件設(shè)備的基本功能。BIOS包括有系統(tǒng) BIOS (即常說的主板 BIOS )、顯卡BIOS和其它設(shè)備(例如 IDE 控制器、SCSI卡或網(wǎng)卡等)的BIOS,其中系統(tǒng)BIOS是
2、本文要討論的主角,因為計算機的 啟動過程正是在它的控制下進(jìn)行的。BIOS 一般被存放在 ROM(只讀存儲芯片)之中,即使在關(guān)機或掉電以后,這些代碼也不會消失。第二個基本概念是內(nèi)存的地址,我們的機器中一般安裝有 32MB、64MB或128MB內(nèi)存,這些內(nèi)存的每一個字節(jié)都被賦予了一個地址,以便CPU訪問內(nèi)存。32MB的地址范圍用十六進(jìn)制數(shù)表示就是 0仆FFFFFH,其中0FFFFFH的低端1MB內(nèi)存非常特殊,因 為最初的8086處理器能夠訪問的內(nèi)存最大只有1MB ,這1MB的低端640KB被稱為基本內(nèi)存,而A0000HBFFFFH要保留給顯示卡的顯存使用,C0000HFFFFFH則被保留給 BIO
3、S使用,其中系統(tǒng) BIOS 一般占用了最后的64KB或更多一點的空間,顯卡BIOS 一般在C0000H C7FFFH 處,IDE 控制器的 BIOS 在 C8000H CBFFFH 處。好了,下面我們就來仔細(xì)看看計算機的啟動過程吧。#1第一步當(dāng)我們按下電源開關(guān)時,電源就開始向主板和其它設(shè)備供電,此時電壓還不太穩(wěn)定, 主板上的控制芯片組會向CPU發(fā)出并保持一個 RESET (重置)信號,讓 CPU內(nèi)部自動恢復(fù)到初始狀態(tài),但 CPU在此刻不會馬上執(zhí)行指令。當(dāng)芯片組檢測到電源已經(jīng)開始穩(wěn)定供電 了(當(dāng)然從不穩(wěn)定到穩(wěn)定的過程只是一瞬間的事情),它便撤去 RESET信號(如果是手工按下計算機面板上的 Re
4、set按鈕來重啟機器,那么松開該按鈕時芯片組就會撤去RESET信號),CPU馬上就從地址FFFF0H處開始執(zhí)行指令,從前面的介紹可知,這個地址實際上在 系統(tǒng)BIOS的地址范圍內(nèi),無論是Award BIOS還是AMI BIOS ,放在這里的只是一條跳轉(zhuǎn) 指令,跳到系統(tǒng) BIOS中真正的啟動代碼處。#1第二步:系統(tǒng)BIOS的啟動代碼首先要做的事情就是進(jìn)行POST (Power On SelfTest,加電后自檢),POST的主要任務(wù)是檢測系統(tǒng)中一些關(guān)鍵設(shè)備是否存在和能否正 常工作,例如內(nèi)存和顯卡等設(shè)備。由于POST是最早進(jìn)行的檢測過程,此時顯卡還沒有初始 化,如果系統(tǒng)BIOS在進(jìn)行POST的過程中
5、發(fā)現(xiàn)了一些致命錯誤,例如沒有找到內(nèi)存或者內(nèi) 存有問題(此時只會檢查640K常規(guī)內(nèi)存),那么系統(tǒng)BIOS就會直接控制喇叭發(fā)聲來報告錯 誤,聲音的長短和次數(shù)代表了錯誤的類型。在正常情況下,POST過程進(jìn)行得非???,我們幾乎無法感覺到它的存在,POST結(jié)束之后就會調(diào)用其它代碼來進(jìn)行更完整的硬件檢測。#1第三步:接下來系統(tǒng)BIOS將查找顯卡的BIOS ,前面說過,存放顯卡BIOS的ROM芯片的起 始地址通常設(shè)在 C0000H處,系統(tǒng)BIOS在這個地方找到顯卡 BIOS之后就調(diào)用它的初始化 代碼,由顯卡BIOS來初始化顯卡,此時多數(shù)顯卡都會在屏幕上顯示出一些初始化信息,介 紹生產(chǎn)廠商、圖形芯片類型等內(nèi)容
6、,不過這個畫面幾乎是一閃而過。系統(tǒng)BIOS接著會查找其它設(shè)備的BIOS程序,找到之后同樣要調(diào)用這些BIOS內(nèi)部的初始化代碼來初始化相關(guān)的設(shè)備。查找完所有其它設(shè)備的 BIOS之后,系統(tǒng)BIOS將顯示出它自己的啟動畫面,其中包 括有系統(tǒng)BIOS的類型、序列號和版本號等內(nèi)容。#1第四步:#1第五步:接著系統(tǒng)BIOS將檢測和顯示 CPU的類型和工作頻率,然后開始測試所有的RAM,并同時在屏幕上顯示內(nèi)存測試的進(jìn)度,我們可以在CMOS設(shè)置中自行決定使用簡單耗時少或者詳細(xì)耗時多的測試方式。#1第六步:內(nèi)存測試通過之后,系統(tǒng) BIOS將開始檢測系統(tǒng)中安裝的一些標(biāo)準(zhǔn)硬件設(shè)備,包括硬盤、CD ROM、串口、并口、
7、軟驅(qū)等設(shè)備,另外絕大多數(shù)較新版本的系統(tǒng)BIOS在這一過程中還要自動檢測和設(shè)置內(nèi)存的定時參數(shù)、硬盤參數(shù)和訪問模式等。#1第七步:標(biāo)準(zhǔn)設(shè)備檢測完畢后, 系統(tǒng)BIOS內(nèi)部的支持即插即用的代碼將開始檢測和配置系統(tǒng) 中安裝的即插即用設(shè)備,每找到一個設(shè)備之后,系統(tǒng)BIOS都會在屏幕上顯示出設(shè)備的名稱和型號等信息,同時為該設(shè)備分配中斷、DMA通道和I/O端口等資源。#1第八步:到這一步為止,所有硬件都已經(jīng)檢測配置完畢了, 多數(shù)系統(tǒng)BIOS會重新清屏并在屏 幕上方顯示出一個表格,其中概略地列出了系統(tǒng)中安裝的各種標(biāo)準(zhǔn)硬件設(shè)備, 以及它們使用 的資源和一些相關(guān)工作參數(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),將會導(dǎo)致在每次啟動機器時,系統(tǒng)BIOS都要更新一遍ESCD ,這就是為什么有些機器在每次啟動時都會顯示出相關(guān)信息的原因。#1第十步:ESCD更新完畢后,系統(tǒng) BIOS的啟動代碼將進(jìn)行它的最后一項工作,即根據(jù)用戶指定的啟動順序從軟盤、硬盤或光驅(qū)啟動。 以從C盤啟動為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導(dǎo)記錄,主引導(dǎo)記錄接著從分區(qū)表中找到第一個活動分區(qū),然后讀取并執(zhí)行這個活動分區(qū)的分區(qū)引導(dǎo)記錄, 而分區(qū)引導(dǎo)記錄將負(fù)責(zé)讀取并執(zhí)行IO.SYS,這是DOS和Windows9x最基本的系統(tǒng)文件。Windows9x的IO.SYS首先要初始化一些重
10、要的系統(tǒng)數(shù)據(jù),然后就顯示出我們熟悉的藍(lán)天白云,在這幅畫面之下,Windows將繼續(xù)進(jìn)行 DOS部分和GUI (圖形用戶界面)部分的引導(dǎo)和初始化工作。如果系統(tǒng)之中安裝有引導(dǎo)多種操作系統(tǒng)的工具軟件,通常主引導(dǎo)記錄將被替換成該軟件的引導(dǎo)代碼,這些代碼將允許用戶選擇一種操作系統(tǒng),然后讀取并執(zhí)行該操作系統(tǒng)的基本引導(dǎo)代碼(DOS和Windows的基本引導(dǎo)代碼就是分區(qū)引導(dǎo)記錄) 。上面介紹的便是計算機在打開電源開關(guān)(或按Reset鍵)進(jìn)行冷啟動時所要完成的各種初始化工作,如果我們在DOS下按Ctrl + Alt + Del組合鍵(或從 Windows中選擇重新啟動計算機)來進(jìn)行熱啟動,那么POST過程將被跳
11、過去,直接從第三步開始,另外第五步的檢測CPU和內(nèi)存測試也不會再進(jìn)行。我們可以看到,無論是冷啟動還是熱啟動,系統(tǒng) BIOS都一次又一次地重復(fù)進(jìn)行著這些我們平時并不太注意的事情,然而正是這些單調(diào)的硬 件檢測步驟為我們能夠正常使用電腦提供了基礎(chǔ)。系統(tǒng)啟動過程簡介系統(tǒng)啟動過程主要由一下幾步組成(以硬盤啟動為例):BIOS芯片是主板上一塊長方型或正方型芯片,BIOS中主要存放:自診斷程序:通過讀取 CMOS RAM中的內(nèi)容識別硬件配置,并對其進(jìn)行自檢和初始化;CMOS設(shè)置程序:引導(dǎo)過程中,用特殊熱鍵啟動,進(jìn)行設(shè)置后,存入CMOS RAM中;系統(tǒng)自舉裝載程序:在自檢成功后將磁盤相對 0道0扇區(qū)上的引導(dǎo)程
12、序裝入內(nèi)存,讓其運行以裝入DOS系統(tǒng);主要I/O設(shè)備的驅(qū)動程序和中斷服務(wù);1. 開機:-)2. BIOS 加電自檢 (Power On Self Test - POST )內(nèi)存地址為 Offff:OOOO3. 將硬盤第一個扇區(qū)(0頭0道1扇區(qū),也就是Boot Sector)讀入內(nèi)存地址 0000:7c00處.4. 檢查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于 則轉(zhuǎn)去嘗試其他啟動介質(zhì),如果沒有其他啟動介質(zhì)則顯示"No ROM BASIC" 然后死機5. 跳轉(zhuǎn)到0000:7c00處執(zhí)行 MBR中的程序.6. MBR首先將自己復(fù)制到 0000:0600處
13、,然后繼續(xù)執(zhí)行7. 在主分區(qū)表中搜索標(biāo)志為活動的分區(qū).如果發(fā)現(xiàn)沒有活動分區(qū)或有不止一個活動分區(qū),則轉(zhuǎn)停止.8. 將活動分區(qū)的第一個扇區(qū)讀入內(nèi)存地址0000:7c00處.9. 檢查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于則 顯示"Missing Operating System" 然后停止,或嘗試軟盤啟動.10. 跳轉(zhuǎn)到0000:7c00處繼續(xù)執(zhí)行特定系統(tǒng)的啟動程序.11. 啟動系統(tǒng)以上步驟中2,3,4,5步是由BIOS的引導(dǎo)程序完成.6,7,8,9,10步由MBR中的引導(dǎo)程序完成.一般多系統(tǒng)引導(dǎo)程序(如SmartFDISK, BootStar, P
14、QBoot等)都是將標(biāo)準(zhǔn)主引導(dǎo)記錄替換成自己的引導(dǎo)程序,在運行系統(tǒng)啟動程序之前讓用戶選擇要啟動的分區(qū).而某些系統(tǒng)自帶的多系統(tǒng)引導(dǎo)程序(如lilo, NT Loader等)則可以將自己的引導(dǎo)程序放在系統(tǒng)所處分區(qū)的第一個扇區(qū)中,在Linux中即為 SuperBlock (其實 SuperBlock是兩個扇區(qū)).注:以上各步驟中使用的是標(biāo)準(zhǔn)MBR,其他多系統(tǒng)引導(dǎo)程序的引導(dǎo)過程與此不同./了解計算機系統(tǒng)啟動過程此文譯自 Windows XP Resource Kit Web Resource中 Understanding the Startup Process 早為了診斷和修復(fù)啟動故障,您需要理解啟動
15、過程中發(fā)生了什么。第一步隔離啟動問題,判斷問題是發(fā)生在 Microsoft? Win dows? XP Professio nal啟動之前還是之后。比如用戶錯誤,應(yīng)用程序錯啟動失敗的根本原因,包括相關(guān)因素,可能是來自多方面的,誤,硬件問題,病毒問題。如果問題過于嚴(yán)重,您可能需要重新安裝Windows XP Professional或者從備份介質(zhì)中恢復(fù)文件。在基于x86的系統(tǒng)上,發(fā)生在啟動故障operating system loader (Ntldr)可能意味著啟動文件丟失或者被刪除,或者硬盤主引導(dǎo)記錄(MBR)損壞,或者分區(qū)表,或者引導(dǎo)扇區(qū)的損壞。如果問題發(fā)生在啟動期間,那么系統(tǒng)可能存在不兼
16、容的軟件或者驅(qū)動,不兼容或者設(shè)置錯誤的硬件,或者系統(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)階段初始化啟動階段啟動裝載階段檢測、設(shè)置硬件階段系統(tǒng)核心裝載階段登陸階段上述的啟動過程適用于正常關(guān)機后的系統(tǒng)啟動或者重新啟動,從休眠或者待機狀態(tài)恢復(fù)的情況例外,后者請參考后面的章節(jié)"ResoIving Power Management Problems on x86-basedSystems"為了 Windows XP Professiona
18、l能夠引導(dǎo),系統(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的安裝路徑。對于多引導(dǎo)系統(tǒng)Boot.ini包含一個顯示在啟動菜單上的操作系統(tǒng)選擇菜單。Bootsect.dos (僅適用于多引導(dǎo)系統(tǒng))系統(tǒng)分區(qū)根目錄Ntldr將會裝載此文件,以讀取可能包含 MS-DOS, Windows 95, Windows 98, or Windows Me 等 OS 的 Windows
19、 XP Professional 多引導(dǎo)系統(tǒng)設(shè)定。Bootsect.dos包含這些操作系統(tǒng)的引導(dǎo)扇區(qū),文件屬性為系統(tǒng)、隱藏。N系統(tǒng)分區(qū)根目錄此文件將掃描硬件設(shè)置信息,并傳遞給NtldrNtbootdd.sys系統(tǒng)分區(qū)根目錄 (SCSI或者ATA等固件本身禁用或者不支持INT-13中斷擴展調(diào)用的設(shè)備需要此文件 ).該驅(qū)動程序用于訪問不使用BIOS,而連接到 SCSI或者ATA 的硬盤驅(qū)動器,The contents of this file depend on the startup controller used.Ntoskrnl.exe systemrootSystem32 Windows
20、XP Professional 操作系統(tǒng)的核心(也被叫做 kernel)。作為kernel的一部分,運行在處理器特權(quán)模式下的代碼,允許直接訪問系統(tǒng)數(shù)據(jù)和硬件。 在安裝 Windows XP Professional操作系統(tǒng)期間,如果是單處理器系統(tǒng),setup程序從操作系統(tǒng)光盤上復(fù)制Ntoskrnl.exe文件,如果是多處理器系統(tǒng),Setup從安裝光盤上復(fù)制 Ntoskrnlmp.exe 并將它重命名為 Ntoskrnl.exe.Hal.dll systemrootSystem32硬件抽象層動態(tài)(HAL)鏈接庫文件。 HAL abstracts從操作系統(tǒng)提取底層硬件信息,并給相同類型的設(shè)備,提供
21、公用編程接口。Microsoft? Win dows? XPProfessional操作系統(tǒng)光盤包含若干Hal文件,Setup將適合您系統(tǒng)硬件設(shè)置的文件復(fù)制到您的計算機,并重命名為Hal.dll.System registry file systemrootSystem32Config'System 此注冊表文件包含創(chuàng)建 KEY_LOCAL_MACHINESYSTEM注冊表鍵值所需要的數(shù)據(jù)。該鍵值包含了操作系統(tǒng)啟動設(shè)備和系統(tǒng)服務(wù)所需要的信息。Device drivers systemrootSystem32Drivers 些硬件設(shè)備的驅(qū)動程序文件,比如鍵盤、鼠標(biāo)、顯卡。注: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)境變量之一,用于將象文件和文件路徑這樣的字符串關(guān) 聯(lián)到變量,以便 Wind
23、ows XP Professional應(yīng)用程序和服務(wù)使用。例如,通過使用環(huán)境變量, 腳本不同修改就可以運行在不同環(huán)境設(shè)置的計算機上。您可以通過在命令行執(zhí)行set命令查看環(huán)境變量列表。關(guān)于環(huán)境變量,請參考Windows XP Professional 中關(guān)于"To add or change the values ofen viro nmen t variables"的描述;關(guān)于系統(tǒng)文件的信息,詳見"System Files Refere nee"上電自檢當(dāng)您打開計算機的時候,中央處理器單元(CPU)開始執(zhí)行存放在基本輸入輸出系統(tǒng)(BIOS)中的指令。BI
24、OS, 一種固件,包含一些代碼,處理器依靠這些代碼啟動計算機,與外圍標(biāo)準(zhǔn)設(shè)備通訊,形成一個最小環(huán)境,從而得以加載其他復(fù)雜代碼,它與計算機所安裝的操作系統(tǒng)無關(guān)。計算機啟動過程的第一步就是上電自檢(POST),POST負(fù)責(zé)完成如下系統(tǒng)和檢測功能:執(zhí)行硬件初始化檢測,比如測試當(dāng)前內(nèi)存總數(shù) 校驗啟動操作系統(tǒng)所必須的設(shè)備,比如硬盤 從位于主板上的 CMOS中檢索系統(tǒng)設(shè)置 即便當(dāng)您停機后,CMOS存儲器中也會保持一些信息,例如存儲在CMOS存儲器中的硬件設(shè)置包含啟動設(shè)置和即插即用信息。當(dāng)主板上電自檢(POST)完成后,那些擁有自己固件的附加板卡(比如顯卡和硬盤控制器)開始執(zhí)行自我檢測。設(shè)定這些系統(tǒng)和外圍設(shè)
25、備固件參數(shù),請參考相關(guān)廠商提供的系統(tǒng)文檔。初始化啟動階段在上電自檢(POST)階段后,存儲在 CMOS存儲器中的那些設(shè)定,比如啟動設(shè)定,指明 了可以引導(dǎo)操作系統(tǒng)的設(shè)備。 比如,如果啟動設(shè)定指定軟盤作為啟動的首選設(shè)備,而將硬盤作為次要設(shè)備(有些固件中顯示為 "A, C"),那么啟動時將可能發(fā)生如下情形:軟驅(qū)中插有軟盤BIOS將搜索設(shè)定為啟動軟盤的軟驅(qū),如果存在,將會把0面0道1扇區(qū)(軟盤的啟動扇區(qū))加載到內(nèi)存。如果軟盤不能啟動,將會提示如下錯誤:Non-system disk or disk errorReplace and press any key whe n ready
26、計算機將會一直顯示上面的信息,直到您插入一張啟動軟盤或者驅(qū)出軟盤重新啟動計算機。軟驅(qū)中沒有軟盤如果您重新啟動計算機后沒有插入軟盤,計算機將會裝載位于主引導(dǎo)記錄(MBR)所在區(qū)域的指令。MBR位于啟動硬盤的第一個扇區(qū),包含一些指令(稱為啟動代碼)和一個標(biāo)示主分區(qū)和擴展分區(qū)的表(稱為分區(qū)表)。BIOS將MBR加載到內(nèi)存,并將控制權(quán)移交給MBR中的代碼。計算機然后搜索分區(qū)表,查找激活分區(qū)。激活分區(qū)的第一個扇區(qū)包含啟動代碼,這些代碼允許計算機進(jìn)行如下操作:確定所使用的文件系統(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完成使命,釋放控制權(quán)關(guān)于磁盤和文件系統(tǒng),MBR,分區(qū)以及啟動扇區(qū)的一些更為詳細(xì)的信息,請查看"FileSystems"禾口 "Troubleshooting Disks and File Systems"指定其他啟動設(shè)備的啟動順序除此之外,一
28、些計算機固件允許從其他設(shè)備引導(dǎo)操作系統(tǒng),比如:CD-ROMs網(wǎng)卡可移動存儲介質(zhì),比如LS-120驅(qū)動器或者Iomega Zip驅(qū)動器接駁在便攜式計算機上的一些存儲器在大多數(shù)的計算機上都允許您指定啟動次序,比如"CDROM, A, C".當(dāng)您指定"CDROM, A,C"這樣的啟動順序的時候,那么啟動時就會是如下情況:計算機搜索 CD-ROM 作為啟動介質(zhì)。如果存在可以啟動的CD (光盤),計算機將使用作為啟動設(shè)備,否則計算機將按照設(shè)定的啟動次序?qū)ふ蚁乱粋€啟動設(shè)備。計算機搜索軟盤作為啟動介質(zhì)。如果存在可以啟動的軟盤,計算機將使用軟盤作為啟動設(shè)備。否則將給出錯
29、誤信息,并按照設(shè)定的啟動次序?qū)ふ蚁乱粋€啟動設(shè)備。計算機使用硬盤作為啟動設(shè)備。當(dāng)CD-ROM驅(qū)動器和軟盤驅(qū)動器都是空的時候,計算機將只會使用硬盤作為啟動設(shè)備。不過,引導(dǎo)介質(zhì)上的代碼對硬盤進(jìn)行傳輸控制的情況是個例外。比如,當(dāng)您使用可引導(dǎo)的Windows XP Professional操作系統(tǒng)光盤引導(dǎo)系統(tǒng)的時候,Setup程序?qū)z測是否存在可用的硬盤以用于 Windows XP Professional安裝過程,如果檢索到,那么系統(tǒng)將會提示如下字 樣Press any key to boot from CD ,這將給您一個選擇,如果不按任何鍵就會跳過CD-ROM啟動。您不能使用一個不能啟動的光盤引
30、導(dǎo)系統(tǒng),同時一張無法啟動的光盤將可能增加系統(tǒng)啟動時間,如果不打算從光盤引導(dǎo)系統(tǒng),請在啟動前將光盤從CD-ROM 驅(qū)動器中取出。關(guān)于啟動順序的選項,請參考您的系統(tǒng)文檔。啟動裝載階段Ntldr從啟動分區(qū)裝載啟動文件,然后進(jìn)行如下步驟:設(shè)置x86系統(tǒng)處理器進(jìn)入 32位內(nèi)存保護(hù)模式運行基于x86的計算機啟動的時候運行在實模式,此在模式下,處理器禁止了一些功能,以便兼容于運行于8位和16位處理上的軟件。隨后Ntldr將處理器切換到 32位模式,這種模式下,允許訪問大容量內(nèi)存,并可以運行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)啟動設(shè)定,那么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。關(guān)于 NTFS 互操作性信息,請 參考"File Systems"如果您選擇 Win dows XP Professio nal, Win dows 2000, or Win dows NT 4.0, Ntldr將隨后啟動硬件檢測階段,如果沒有就會引導(dǎo)啟動扇區(qū)的其他系統(tǒng)。如果您選擇Win dows 95, Win dows98, Windows Me, or MS-DOS, Ntldr將會掃描 Boots
33、ect.dos 文件,讀取其中所包含的MBR代碼,并執(zhí)行它。關(guān)于Boot. ini 的其他信息請參考"Review ing and Correcti ng Boot.i ni Sett in gson x86-based Systems"檢測硬件和硬件配置文件進(jìn)入此階段,Ntldr啟動N,后者將執(zhí)行基礎(chǔ)硬件掃描。 隨后Ntldr掃描Boot.ini 信息,以及保存在注冊表中的硬件和軟件信息,傳送給Ntoskrnl.exe。 N檢測硬件配置信息(比如便攜計算機上接駁或未接駁設(shè)置 )和保存在 Advaneed Configuration and Power In terface
34、 (ACPI) 表中的信息。 ACPI 兼容固件允許 Win dows XP Professio nal 檢測設(shè) 備電源管理功能和設(shè)備資源需求。關(guān)于 ACPI 請參考 檢測、設(shè)置硬件階段在讀取 Boot.ini并完成其任務(wù)后, Ntldr啟動 N。在 x86系統(tǒng)上 N 調(diào)用系統(tǒng)例行程序收集已經(jīng)安裝的硬件信息,并將收集的信息返回給 Ntldr,Ntldr將這些信息收集后存入內(nèi)部數(shù)據(jù)庫,然后啟動Ntoskrnl.exe并將信息傳遞給它。N所收集的硬件設(shè)備的信息如下:信息固件信息,比如日期和時間總線和板卡類型顯卡 鍵盤 通訊端口硬盤 軟盤 輸入設(shè)備(比如鼠標(biāo)) 并行端口安裝在 Industry St
35、andard Architecture (ISA) 總線上的設(shè)備N在非ACPI兼容計算機的設(shè)備掃描中扮演了重要的角色。因為在這些類型的計 算機上,固件而不是操作系統(tǒng)決定了分配給設(shè)備的資源,對于使用ACPI固件的計算機,Windows XP Professional對硬件設(shè)備分配資源。在這個階段,N 收集硬件信息,Windows XP Professional為桌面計算機創(chuàng)建一個單獨的默認(rèn)硬件配置文件,而為便攜計算機創(chuàng)建兩個缺省的配置文件。對于便攜計算機,操作系統(tǒng)基于當(dāng)前計算機上硬件狀態(tài)選擇適當(dāng)?shù)呐渲梦募W烂嫘陀嬎銠C.Profile 1便攜式計算機.Docked ProfileUn docke
36、d Profile硬件配置文件對于便攜式計算機是非常有用的,因為這些計算機的硬件狀態(tài)通常都不是靜態(tài)的,啟動的時候,沒有列表在特定的硬件配置文件中的設(shè)備驅(qū)動是不會被加載的。關(guān)于創(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負(fù)責(zé)將Windows核心層(Ntoskrnl.exe)和硬件抽象層 (HAL)裝載到內(nèi)存。您的系統(tǒng) 所使用的Hal.dll文件是可以發(fā)生變化的。在安裝期間,Windows XP Professional安裝程序從若干HAL文件中選擇一個復(fù)制到系統(tǒng),(請參看表28.2關(guān)于這些文件的列表)并重名為 Hal.dll。在設(shè)備管理器中查看計算機描述在運行對話框,輸入devmgmt.ms
38、c,點擊確定。在設(shè)備管理器展開計算機察看您計算機的描述。通過比較設(shè)備管理器中的描述和下面表28.2中的描述,您可以確定從Windows XPProfessional操作系統(tǒng)光盤復(fù)制到您系統(tǒng)中的HAL文件Table 28.2關(guān)于不同 Hal.dll文件的描述設(shè)備管理器中計算機的描述復(fù)制的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標(biāo)準(zhǔn) PC Hal.dllCompaq SystemPro多處理器或者完全兼容Halsp.dll核心層kernel和硬件抽象層HAL初始化一組軟件組件,他們統(tǒng)稱為windows執(zhí)行體。Windows執(zhí)行體掃描儲存在注冊表control sets中的信息,并啟動服務(wù)和驅(qū)動程序。關(guān)于 Windows executive services, 請查看 "Common Stop Messages for Troubleshooting" 控制集 Control SetsNtldr從HKEY_LOCAL_MACHINESYSTEM注冊表子鍵中讀取相關(guān)信息,該子健中
40、的數(shù)據(jù)創(chuàng)建于System32Config System文件,故而Ntldr能夠決定哪些設(shè)備驅(qū)動在系統(tǒng)啟動時 裝載。通常,注冊表中存在幾個 control sets,其后面的序號取決于系統(tǒng)設(shè)定多長時間變更 一次。提示:如非必要不要直接編輯注冊表。注冊表編輯器繞開了系統(tǒng)保護(hù)機制,您的修改有可能會破壞系統(tǒng),嚴(yán)重者甚至需要重新安裝Windows。如果你必須編輯注冊表,請事先作備份,并詳細(xì)閱讀 Microsoft? Windows? 2000 Server Resource Kit 中關(guān)于 Registry Referenee 的章節(jié) ndows/reskits/webresources.典型的注冊表控
41、制集control set子鍵如下: CurrentControlSet, 個注冊在 SelectCurrent 項中,指向 ControlSetxxx 子鍵的指針 (xxx 代表一個 control set編號,比如 001)Clone, 份CurrentControlSet的拷貝,當(dāng)您每次啟動計算機的時候創(chuàng)建。(gnaw0725注:此處原文如此,有待考證)Select,包含如下鍵值:Default,指針指向系統(tǒng)指定用戶下次登陸所使用的控制集編號(比如00仁ControlSet001)。如果沒有錯誤發(fā)生,或者并非由LastKnownGood啟動項所設(shè)置,此 control set編號將為De
42、fault, Current和LastKnownGood 注冊項所影響(假定當(dāng)前用戶可以成功登錄)Current,指向此次用于啟動系統(tǒng)的控制集 Failed,指向沒有成功啟動Windows XP Professional的控制集。當(dāng)使用 LastKnownGood選項啟動系統(tǒng)時,此項被更新(gnaw0725注:表示W(wǎng)indows XP在其中保存失敗啟動產(chǎn)生的數(shù)據(jù)的控件組。此控件組在用戶第一次調(diào)用最近一次的正確配置”選項之前并不實際存在。)LastKnownGood,指向上次用戶會話所使用的控制集。當(dāng)用戶登錄的時候,LastKnownGood控制集被前一次用戶會話使用的設(shè)置信息所更新。除非您從
43、Windows Advaneed Options菜單中選擇Last Known Good Configuration,Ntldr將使用 Default鍵值所標(biāo)示的控制集。核心層使用 Ntldr提供的內(nèi)部數(shù)據(jù)結(jié)構(gòu)創(chuàng)建HKEY_LOCAL_MACHINEHARDW ARE子鍵,其中包含在系統(tǒng)啟動階段收集的硬件信息。這些數(shù)據(jù)包含信息包括各種硬件組件和分配給每個設(shè)備的系統(tǒng)資源。您可以通過查看在啟動過程中顯示的進(jìn)度指示器來監(jiān)控核心層加載過程 關(guān)于 Last Known Good Configuration 的相關(guān) 信息,您可 以查閱 "Tools for Troubleshoot ing&qu
44、ot; Win dows XP Professio nal支持設(shè)備擴展。新的或者更新的驅(qū)動程序并不存在于 Windows XP Professional操作系統(tǒng)光盤上,而是由于硬件廠商提供。驅(qū)動程序是核心 模式組件 , 需Drivers are kern el-mode comp onents required by devices to fun ctio n within an operat ing system.服務(wù)是支持操作系統(tǒng)功能和應(yīng)用程序的組件。與用戶應(yīng)用程序相比,服務(wù) 可以運行在一個不同的上下文,通常不會提供用戶可以設(shè)置的選項。服務(wù),比如脫機打印Print Spooler,不需要用
45、戶登錄即可運行,而且與登陸到系統(tǒng)的用戶無關(guān)。Windows XPProfessio nal驅(qū)動程序和服務(wù)系統(tǒng)文件通常被存放在 systemrootSystem32 和 systemrootSystem32Drivers 目錄下,以.exe, .sys, or .dll 等擴展名保存。驅(qū)動程序也是服務(wù),因此在核心層初始化期間,Ntldr和Ntoskrnl.exe按照存儲在 KEY_LOCAL_MACHINESYSTEMCurre ntCon trolSetServicesservice name注冊表子鍵中的數(shù)值來確定裝載的驅(qū)動程序和服務(wù)次序。例如,Ntldr首先搜索Services子鍵中Sta
46、rt值為0的服務(wù),比如硬盤控制器。當(dāng)Ntldr啟動Ntoskrnl.exe后,一個Ntoskrnl.exe組件搜索并啟動驅(qū)動程序,比如網(wǎng)絡(luò)協(xié)議,這些啟動項Start值為1.Table 28.3,列出了 Start項的值(十進(jìn)制)。Boot類型的驅(qū)動(Start值為0的項)文件系統(tǒng)驅(qū)動程序的Start值始終為0,因為啟動 Windows XP Professional需要它們的支持。表28.3 服務(wù)名 Start項的賦值值Start類型關(guān)于Start項賦值的描述0 Boot基于x86系統(tǒng)Ntldr或者Itanium IA64ldr上的固件調(diào)用模式指定裝載的驅(qū)動,如果 沒有錯誤發(fā)生,核心層Kern
47、el將啟動該驅(qū)動程序1 System 指定在系統(tǒng)核心層Kernel初始化期間被 Windows XP Professional boot drivers 所調(diào)用的驅(qū)動程序2 Auto load指定在系統(tǒng)啟動時被會話管理器(Smss.exe)或者服務(wù)控制器(Services.exe)所加載的驅(qū)動程序或者服務(wù)。3 Load on dema nd指定一個通過用戶、進(jìn)程或者其他服務(wù)手動啟動的驅(qū)動程序或者服務(wù)4 Disabled指定一個禁止(不啟動)的驅(qū)動程序或者服務(wù)。表28.4列出了 Type項的一些值(十進(jìn)制)表28.4服務(wù)名 Type項的賦值值Type項賦值描述1指定一個核心設(shè)備驅(qū)動程序2指定一個
48、文件系統(tǒng)驅(qū)動程序(也是一個核心設(shè)備驅(qū)動程序)4指定參數(shù)傳遞給設(shè)備驅(qū)動程序16指定一個遵循服務(wù)控制協(xié)議的服務(wù),該服務(wù)可以獨立運行在一個進(jìn)程中,且可以為服務(wù) 控制器所啟動32指定一個可以和其他服務(wù)共享進(jìn)程的服務(wù)一些驅(qū)動程序和服務(wù)需要在啟動之前確定之間的相互依賴關(guān)系。通過查看HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetServicesservice name下DependOnGroup和DependOnService 項,您可以找到這個依存關(guān)系的列表。關(guān)于使用依 賴關(guān)系阻止或者延遲驅(qū)動程序或者服務(wù)啟動的信息,請查看"Temporarily Disa
49、bli ngServices"。該服務(wù)子鍵也包含了影響驅(qū)動程序和服務(wù)如何加載的信息,表28.5中描述了其中的一部分。表28.5注冊表其他 服務(wù)名 項項描述DependOnGroup此組中所描述的項目,至少有一個在當(dāng)前服務(wù)裝載前必須被加載。子鍵SYSTEMCurre ntCo ntrolSet'Co ntrol'ServiceGroupOrder包含服務(wù)組裝載次序DependOnService此列表中描述的服務(wù),必須在當(dāng)前服務(wù)之前加載。Description組件描述DisplayName指定組件的顯示名稱ErrorControl控制一個驅(qū)動程序錯誤是需要系統(tǒng)使用Last
50、KnownGood控制集還是提示一個錯誤停止信息。如果值為0x0(忽略,沒有錯誤報告),不會顯示警告信息,繼續(xù)執(zhí)行啟動。如果值為0x1 (普通,報告錯誤),將錯誤記錄到系統(tǒng)日志并提示警告信息,但繼續(xù)啟動過程。如果值為0x2 (嚴(yán)重),將事件記錄到系統(tǒng)日志, 使用LastKnownGood設(shè)置,重新啟動系統(tǒng), 執(zhí)行啟動過程。如果值為0x3 (關(guān)鍵),將事件記錄到系統(tǒng)日志,使用LastKnownGood設(shè)置,重新啟動系統(tǒng)。如果當(dāng)前啟動已經(jīng)使用LastKnownGood設(shè)定,則顯示錯誤停止信息。Group指定驅(qū)動程序或者服務(wù)隸屬的組。此項設(shè)定允許驅(qū)動程序或者服務(wù)同步啟動(比入: 文件系統(tǒng)驅(qū)動程序)注
51、冊表子鍵HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSet'C on trol'ServiceGroupOrder中 的List項指定了組項啟動順序。ImagePath如果存在ImagePath項,該項用于標(biāo)示驅(qū)動程序或者服務(wù)的路徑和文件名。您可以使用 Windows Explorer核實這些路徑和文件名。ObjectName指定一個對象名。 如果 Type項指定一個 Windows XP Professional服務(wù),那么 它就代表服務(wù)運行時用于登陸的帳戶名。Tag指定一個驅(qū)動程序在驅(qū)動程序組中的啟動順序。會話管理器當(dāng)所有標(biāo)志為 Boot和
52、Startup數(shù)據(jù)類型的注冊表子鍵執(zhí)行完成后,kernel開始加載會話管理器Session Manager,由它(Smss.exe)執(zhí)行后續(xù)重要的初始化工作,比如:創(chuàng)建系統(tǒng)環(huán)境變量啟動 Windows子系統(tǒng)核心保護(hù)模式(通過 systemrootSystem32Win32k.sys 實現(xiàn)),這將Windows XP Professional從文本模式切換至圖形模式?;赪indows的應(yīng)用程序都運行在Windows子系統(tǒng)上,這個環(huán)境下允許應(yīng)用程序訪問操作系統(tǒng)功能函數(shù),比如在屏幕上顯示 信息。啟動 Windows子系統(tǒng)用戶模式部分(通過systemrootSystem32Csrss.exe實現(xiàn))
53、.啟動登陸管理器(通過 systemrootSystem32Winlogon.exe 實現(xiàn)).創(chuàng)建輔助虛擬內(nèi)存頁文件為存放在下列子鍵中的文件列表,執(zhí)行延遲的重命名操作。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSet'Co ntrol'Sessio nManagerPendingFileRenameOperations.比如:當(dāng)您安裝了一個新的驅(qū)動程序或者應(yīng)用程序 后,系統(tǒng)可能會提示您重新啟動,以便Windows XP Professional能夠替換當(dāng)前正在使用的文件。Windows子系統(tǒng)和基于它執(zhí)行的應(yīng)用程序是用戶模式進(jìn)程,它們不能直接
54、訪問硬件和設(shè)備 驅(qū)動。用戶模式進(jìn)程執(zhí)行優(yōu)先級低于核心進(jìn)程,當(dāng)操作系統(tǒng)需要更多內(nèi)存的時候,它可以將被用戶模式下進(jìn)程使用的內(nèi)存緩存到虛擬頁面文件。關(guān)于用戶模式和核心模式組件的信息, 請參考"Common Stop Messages for Troubleshooting"。會話管理器Session Manager將搜索注冊表,以獲得服務(wù)信息,注冊表鍵值如下:HKEY_LOCAL_MACHINESYSTEMCurrentControlSet'Control'SessionManager 包含一個在服務(wù)裝載之前運行的命令列表Autochk.exe工具由 BootEx
55、ecute項的值和存儲在Memory Management子鍵中的虛擬內(nèi)存(頁面文件)設(shè)置所指定。 Autochk,是 Chkdsk工具的一個版本,如果操作系統(tǒng)檢測到一個文件系統(tǒng)錯誤,需要在完成啟動過程之前進(jìn)行修復(fù),那么就會在啟動的時候運行它。關(guān)于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.服務(wù)控制管理器(Service Control Manager)初始化那些設(shè)置為啟動自動加載的服務(wù)。登錄階段在此階段 Windows子系統(tǒng)啟動 Winlogon.exe,此模塊為系統(tǒng)服務(wù),以完成用戶的登入或者 登出的動作。Winlogon.exe所完成的功能如下:啟動服務(wù)子系統(tǒng)(Services.exe),也稱為服務(wù)控制管理器(SCM).啟動本地安全性授權(quán)進(jìn)程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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國聚合物氧化抑制劑市場發(fā)展方向及前景經(jīng)營策略研究報告
- 2025至2030中國精萃靈芝行業(yè)市場運營模式及未來發(fā)展動向研究報告
- 2025至2030中國石蠟相變材料(PCM)市場占有率調(diào)查與發(fā)展動向規(guī)劃報告
- 2025至2030中國益生菌行業(yè)銷售狀況與競爭動態(tài)研究報告
- 2025至2030中國甲烷濃度檢測儀行業(yè)經(jīng)營態(tài)勢及供需形勢研究報告
- 2025至2030中國玻璃行業(yè)需求趨勢及經(jīng)營效益研究報告
- 2025至2030中國清管器市場消費渠道與發(fā)展前景趨勢展望報告
- 2025至2030中國海苔市場產(chǎn)銷需求及投資前景研究報告
- 2025至2030中國水煤漿行業(yè)經(jīng)營模式及投資前景預(yù)測研究報告
- 2025至2030中國氫碘酸行業(yè)戰(zhàn)略規(guī)劃及投資價值評估研究報告
- 戊酸二氟可龍乳膏-臨床用藥解讀
- 2024年臨期食品創(chuàng)新創(chuàng)業(yè)計劃書
- 2023鋼膜結(jié)構(gòu)停車棚施工合同協(xié)議書
- 電力行業(yè)安全檢查表(文檔-)(正式版)
- 小學(xué)生古詩詞知識競賽題(附答案)
- 基于激光點云數(shù)據(jù)的三維模型構(gòu)建
- 喬木栽植施工方案
- 《新時代勞動教育》新時代勞動價值觀
- 6人小品《沒有學(xué)習(xí)的人不傷心》臺詞完整版
- 直述句與轉(zhuǎn)述句互換
- 物業(yè)公司投標(biāo)文件資料
評論
0/150
提交評論