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