?? 七。★★★計算機啟動過程詳解.txt
字號:
七。★★★計算機啟動過程詳解
打開電源啟動機器幾乎是電腦愛好者每天必做的事情,面對屏幕上出現(xiàn)的一幅幅啟動畫面,我們一點兒也不會感到陌生,但是,計算機在顯示這些啟動畫面時都做了些什么工作呢?相信有的朋友還不是很清楚,本文就來介紹一下從打開電源到出現(xiàn)Windows的藍天白云時,計算機到底都干了些什么事情。
首先讓我們來了解一些基本概念。第一個是大家非常熟悉的BIOS(基本輸入輸出系統(tǒng)),BIOS是直接與硬件打交道的底層代碼,它為*作系統(tǒng)提供了控制硬件設備的基本功能。BIOS包括有系統(tǒng)BIOS(即常說的主板BIOS)、顯卡BIOS和其它設備(例如IDE控制器、SCSI卡或網卡等)的BIOS,其中系統(tǒng)BIOS是本文要討論的主角,因為計算機的啟動過程正是在它的控制下進行的。BIOS一般被存放在ROM(只讀存儲芯片)之中,即使在關機或掉電以后,這些代碼也不會消失。
第二個基本概念是內存的地址,我們的機器中一般安裝有32MB、64MB或128MB內存,這些內存的每一個字節(jié)都被賦予了一個地址,以便CPU訪問內存。32MB的地址范圍用十六進制數(shù)表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB內存非常特殊,因為最初的8086處理器能夠訪問的內存最大只有1MB,這1MB的低端640KB被稱為基本內存,而A0000H~BFFFFH要保留給顯示卡的顯存使用,C0000H~FFFFFH則被保留給BIOS使用,其中系統(tǒng)BIOS一般占用了最后的64KB或更多一點的空間,顯卡BIOS一般在C0000H~C7FFFH處,IDE控制器的BIOS在C8000H~CBFFFH處。
好了,下面我們就來仔細看看計算機的啟動過程吧。
第一步: 當我們按下電源開關時,電源就開始向主板和其它設備供電,此時電壓還不太穩(wěn)定,主板上的控制芯片組會向CPU發(fā)出并保持一個RESET(重置)信號,讓CPU內部自動恢復到初始狀態(tài),但CPU在此刻不會馬上執(zhí)行指令。當芯片組檢測到電源已經開始穩(wěn)定供電了(當然從不穩(wěn)定到穩(wěn)定的過程只是一瞬間的事情),它便撤去RESET信號(如果是手工按下計算機面板上的Reset按鈕來重啟機器,那么松開該按鈕時芯片組就會撤去RESET信號),CPU馬上就從地址FFFF0H處開始執(zhí)行指令,從前面的介紹可知,這個地址實際上在系統(tǒng)BIOS的地址范圍內,無論是Award BIOS還是AMI BIOS,放在這里的只是一條跳轉指令,跳到系統(tǒng)BIOS中真正的啟動代碼處。
第二步: 系統(tǒng)BIOS的啟動代碼首先要做的事情就是進行POST(Power-On Self Test,加電后自檢),POST的主要任務是檢測系統(tǒng)中一些關鍵設備是否存在和能否正常工作,例如內存和顯卡等設備。由于POST是最早進行的檢測過程,此時顯卡還沒有初始化,如果系統(tǒng)BIOS在進行POST的過程中發(fā)現(xiàn)了一些致命錯誤,例如沒有找到內存或者內存有問題(此時只會檢查640K常規(guī)內存),那么系統(tǒng)BIOS就會直接控制喇叭發(fā)聲來報告錯誤,聲音的長短和次數(shù)代表了錯誤的類型。在正常情況下,POST過程進行得非常快,我們幾乎無法感覺到它的存在,POST結束之后就會調用其它代碼來進行更完整的硬件檢測。
第三步: 接下來系統(tǒng)BIOS將查找顯卡的BIOS,前面說過,存放顯卡BIOS的ROM芯片的起始地址通常設在C0000H處,系統(tǒng)BIOS在這個地方找到顯卡BIOS之后就調用它的初始化代碼,由顯卡BIOS來初始化顯卡,此時多數(shù)顯卡都會在屏幕上顯示出一些初始化信息,介紹生產廠商、圖形芯片類型等內容,不過這個畫面幾乎是一閃而過。系統(tǒng)BIOS接著會查找其它設備的BIOS程序,找到之后同樣要調用這些BIOS內部的初始化代碼來初始化相關的設備。
第四步: 查找完所有其它設備的BIOS之后,系統(tǒng)BIOS將顯示出它自己的啟動畫面,其中包括有系統(tǒng)BIOS的類型、序列號和版本號等內容。
第五步: 接著系統(tǒng)BIOS將檢測和顯示CPU的類型和工作頻率,然后開始測試所有的RAM,并同時在屏幕上顯示內存測試的進度,我們可以在CMOS設置中自行決定使用簡單耗時少或者詳細耗時多的測試方式。
第六步: 內存測試通過之后,系統(tǒng)BIOS將開始檢測系統(tǒng)中安裝的一些標準硬件設備,包括硬盤、CD-ROM、串口、并口、軟驅等設備,另外絕大多數(shù)較新版本的系統(tǒng)BIOS在這一過程中還要自動檢測和設置內存的定時參數(shù)、硬盤參數(shù)和訪問模式等。
第七步: 標準設備檢測完畢后,系統(tǒng)BIOS內部的支持即插即用的代碼將開始檢測和配置系統(tǒng)中安裝的即插即用設備,每找到一個設備之后,系統(tǒng)BIOS都會在屏幕上顯示出設備的名稱和型號等信息,同時為該設備分配中斷、DMA通道和I/O端口等資源。
第八步: 到這一步為止,所有硬件都已經檢測配置完畢了,多數(shù)系統(tǒng)BIOS會重新清屏并在屏幕上方顯示出一個表格,其中概略地列出了系統(tǒng)中安裝的各種標準硬件設備,以及它們使用的資源和一些相關工作參數(shù)。
第九步: 接下來系統(tǒng)BIOS將更新ESCD(Extended System Configuration Data,擴展系統(tǒng)配置數(shù)據(jù))。ESCD是系統(tǒng)BIOS用來與*作系統(tǒng)交換硬件配置信息的一種手段,這些數(shù)據(jù)被存放在CMOS(一小塊特殊的RAM,由主板上的電池來供電)之中。通常ESCD數(shù)據(jù)只在系統(tǒng)硬件配置發(fā)生改變后才會更新,所以不是每次啟動機器時我們都能夠看到“Update ESCD… Success”這樣的信息,不過,某些主板的系統(tǒng)BIOS在保存ESCD數(shù)據(jù)時使用了與Windows 9x不相同的數(shù)據(jù)格式,于是Windows 9x在它自己的啟動過程中會把ESCD數(shù)據(jù)修改成自己的格式,但在下一次啟動機器時,即使硬件配置沒有發(fā)生改變,系統(tǒng)BIOS也會把ESCD的數(shù)據(jù)格式改回來,如此循環(huán),將會導致在每次啟動機器時,系統(tǒng)BIOS都要更新一遍ESCD,這就是為什么有些機器在每次啟動時都會顯示出相關信息的原因。
第十步: ESCD更新完畢后,系統(tǒng)BIOS的啟動代碼將進行它的最后一項工作,即根據(jù)用戶指定的啟動順序從軟盤、硬盤或光驅啟動。以從C盤啟動為例,系統(tǒng)BIOS將讀取并執(zhí)行硬盤上的主引導記錄,主引導記錄接著從分區(qū)表中找到第一個活動分區(qū),然后讀取并執(zhí)行這個活動分區(qū)的分區(qū)引導記錄,而分區(qū)引導記錄將負責讀取并執(zhí)行IO.SYS,這是DOS和Windows 9x最基本的系統(tǒng)文件。Windows 9x的IO.SYS首先要初始化一些重要的系統(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過程將被跳過去,直接從第三步開始,另外第五步的檢測CPU和內存測試也不會再進行。我們可以看到,無論是冷啟動還是熱啟動,系統(tǒng)BIOS都一次又一次地重復進行著這些我們平時并不太注意的事情,然而正是這些單調的硬件檢測步驟為我們能夠正常使用電腦提供了基礎。
現(xiàn)在市場上主流的品牌機隨機安裝的*作系統(tǒng)一般為Windows XP,但是,部分用戶可能仍然對Windows 98、Windows ME或Windows 2000等*作系統(tǒng)情有獨鐘,希望能在不破壞原*作系統(tǒng)的前提下,再安裝一下以上*作系統(tǒng)。按常規(guī)來說,如不使用第三方的軟件,我們在安裝微軟的Windows系列*作系統(tǒng)時,應該按照從低版本到高版本的順序來依次安裝;如果使用第三方的軟件,又會涉及到所使用的軟件的版權及用法問題,對一般用戶來說顯然是不太合適的。其實,按我們在本文提供的方法,不使用第三方的任何軟件也能實現(xiàn)*作系統(tǒng)反著裝,而且十分簡單!
例如我的聯(lián)想品牌機,硬盤的C區(qū)安裝Windows XP家庭版,C區(qū)的文件格式為FAT 32,其它分區(qū)的文件系統(tǒng)也是FAT 32。使用本文的辦法來安裝Windows 98,C區(qū)和安裝Windows 98的分區(qū)的文件系統(tǒng)均需要轉化為FAT 32,否則需要第三方的啟動軟件。當然,如果文件格式為NTFS,我們可以使用“Partition Magic”這款軟件來將它無損轉換為FAT 32。
準備:支持光驅啟動的Windows 98/ME啟動軟盤;DEBUG.EXE文件(可從Windows\Command文件夾中拷貝到啟動軟盤,或從EBD.CAB中解壓縮出來)。
步驟:
第一部分:
安裝Windows 98/ME*作系統(tǒng)
1.將Windows 98/ME的安裝光盤放入光驅; 2.使用制作好的啟動盤來啟動電腦;
3.按照正常的安裝Windows 98/ME的方法來安裝*作系統(tǒng);只是不要將Windows 98/ME安裝在Windows XP所在的分區(qū);
4.安裝好之后,將電腦啟動到Windows 98/ME*作系統(tǒng)。
第二部分:
修改“BOOTSECT.DOS”文件
按照以上方法安裝Windows 98/ME*作系統(tǒng)之后,會修改Windows XP所必需的啟動文件,我們需要對“BOOTSECT.DOS”文件進行修改以修復它的啟動文件。
1.打開“記事本”或其它的文本編輯軟件來制作“READ.SCR”(文件名可以更改),內容如下:
L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q
2.將以上制作好的文件拷貝到啟動盤中;
3.用啟動盤啟動電腦到DOS方式;
4.修改“BOOTSECT.DOS”的文件屬性,使用以下命令:
ATTRIB C:\BOOTSECT.DOS -S -H -R
5.在命令提示符下輸入:DEBUG
第三部分:
修復Windows XP
1.修改BIOS中的啟動選項,使電腦能從光驅啟動;也可以使用剛才制作好的啟動盤來啟動電腦,再在命令提示下輸入f:\i386\winnnt.exe(f為光驅的盤符)來運行安裝指令;
2.在安裝Windows XP時,我們要選擇“修復”項,以修復硬盤中已安裝的*作系統(tǒng);
3.選擇需要登錄的*作系統(tǒng),通常為“1”,鍵入“1”,并輸入管理員口令(安裝時所設定的,安裝Windows XP家庭版的聯(lián)想品牌機的用戶只需要按回車鍵即可);
4.在命令提示符下鍵入“FIXBOOT”,以修復Windows XP的啟動文件;
5.拿出光驅中的Windows XP安裝光盤,重新啟動電腦,并在BIOS修改啟動選項,將它設置為從硬盤啟動。
現(xiàn)在,你就可以看到Windows XP的啟動菜單了,并能選擇所需要進入的*作系統(tǒng)。重新啟動電腦之后,我們就可以選擇需要啟動的*作系統(tǒng)了。是不是很簡單?
第四部分:
WinXP下安裝Win2000
在安裝好Windows XP之后,再安裝Windows 2000比安裝98或ME要簡單得多。本文所說的方法也不用第三方的軟件,而且可以在FAT32 或NTFS的文件格式上進行*作。
1.首先,打開“控制面板”,選擇“文件夾選項”并雙擊,在“文件夾選項”窗口中選擇“查看”,在“高級設置”中將“隱藏受保護的*作系統(tǒng)文件”前的“√”去掉,以顯示我們所需要的兩個系統(tǒng)文件:“NTLDR”和“NTDETECT.COM”;
2.將以上兩個文件拷貝到一張軟盤中;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -