| 前言 計算機啟動(dòng)原理(軟硬詳解)2 ![]() 四.CPU,內存檢測 自此系統就具備了最基本的運行條件.可以對主板上的其它部分進(jìn)行診斷和測試(例如CMOS錯誤)再發(fā)現故障時(shí),屏幕上會(huì )有提示,但一般不死機,當查找完所有其他設備的BIOS之后,系統BIOS將顯示它自己的啟動(dòng)畫(huà)面,其中包括有系統BIOS的類(lèi)型,序列號和版本號等內容,同?.聊蛔蟊咧猩轄腔岢魷種靼逍畔⒋ 耄 ˙IOS的日期、主板芯片組型號、廠(chǎng)家的代碼等。接著(zhù)系統BIOS將檢測CPU的類(lèi)型和工作頻率,并將結果顯示在屏幕上;然后BIOS開(kāi)始測試主機的內存容量,并在屏幕上顯示內存測試數值。(就是大家所熟悉的屏幕上半部分那個(gè)飛速翻滾的內存計數器)當BIOS畫(huà)面最下方出行"DEL"的文字時(shí)就可以按下鍵盤(pán)上的"DEL"鍵(按照你的主板說(shuō)明按下相應的鍵)進(jìn)行BIOS設置了.如圖2: ![]() 四.標準硬件設備與即插即用設備檢測 下一步BIOS將開(kāi)始檢測系統中安裝的一些標準硬件設備:硬盤(pán)、CD-ROM、軟驅、串行和并行接口等設備。標準設備檢測完畢后,系統BIOS內部支持即插即用的代碼將開(kāi)始檢測和配置系統中安裝的即插即用設備,同時(shí)為該設備分配中斷、DMA通道和I/O端口等資源,到此所有硬件都已經(jīng)檢測配置完畢.BIOS會(huì )重新清屏并在屏幕上方顯示出一個(gè)系統配置表,其中簡(jiǎn)略地列出安裝的各種標準硬件設備及相關(guān)工作參數。最后系統BIOS將更新ESCD(Extended System Configuration Data,擴展系統配置數據)。(ESCD是系統BIOS用來(lái)與操作系統交換硬件配置信息的數據,這些數據被存放在CMOS中。通常ESCD數據只在系統硬件配置發(fā)生改變后才會(huì )進(jìn)行更新,并不是每次啟動(dòng)都需要更新。ESCD數據更新完畢后,系統BIOS的啟動(dòng)代碼將進(jìn)行它的最后一項工作,即根據用戶(hù)指定的啟動(dòng)順序從軟盤(pán)、硬盤(pán)或光驅啟動(dòng).) 六。 硬盤(pán)引導 一.上述過(guò)程完畢了之后,首先BIOS檢測硬盤(pán)并進(jìn)行復位,然后根據用戶(hù)在BIOS的設置來(lái)檢查從哪一個(gè)設置引導系統,例如軟驅?zhuān)脖P(pán),光驅等,而其中最常用的就是硬盤(pán)引導了.從硬盤(pán)引導之后,BIOS把主引導記錄讀入內存,關(guān)將控制權交給主引導程序,檢查分區表,尋找活動(dòng)分區(這就是為什么在用Fdisk分區時(shí)要設置活動(dòng)分區了)找到之后再將控制權交給活動(dòng)分區的引尋記錄,由引尋記錄來(lái)引導操作系統.若成功引導接著(zhù)屏幕便出行系統啟動(dòng)的界面如XP的標志畫(huà)面,圖3 ![]() 可以按下F8鍵選擇啟模式.如不成功將會(huì )出現出錯信息,例子: 如果硬盤(pán)上的分區表被破壞后,啟動(dòng)系統時(shí)往往會(huì )出現“Non-System disk or disk error,replace disk and press a key to reboot”(非系統盤(pán)或盤(pán)出錯)、“Error Loading Operating System”(裝入DOS引導記錄錯誤)或者“No ROM Basic,System Halted”(不能進(jìn)入ROM Basic,系統停止響應)就無(wú)法啟動(dòng)系統了. 為了照顧新手下面給出一下說(shuō)明,請認真看: 硬盤(pán)主引導記錄(MBR):硬盤(pán)主引導記錄區位于硬盤(pán)的首部,負責搜索硬盤(pán)可以啟動(dòng)的分區.對于DOS來(lái)說(shuō),它是由Fdisk生成的.主引導記錄著(zhù)從分區表中找到第一個(gè)活動(dòng)分區,然后讀取并執行這個(gè)活動(dòng)分區的分區引導記錄 活動(dòng)分區:當我們在DOS用Fdisk命令硬盤(pán)分區時(shí),一定要設一個(gè)主分區為活動(dòng)分區,不然系統無(wú)法啟動(dòng).一般來(lái)說(shuō)活動(dòng)分區就是我們平時(shí)用的系統盤(pán)C盤(pán). 分區表(DPT):分區表DPT則以80H或00H為開(kāi)始標志,以55AAH為結束標志,位于主引導扇區的最末端。整個(gè)分區表決定了硬盤(pán)中的分區數量,每個(gè)分區的起始及終止扇區、大小以及是否為活動(dòng)分區等。 活動(dòng)分區的引尋記錄:對于不同的系統,引導記錄讀取執行的文件是不一樣的,對于DOS和WIN9X而言,分區引導記錄執行"IO.sys" 對于WIN2000\XP來(lái)說(shuō),則是由"NTLDR"程序來(lái)執行的. 以上介紹的便是計算機在打開(kāi)電源開(kāi)關(guān)(或按Reset鍵)進(jìn)行冷啟動(dòng)時(shí)所要完成的各種初始化工作,如果我們在DOS下按Ctrl+Alt+Del組合鍵(或從Windows中選擇重新啟動(dòng)計算機)來(lái)進(jìn)行熱啟動(dòng),那么POST過(guò)程將被跳過(guò)去,直接從第三步開(kāi)始,另外的檢測CPU和內存測試也不會(huì )再進(jìn)行。我們可以看到,無(wú)論是冷啟動(dòng)還是熱啟動(dòng),系統BIOS都一次又一次地重復進(jìn)行著(zhù)這些我們平時(shí)并不太注意的事情,然而正是這些單調的硬件檢測步驟為我們能夠正常使用電腦提供了基礎。 ------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------- 2.軟件部方(以XP系統為例說(shuō)明) 注明: 要讓W(xué)indows XP正確啟動(dòng),在啟動(dòng)和系統分區中必須有以下文件: Ntldr 位于系統分區根目錄中 Boot.ini 位于系統分區根目錄中 Ntdetect.com 位于系統分區根目錄中 Ntoskrnl.exe 位于啟動(dòng)分區中的Windows\System32目錄中 Hal.dll 位于啟動(dòng)分區中的Windows\System32目錄中 注冊表文件 位于啟動(dòng)分區中的Windows\System32 \Config\System目錄中 設備驅動(dòng)程序 位于啟動(dòng)分區中的Windows\System32 \Drivers目錄中 如果計算機中還裝有Win9X/Me,那么在系統分區根目錄中必須有Bootsect.dos;如果計算機中有SCSI設備,系統分區根目錄中還必須有Ntbootdd.sys。 1.系統啟動(dòng)引導階段 Ntldr讀取將boot.ini的內容, 定位操作系統所在的啟動(dòng)分區。如果計算機中只有一個(gè)操作系統,Ntldr會(huì )自動(dòng)執行下一步。如果計算機中有多個(gè)操作系統,那么這時(shí)會(huì )有一個(gè)選單讓你選擇你要啟動(dòng)的操作系統,當你選擇Windows NT 4.0/2000/XP/2003時(shí),Ntldr也會(huì )執行下一步;當你選擇Windows 9X/Me時(shí),Ntldr會(huì )把計算機的控制權交給Bootsect.dos. 檢測和配置硬件階段 啟動(dòng)Windows XP后(以XP說(shuō)明),Ntldr啟動(dòng)ntdetect.com。ntdetect.com將收集計算機硬件信息列表并將列表返回到Ntldr,這樣做的目的是便于以后將這些硬件信息加入到注冊表HKEY_LOCAL_MACHINE下的hardware中。ntdetect.com的重要性在于在不兼容ACPI(Advanced Configuration and Power Interface)的計算機中列舉設備,這種情況下,設備資源是由硬件分配的。在兼容ACPI的計算機中,設備資源是由操作系統分配的。在這個(gè)過(guò)程中,ntdetect.com會(huì )查找Windows XP 創(chuàng )建的硬件配置文件。Windows XP會(huì )為桌面型電腦創(chuàng )建一個(gè)硬件配置文件,為移動(dòng)型電腦創(chuàng )建兩個(gè)硬件配置文件,用戶(hù)也可以創(chuàng )建自己特定的硬件配置文件。硬件配置文件中沒(méi)有的設備的驅動(dòng)程序不會(huì )在Windows XP啟動(dòng)過(guò)程中加載。對于有多個(gè)硬件配置文件的計算機,用戶(hù)可以選擇是否在啟動(dòng)時(shí)顯示硬件配置文件選單以便用戶(hù)選擇特定的硬件配置文件。 2.內核加載階段 在這個(gè)階段,ntldr首先加載稱(chēng)為Windows XP內核的ntokrnl.exe。這里,系統加載了Windows XP內核但是沒(méi)有將它初始化。接著(zhù)ntldr加載硬件抽象層(Hardware Abstraction Layer,hal.dll),然后,系統繼續加載HKEY_LOCAL_MACHINE\SYSTEM鍵,ntldr讀取HKEY_LOCAL_MACHINE\SYSTEM\Select中的鍵值來(lái)決定哪一個(gè)ControlSet(熟悉注冊表的朋友一定都發(fā)現在HKEY_LOCAL_MACHINE\SYSTEM下有好幾個(gè)ControlSet,比如ControlSet001,ControlSet002 )將被加載。ControlSet中包含設備的驅動(dòng)程序以及需要加載的服務(wù)。ntldr加載HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\...(這里,ControlSetXXX指Select中選定的ControlSet,...指服務(wù)的名稱(chēng))下start鍵值為0的最底層設備驅動(dòng)。當作為ControlSet鏡像的CurrentControlSet被加載時(shí),ntldr將計算機的控制權交給Windows XP內核的ntokrnl.exe,初始化內核就開(kāi)始了。 初始化內核開(kāi)始的時(shí)候,彩色的Windows XP的logo以及進(jìn)度條顯示在屏幕中央,在這個(gè)階段,系統完成了啟動(dòng)的4項任務(wù): 1)內核使用在硬件檢測時(shí)收集到的數據來(lái)創(chuàng )建HKEY_LOCAL_MACHINE\HARDWARE鍵。 2)內核通過(guò)復制HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet的值來(lái)創(chuàng )建了HKEY_LOCAL_MACHINE\ SYSTEM \Clone。Clone是計算機數據的備份,不包括啟動(dòng)中的改變,也不會(huì )被修改。 3)系統完成初始化以及加載設備驅動(dòng)程序,內核初始化那些在加載內核階段被加載的底層驅動(dòng)程序,然后內核掃描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\...下start鍵值為1的設備驅動(dòng)程序。這些設備驅動(dòng)程序在加載的時(shí)候便完成初始化,如果有錯誤發(fā)生,內核使用ErrorControl鍵值來(lái)決定如何處理,值為3時(shí),錯誤標志為危機/關(guān)鍵,系統初次遇到錯誤會(huì )以HKEY_LOCAL_MACHINE\SYSTEM\Select中LastKnownGood 所指的ControlSet重新啟動(dòng),如果使用LastKnownGood ControlSet啟動(dòng)仍然產(chǎn)生錯誤,系統報告啟動(dòng)失敗,錯誤信息將被顯示,系統停止啟動(dòng);值為2時(shí)錯誤情況為嚴重,系統啟動(dòng)失敗并且以L(fǎng)astKnownGood ControlSet重新啟動(dòng),如果系統啟動(dòng)已經(jīng)在使用LastKnownGood值,它會(huì )忽略錯誤并且繼續啟動(dòng);當值是1的時(shí)候錯誤為普通,系統會(huì )產(chǎn)生一個(gè)錯誤信息,但是會(huì )忽略這個(gè)錯誤并且繼續啟動(dòng);當值是0的時(shí)候忽略,系統不會(huì )顯示任何錯誤信息而繼續運行。 4)內核啟動(dòng)Session Manager(Smss.exe)。Session Manager的作用是啟動(dòng)Windows XP高級子系統以及服務(wù),啟動(dòng)控制所有輸入、輸出設備以及訪(fǎng)問(wèn)顯示器屏幕的Win32子系統以及Windows登陸進(jìn)程(Winlogon.exe)。到這里,初始化內核就完成了。 3.登陸階段 Winlogon.exe首先啟動(dòng)服務(wù)管理(Service Control Manager,Services.exe)和本地安全認證(Local Security Authority,Lsass.exe),同時(shí)顯示W(wǎng)indows XP歡迎屏幕,這時(shí)候,系統還可能在后臺繼續初始化剛才沒(méi)有完成的驅動(dòng)程序。然后Winlogon會(huì )提示用戶(hù)輸入有效的用戶(hù)名或密碼(如果Windows XP中除了默認的administrator和隱藏帳戶(hù)外只有一個(gè)用戶(hù)帳戶(hù)且沒(méi)有密碼,Windows XP會(huì )跳過(guò)這一步)。接著(zhù),服務(wù)管理最后執行以及掃描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives來(lái)檢查是否還有服務(wù)需要加載,服務(wù)管理查找start鍵值為2或更高的服務(wù),服務(wù)按照start的值以及DependOnGroup和DepandOnService的值來(lái)加載。 只有用戶(hù)成功登陸到計算機后,Windows XP的啟動(dòng)才被認為是完成,在成功登陸后,系統拷貝HKEY_LOCAL_MACHINE\SYSTEM\Clone到LastKnownGood ControlSet,完成這一步驟后,系統才意味著(zhù)已經(jīng)成功引導了 |
聯(lián)系客服