999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

揭秘系統(tǒng)引導(dǎo)

2014-07-31 08:55:16劉宗凡
中國(guó)信息技術(shù)教育 2014年13期

劉宗凡

高手論技

編者按:?jiǎn)?dòng),是可以正常使用的前奏汽車(chē)的啟動(dòng)、手機(jī)的啟動(dòng)、計(jì)算機(jī)的啟動(dòng)……日常生活中隨處可見(jiàn)的啟動(dòng),你可曾關(guān)注過(guò)?這其中,計(jì)算機(jī)的啟動(dòng)尤為復(fù)雜。在此,主持人和嘉賓將分兩期揭秘系統(tǒng)啟動(dòng)時(shí)的引導(dǎo)工作。

當(dāng)按下計(jì)算機(jī)的電源開(kāi)關(guān)鍵,等待系統(tǒng)啟動(dòng)時(shí),可能我們并沒(méi)有留意屏幕上不斷變化的英文,也沒(méi)有思考過(guò),為什么安裝在硬盤(pán)中的操作系統(tǒng)能夠啟動(dòng)。看似理所當(dāng)然的背后,其實(shí)隱藏著不少“秘密”。

● 聲名顯赫的BIOS

1.BIOS是如何引導(dǎo)系統(tǒng)的

BIOS是英文“Basic Input Output System”的縮略語(yǔ),直譯過(guò)來(lái)后中文名稱(chēng)就是“基本輸入輸出系統(tǒng)”。其實(shí),它是一組固化到計(jì)算機(jī)主板上的ROM芯片上的程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出的程序、系統(tǒng)設(shè)置信息、開(kāi)機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序。 其主要功能是為計(jì)算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。

當(dāng)我們接通電源或系統(tǒng)被重置時(shí),處理器會(huì)執(zhí)行一個(gè)位于BIOS的代碼。CPU會(huì)調(diào)用這個(gè)重置向量來(lái)啟動(dòng)一個(gè)位于BIOS芯片ROM(只讀存儲(chǔ)器)中的已知地址處的程序。通常,它執(zhí)行一個(gè)啟動(dòng)自測(cè)(POST)來(lái)檢查機(jī)器。然后,它從引導(dǎo)驅(qū)動(dòng)器上的主引導(dǎo)記錄(MBR)加載第一個(gè)扇區(qū)。

引導(dǎo)程序就位于硬盤(pán)或軟盤(pán)中 MBR的第一個(gè)扇區(qū)里。此時(shí)引導(dǎo)程序被裝入RAM(隨機(jī)讀寫(xiě)存儲(chǔ)器)并執(zhí)行。這個(gè)引導(dǎo)加載程序小于 512 字節(jié)(一個(gè)扇區(qū))。

BIOS自檢完成之后,將MBR的代碼讀入內(nèi)存,管理權(quán)交給主引導(dǎo)記錄MBR,MBR再讀取DPT(Disk Partition Table,硬盤(pán)分區(qū)表),從 DPT中找出硬盤(pán)的所有分區(qū)哪一個(gè)是激活的主分區(qū)。DPT讀完并找到主分區(qū)之后便開(kāi)始找這個(gè)主分區(qū)的PBR(Partition Boot Record,分區(qū)引導(dǎo)記錄),PBR位于激活主分區(qū)的第一個(gè)扇區(qū)。不同的操作系統(tǒng)PBR是不同的,Windows XP的PBR寫(xiě)進(jìn)的代碼是去找NTLDR,而Windows Vista和Windows 7的PBR里寫(xiě)進(jìn)的就是去找 Bootmgr。

Bootmgr被找到之后管理權(quán)就交給了Bootmgr。Boot Manager調(diào)用Bootmgr與相應(yīng)語(yǔ)言的bootmgr.exe,然后顯示器上顯示引導(dǎo)管理器,也就是選擇多操作系統(tǒng)的那個(gè)文字界面。選擇了相應(yīng)的操作系統(tǒng)后,Bootmgr就去尋找系統(tǒng)分區(qū)Windows/System32下的Winload.exe加載操作系統(tǒng)內(nèi)核。如果操作系統(tǒng)沒(méi)有問(wèn)題,之后我們就可以看到登錄界面或桌面了。

2.BIOS的基本功能

我們已經(jīng)了解了BIOS是如何引導(dǎo)操作系統(tǒng)的,那它具體有哪些功能呢?

(1)檢測(cè)硬件(POST)。對(duì)計(jì)算機(jī)的基本硬件進(jìn)行檢測(cè),看能不能正常工作,如我們看到的內(nèi)存數(shù)不斷跳動(dòng),這就是在做內(nèi)存檢測(cè)(Memory Test)。

(2)初始化硬件,設(shè)置其基本狀態(tài),使得整個(gè)計(jì)算機(jī)達(dá)到所謂的“可用狀態(tài)”(Ready State)。硬件的設(shè)計(jì)廠家往往為了通用市場(chǎng)的考慮,不愿意將硬件設(shè)計(jì)成定制的狀態(tài)。為了使硬件能夠按照PC的架構(gòu)工作,BIOS必須要按照由獨(dú)立硬件供應(yīng)商提供的手冊(cè)將硬件設(shè)置好,如寫(xiě)幾個(gè)必須的寄存器之類(lèi)的,做一些Enable的工作。如果一個(gè)硬件沒(méi)有Enable,那么在OS下將不可見(jiàn)。

(3)啟動(dòng)OS Loader加載操作系統(tǒng)。系統(tǒng)啟動(dòng)的方式是由BIOS規(guī)定的,操作系統(tǒng)必須按照BIOS的要求來(lái)設(shè)計(jì)。這也是為什么操作系統(tǒng)從DOS一直到Vista,都只能把自己的loader放在MBR,因?yàn)锽IOS只讀MBR。當(dāng)然,在EFI時(shí)代,這一點(diǎn)有所改變,EFI支持的Boot From File不再需要MBR。

(4)在操作系統(tǒng)啟動(dòng)起來(lái)以后,一部分繼續(xù)駐留內(nèi)存,向操作系統(tǒng)以及其他軟件提供基本的系統(tǒng)級(jí)的服務(wù),如磁盤(pán)讀寫(xiě)等。

(5)修復(fù)硬件缺陷。Intel在它的CPU里專(zhuān)門(mén)留了一個(gè)叫System Management Mode的模式,擁有最高的權(quán)限。SMM中斷的時(shí)候,就連號(hào)稱(chēng)無(wú)所不能的Windows也不知道,這時(shí)就可以給CPU補(bǔ)bug了。事實(shí)上,每次BIOS開(kāi)機(jī)的時(shí)候,都會(huì)更新CPU Microcode,同樣是用來(lái)給CPU補(bǔ)bug的。

3.BIOS存儲(chǔ)介質(zhì)的變遷

計(jì)算機(jī)內(nèi)存可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行不同的分類(lèi)。如果以是臨時(shí)還是永久存儲(chǔ)為衡量標(biāo)準(zhǔn),我們可以用下面的圖來(lái)展示計(jì)算機(jī)的存儲(chǔ)體系。

一張圖看懂計(jì)算機(jī)存儲(chǔ)體系

由于BIOS與硬件系統(tǒng)集成在一起,所以有時(shí)候也被稱(chēng)為固件。由于BIOS在系統(tǒng)啟動(dòng)前就要獲得控制權(quán),所以必須將其保存在永久存儲(chǔ)區(qū)域中,一般保存在只讀存儲(chǔ)器(ROM)中。

在計(jì)算機(jī)發(fā)展初期,BIOS都存放在ROM中。ROM內(nèi)部的資料是在ROM的制造工序中,在工廠里用特殊的方法燒錄進(jìn)去的,其中的內(nèi)容只能讀不能改,一旦燒錄進(jìn)去,用戶只能驗(yàn)證寫(xiě)入的資料是否正確,不能再作任何修改。

EPROM(Erasable Programmable ROM,可擦除可編程ROM)芯片可重復(fù)擦除和寫(xiě)入,解決了ROM芯片只能寫(xiě)入一次的弊端。EPROM芯片有一個(gè)很明顯的特征:在其正面的陶瓷封裝上,開(kāi)有一個(gè)玻璃窗口,透過(guò)該窗口,可以看到其內(nèi)部的集成電路,紫外線透過(guò)該孔照射內(nèi)部芯片就可以擦除其內(nèi)的數(shù)據(jù),完成芯片擦除的操作要用到EPROM擦除器。EPROM芯片在寫(xiě)入資料后,還要以不透光的貼紙或膠布把窗口封住,以免受到周?chē)淖贤饩€照射而使資料受損。

由于EPROM操作的不便,586以后的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,電可擦除可編程ROM)。通過(guò)跳線開(kāi)關(guān)和系統(tǒng)配帶的驅(qū)動(dòng)程序盤(pán),可以對(duì)EEPROM進(jìn)行重寫(xiě),方便地實(shí)現(xiàn)BIOS升級(jí)。

4.BIOS修復(fù)

BIOS負(fù)責(zé)引導(dǎo)系統(tǒng)的啟動(dòng),一旦出現(xiàn)錯(cuò)誤,可以想象得到,計(jì)算機(jī)系統(tǒng)就會(huì)癱瘓。臭名昭著的CIH病毒就是對(duì)BIOS進(jìn)行破壞,從而使計(jì)算機(jī)無(wú)法啟動(dòng)。另外,不適當(dāng)?shù)纳?jí)BIOS也可能導(dǎo)致BIOS被破壞。只要BIOS芯片本身沒(méi)損壞,都可以對(duì)其進(jìn)行修復(fù)?,F(xiàn)在大多數(shù)BIOS廠家都提供了啟動(dòng)引導(dǎo)塊保護(hù)功能。這個(gè)啟動(dòng)引導(dǎo)塊在一般情況下會(huì)被自動(dòng)寫(xiě)保護(hù),只有當(dāng)刷新程序接收到對(duì)EPROM進(jìn)行寫(xiě)入的明確命令后,啟動(dòng)引導(dǎo)塊才能夠被覆蓋。此外,啟動(dòng)引導(dǎo)塊還支持一些最基本的BIOS功能,如支持符合ISA協(xié)議的顯卡、軟盤(pán)驅(qū)動(dòng)和鍵盤(pán)輸入等。所以,只要系統(tǒng)具備了這幾項(xiàng)條件,就完全可以使主板的其他BIOS功能得到重新恢復(fù)。

(1)熱插拔修復(fù)。

熱插拔的工作原理:BIOS是由POST上的電自檢程序、系統(tǒng)啟動(dòng)自舉程序、BIOS中斷調(diào)用、BIOS系統(tǒng)設(shè)置程序四部分組成的,當(dāng)BIOS完成POST上的電自檢程序、系統(tǒng)啟動(dòng)自舉程序后,由操作系統(tǒng)接管系統(tǒng)的控制權(quán),完成機(jī)器的啟動(dòng)過(guò)程。在此之后,除了相關(guān)的程序要調(diào)用BIOS中的中斷程序外,BIOS已完成了它的歷史使命,如果此時(shí)我們冒險(xiǎn)把BIOS芯片拔下來(lái),根本不會(huì)影響系統(tǒng)的正常工作。這時(shí),把損壞的BIOS芯片插回主板,運(yùn)行相應(yīng)的刷新程序就可以重新把BIOS文件刷回來(lái)。

修復(fù)BIOS時(shí)采用熱插拔是危險(xiǎn)的,原因很簡(jiǎn)單,即任何元件都有一定的功率限額,ROM芯片也不例外。在帶電熱插拔元器件時(shí),由于各管腳的工作電壓不同,熱插拔過(guò)程中,各管腳不可能同時(shí)插上或拔下,因此電路中會(huì)不可避免地出現(xiàn)浪涌過(guò)電壓和過(guò)電流,過(guò)高的浪涌電壓會(huì)擊穿芯片內(nèi)的晶體管,而過(guò)大的浪涌電流會(huì)使芯片內(nèi)的鋁膜引線被熔斷,從而導(dǎo)致芯片毀壞型失效。

endprint

(2)刷新修復(fù)。

如果BIOS的啟動(dòng)引導(dǎo)模塊沒(méi)有損壞,我們可以利用純DOS啟動(dòng)盤(pán)來(lái)引導(dǎo)修復(fù)。因?yàn)檐涷?qū)已經(jīng)退出歷史,可以用U盤(pán)制作啟動(dòng)盤(pán),再將BIOS文件和刷新程序復(fù)制到啟動(dòng)盤(pán),修改autoexec.bat文件,以便系統(tǒng)啟動(dòng)時(shí)自動(dòng)載入并運(yùn)行BIOS刷新程序。如果主板支持ISA顯卡并且還有這樣的古董的話,用戶甚至可以將電腦啟動(dòng)到安全模式,從容刷新BIOS。

(3)用編程器修復(fù)。

如果BIOS引導(dǎo)模塊已經(jīng)被破壞,那么用編程器修復(fù)是既安全又方便的方法。用戶可以在任何一臺(tái)計(jì)算機(jī)上用編程器來(lái)升級(jí)或修復(fù)BIOS,當(dāng)燒錄好后,只要插在主板上即可使用。而且如果發(fā)現(xiàn)不正??梢灾匦聼洠∪チ松?jí)過(guò)程中怕出錯(cuò)的擔(dān)憂,也避免了“熱插拔”帶來(lái)的危險(xiǎn)。

(4)雙BIOS的修復(fù)。

為了避免BIOS損壞而導(dǎo)致系統(tǒng)故障,有些主板廠商使用了雙BIOS技術(shù)。其中備份BIOS平時(shí)并不工作,但當(dāng)主BIOS出現(xiàn)問(wèn)題時(shí),重啟電腦后主板自動(dòng)由備份BIOS接手修復(fù)主BIOS,修復(fù)完成后重啟由已修復(fù)好的主BIOS開(kāi)機(jī)??芍^非常安全。還有一種情況,當(dāng)BIOS出現(xiàn)錯(cuò)誤導(dǎo)致電腦反復(fù)重啟,此時(shí)主板不認(rèn)為主BIOS有錯(cuò)誤,因而無(wú)法自動(dòng)啟動(dòng)修復(fù)程序。這時(shí)就要手動(dòng)短接主BIOS的1、8腳,造成主BIOS錯(cuò)誤從而啟動(dòng)修復(fù)程序。

(5)工具修復(fù)。

有些病毒會(huì)感染BIOS,如BMW病毒能夠連環(huán)感染BIOS(主板芯片程序)、MBR(硬盤(pán)主引導(dǎo)區(qū))和Windows系統(tǒng)文件,使中毒計(jì)算機(jī)無(wú)論重裝系統(tǒng)、格式化硬盤(pán),還是換掉硬盤(pán)都無(wú)法徹底清除病毒,這種病毒要徹底清除非常困難。這時(shí)我們可以下載病毒的專(zhuān)殺工具來(lái)清除。它的原理其實(shí)也很簡(jiǎn)單,用軟件把BIOS讀出來(lái),檢查里面是否有病毒代碼,有的話,用工具清除后,再將BIOS代碼寫(xiě)回即可。

5.BIOS的局限

BIOS既是操作系統(tǒng)和計(jì)算機(jī)硬件之間通訊的橋梁,更是充當(dāng)了翻譯的角色,從DOS時(shí)代起,微軟的操作系統(tǒng)一直都是建立在“中斷”這個(gè)概念上的,程序的切換依靠中斷,系統(tǒng)的開(kāi)關(guān)依靠中斷,甚至我們按下了機(jī)箱上“Reset”鍵強(qiáng)制重啟計(jì)算機(jī),也還是中斷在后臺(tái)起的作用。為了延續(xù)整套的16位中斷系統(tǒng),無(wú)論是CPU開(kāi)發(fā)還是軟件升級(jí),都得考慮中斷模式。

在X86系列處理器進(jìn)入32位時(shí)代后,由于兼容性的原因,新的處理器保留了16位的運(yùn)行方式,此后多次處理器的升級(jí)換代都保留了這種運(yùn)行方式。甚至在含64位擴(kuò)展技術(shù)的至強(qiáng)系列處理器中,處理器加電啟動(dòng)時(shí)仍然會(huì)切換到16位的實(shí)模式下運(yùn)行。BIOS程序以16位匯編代碼、寄存器參數(shù)調(diào)用方式、靜態(tài)鏈接以及1MB以下內(nèi)存固定編址的形式存在了十幾年,雖然各大BIOS廠商近年來(lái)努力地對(duì)其進(jìn)行改進(jìn),加入了許多新元素到產(chǎn)品中,如ACPI、USB支持等,但BIOS的根本性質(zhì)沒(méi)有得到任何改變,16位的運(yùn)行工作環(huán)境是其最為致命的缺點(diǎn)。

現(xiàn)有的BIOS不但在工作方式上存在令人不滿之處,在工作能力上也令人頗有微詞。BIOS發(fā)展到現(xiàn)在,用來(lái)存放BIOS程序的芯片最大不過(guò)2MB,換成實(shí)際字節(jié)就是256KB,面對(duì)這個(gè)數(shù)值,即使用戶想為BIOS編寫(xiě)一些新的功能,BIOS芯片中也沒(méi)有足夠的空間讓用戶寫(xiě)入。這也是BIOS這十幾年來(lái)一直停滯不前的原因之一。

所以BIOS經(jīng)過(guò)了這些年的輝煌期,已經(jīng)逐漸脫離了時(shí)代的發(fā)展,成為了PC功能和性能進(jìn)一步提升的瓶頸,尋求BIOS的接任者已是必然。而B(niǎo)IOS,必將在璀璨光環(huán)的環(huán)繞中落下帷幕,成為歷史的紀(jì)錄。

● 繼往開(kāi)來(lái)的EFI和UEFI

正是由于BIOS已經(jīng)老態(tài)龍鐘,英特爾在2006年提出了EFI的概念,并且在它的推動(dòng)下,各大硬件廠商聯(lián)合升級(jí)了UEFI標(biāo)準(zhǔn),使得BIOS終于可以突破瓶頸,具有無(wú)限的想象力。

EFI就是可擴(kuò)展固件接口(Extensible Firmware Interface),是英特爾公司推出的一種在未來(lái)的類(lèi)PC的計(jì)算機(jī)系統(tǒng)中替代BIOS的升級(jí)方案。

UEFI是統(tǒng)一的可擴(kuò)展固件接口(Unified Extensible Firmware Interface),是一種詳細(xì)描述類(lèi)型接口的標(biāo)準(zhǔn)。這種接口用于操作系統(tǒng)自動(dòng)從預(yù)啟動(dòng)的操作環(huán)境,加載到一種操作系統(tǒng)上。UEFI是以EFI1.10為基礎(chǔ)發(fā)展起來(lái)的,它的所有者是一個(gè)稱(chēng)作Unified EFI Form的國(guó)際組織。

1.EFI的特點(diǎn)

那么,EFI是如何解決傳統(tǒng)BIOS所面臨的棘手問(wèn)題的呢?

(1)EFI以全新的圖形操作界面代替BIOS的文字界面,支持高級(jí)顯示模式,而且支持鼠標(biāo)操作,使它在設(shè)置方面比傳統(tǒng)BIOS直觀、簡(jiǎn)單,更易上手,非常適合非專(zhuān)業(yè)的技術(shù)人員和英文不太好的用戶。

(2)EFI像一個(gè)被簡(jiǎn)化了的操作系統(tǒng),介于硬件設(shè)備及操作系統(tǒng)間,可以操作計(jì)算機(jī)的各種硬件。另外,由于符合TCP/IP網(wǎng)絡(luò)協(xié)議,PC用戶可以不進(jìn)入操作系統(tǒng),就能在EFI界面下使用網(wǎng)絡(luò)資源,進(jìn)行遠(yuǎn)程診斷、更換驅(qū)動(dòng)、排除故障等。如果系統(tǒng)死機(jī),用戶可以通過(guò)EFI修改配置或者安裝新的驅(qū)動(dòng),這是BIOS不能想象的。

(3)EFI采用模塊化結(jié)構(gòu),將固件分為硬件控制與OS軟件管理兩部分,可以支持新外圍設(shè)備、省略硬件檢測(cè)實(shí)現(xiàn)高速啟動(dòng),針對(duì)某模塊單獨(dú)對(duì)固件升級(jí)等。

(4)安全性的問(wèn)題。相比BIOS的1M存儲(chǔ)空間,EFI需要更大的存儲(chǔ)空間,于是在硬盤(pán)中隔離出一個(gè)小分區(qū)作為存儲(chǔ)空間。這樣雖可裝入更多實(shí)用的工具,如硬盤(pán)分區(qū)、多操作系統(tǒng)引導(dǎo)、系統(tǒng)備份和恢復(fù)等,甚至能作為數(shù)字版權(quán)控制工具和電子安全防范工具。但硬盤(pán)是相當(dāng)脆弱的配件之一,如果出現(xiàn)問(wèn)題,后果不堪設(shè)想。EFI不再采用BIOS的機(jī)器匯編語(yǔ)言,而是使用了通用性比較強(qiáng)的C語(yǔ)言,盡管在技術(shù)更新上比BIOS有很大優(yōu)勢(shì),但對(duì)病毒、網(wǎng)絡(luò)攻擊等問(wèn)題,與BIOS相比不一定更安全。

2.EFI的組成和存儲(chǔ)

由于EFI要實(shí)現(xiàn)比傳統(tǒng)的BIOS更多的功能,主板ROM芯片中的512KB的空間是遠(yuǎn)遠(yuǎn)不夠的。因此,除了最基本的引導(dǎo)模塊保留在ROM芯片中,EFI還要在硬盤(pán)上單獨(dú)保留一個(gè)分區(qū)作為專(zhuān)用,以充分展現(xiàn)其功能。

EFI的存儲(chǔ)空間為50~100MB,具體視驅(qū)動(dòng)文件多少而定。在這部分空間中,包含有Pre-EFI初始化模塊、EFI驅(qū)動(dòng)執(zhí)行環(huán)境、EFI驅(qū)動(dòng)程序、兼容性支持模塊(CSM)、EFI高層應(yīng)用及GUID 磁盤(pán)分區(qū)等幾個(gè)部分。

3.EFI引導(dǎo)系統(tǒng)過(guò)程

EFI在開(kāi)機(jī)時(shí)的作用和BIOS一樣,就是初始化PC,但在細(xì)節(jié)上卻又不一樣。BIOS對(duì)PC的初始化,只是按照一定的順序?qū)τ布?,?jiǎn)單地檢查硬件是否能工作,而EFI不但檢查硬件的完好性,還會(huì)加載硬件在EFI中的驅(qū)動(dòng)程序,不用操作系統(tǒng)負(fù)責(zé)驅(qū)動(dòng)的加載工作。EFI的創(chuàng)新之處,是顛覆了BIOS的界面概念,讓操作界面和Windows一樣易于上手。在EFI的操作界面中,鼠標(biāo)成為替代鍵盤(pán)的輸入工具,各功能調(diào)節(jié)的模塊也做得和Windows程序一樣,可以說(shuō),EFI就是一個(gè)小型化的Windows系統(tǒng)。

在現(xiàn)實(shí)中,EFI初始化模塊和驅(qū)動(dòng)執(zhí)行環(huán)境通常被集成在一個(gè)只讀存儲(chǔ)器中。Pre-EFI初始化程序在系統(tǒng)開(kāi)機(jī)時(shí)最先執(zhí)行,它負(fù)責(zé)最初的CPU、主橋及存儲(chǔ)器的初始化工作,緊接著載入EFI驅(qū)動(dòng)執(zhí)行環(huán)境(DXE)。當(dāng)DXE被載入運(yùn)行時(shí),系統(tǒng)便具有了枚舉并加載其他EFI驅(qū)動(dòng)的能力。在基于PCI架構(gòu)的系統(tǒng)中,各PCI橋及PCI適配器的EFI驅(qū)動(dòng)會(huì)被相繼加載及初始化。此時(shí),系統(tǒng)枚舉并加載各橋接器及適配器后面的各種總線及設(shè)備驅(qū)動(dòng)程序,周而復(fù)始,直到最后一個(gè)設(shè)備的驅(qū)動(dòng)程序被成功加載。正因如此,EFI驅(qū)動(dòng)程序可以放置于系統(tǒng)的任何位置,只要能保證它可以按順序被正確枚舉。

endprint

4.EFI的優(yōu)勢(shì)

對(duì)于操作系統(tǒng)來(lái)說(shuō),如果主板使用的是BIOS,那么操作系統(tǒng)就必須面對(duì)所有的硬件,大到主板顯卡,小到鼠標(biāo)鍵盤(pán),每次重裝系統(tǒng)或者系統(tǒng)升級(jí),都必須手動(dòng)安裝新的驅(qū)動(dòng),否則硬件很可能無(wú)法正常工作。而基于EFI的主板則方便了很多,因?yàn)镋FI架構(gòu)使用的驅(qū)動(dòng)基于EFI Byte Code。EFI Byte Code有些類(lèi)似于Java的中間代碼,并不由CPU直接執(zhí)行操作,而是需要EFI層進(jìn)行翻譯。對(duì)于不同的操作系統(tǒng)來(lái)說(shuō),EFI將硬件層很好地保護(hù)了起來(lái),所有操作系統(tǒng)看到的,都只是EFI留給EFI Byte Code的程序接口,而EFI Byte Code又直接和Windows的API聯(lián)系,這就意味著無(wú)論操作系統(tǒng)是Windows還是Linux,只要有EFI Byte Code的支持,只需要一份驅(qū)動(dòng)程序就能“吃遍”所有操作系統(tǒng)平臺(tái)。

更為神奇的是,EFI Byte Code驅(qū)動(dòng)還能繞過(guò)操作系統(tǒng),直接安裝在EFI環(huán)境中,這樣對(duì)硬件的控制就由EFI層負(fù)責(zé),EFI向操作系統(tǒng)直接提供硬件操作的接口,不需要操作系統(tǒng)再調(diào)用驅(qū)動(dòng)。這種方式的優(yōu)點(diǎn)是不需要進(jìn)入操作系統(tǒng),只需要進(jìn)入EFI界面更新驅(qū)動(dòng)程序就可以完成,而且不需要對(duì)每一個(gè)操作系統(tǒng)進(jìn)行驅(qū)動(dòng)升級(jí),只要在EFI界面中升級(jí)一次,所有上層的操作系統(tǒng)都可以直接調(diào)用新的EFI接口。

EFI在開(kāi)機(jī)之始就能夠驅(qū)動(dòng)所有的硬件,網(wǎng)絡(luò)當(dāng)然也不例外,所以在EFI的操作界面中,程序可以直接連接互聯(lián)網(wǎng),向外界求助操作系統(tǒng)的維修信息或者在線升級(jí)驅(qū)動(dòng)程序。

5.BIOS和EFI的對(duì)比

對(duì)比BIOS和EFI,它們有以下區(qū)別:①EFI編碼99%都是由C語(yǔ)言完成,而B(niǎo)IOS基本上是用匯編語(yǔ)言完成;②BIOS采用中斷、硬件端口操作的方法,EFI采用了Driver/protocal的新方式;③BIOS支持X86模式,EFI直接采用Flat mode(也就是不能用DOS了,現(xiàn)在有些EFI能用是因?yàn)樽隽思嫒?,但?shí)際上這部分不屬于EFI的定義);④BIOS采用二進(jìn)制code,EFI采用Removable Binary Drivers;⑤BIOS啟動(dòng)調(diào)用Int19,EFI直接利用protocol/device Path;⑥對(duì)于第三方的開(kāi)發(fā),BIOS基本上做不到,EFI卻便利得多了;⑦EFI彌補(bǔ)了BIOS對(duì)新硬件支持不足的毛病。

● 革新的GPT硬盤(pán)分區(qū)模式

除了針對(duì)BIOS缺陷的革命,EFI還帶來(lái)了新的磁盤(pán)分區(qū)模式GPT。GPT分區(qū)模式的一個(gè)最明顯的改進(jìn)就是對(duì)硬盤(pán)容量2TB限制的突破。

1.硬盤(pán)容量限制又來(lái)了

硬盤(pán)容量限制其實(shí)一直伴隨著我們。最初是528MB、2.1GB,后來(lái)是3.2GB、4.2GB,直到8.4G和137G的限制。這主要是由于操作系統(tǒng)及尋址方式的局限造成的。

隨著硬盤(pán)的容量不斷增加,價(jià)格不斷下降。如果我們新買(mǎi)了一個(gè)3TB的硬盤(pán),在分區(qū)時(shí)又會(huì)出現(xiàn)新問(wèn)題:怎么硬盤(pán)只能分出2.2TB,剩余部分沒(méi)辦法管理呢?有沒(méi)有辦法解決?2.2TB容量限制是傳統(tǒng)的MBR硬盤(pán)分區(qū)模式引起的,而EFI方案中的GPT分區(qū)表能完美解決這個(gè)問(wèn)題。

傳統(tǒng)的分區(qū)方案(稱(chēng)為MBR分區(qū)方案)是將分區(qū)信息保存到磁盤(pán)的第一個(gè)扇區(qū)(MBR扇區(qū))中的64個(gè)字節(jié)中,每個(gè)分區(qū)項(xiàng)占用16個(gè)字節(jié),這16個(gè)字節(jié)中存有活動(dòng)狀態(tài)標(biāo)志、文件系統(tǒng)標(biāo)識(shí)、起止柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)、隱含扇區(qū)數(shù)目(4個(gè)字節(jié))、分區(qū)總扇區(qū)數(shù)目(4個(gè)字節(jié))等內(nèi)容。由于MBR扇區(qū)只有64個(gè)字節(jié)用于分區(qū)表,所以只能記錄4個(gè)分區(qū)的信息。這就是硬盤(pán)主分區(qū)數(shù)目不能超過(guò)4個(gè)的原因。后來(lái)為了支持更多的分區(qū),引入了擴(kuò)展分區(qū)及邏輯分區(qū)的概念。但每個(gè)分區(qū)項(xiàng)仍用16個(gè)字節(jié)存儲(chǔ)。

在MBR分區(qū)表中最多能有4個(gè)主分區(qū)或者3個(gè)主分區(qū)+1個(gè)擴(kuò)展分區(qū):從主引導(dǎo)記錄的結(jié)構(gòu)可以知道,它僅僅包含一個(gè)64個(gè)字節(jié)的硬盤(pán)分區(qū)表。由于每個(gè)分區(qū)信息需要16個(gè)字節(jié),所以對(duì)于采用MBR型分區(qū)結(jié)構(gòu)的硬盤(pán),最多只能識(shí)別4個(gè)主要分區(qū)(Primary partition)。

MBR分區(qū)方案無(wú)法支持超過(guò)2TB容量的磁盤(pán)。因?yàn)檫@一方案用4個(gè)字節(jié)存儲(chǔ)分區(qū)的總扇區(qū)數(shù),最大能表示2的32次方的扇區(qū)個(gè)數(shù),按每扇區(qū)512個(gè)字節(jié)計(jì)算,每個(gè)分區(qū)最大不能超過(guò)2TB。磁盤(pán)容量超過(guò)2TB以后,分區(qū)的起始位置也就無(wú)法表示了。(前面講到MBR硬盤(pán)最多管理2.2TB容量,是對(duì)應(yīng)廠商以1000為步進(jìn)單位來(lái)說(shuō)的,而這里是以1024作為步進(jìn)單位來(lái)討論,所以換算成容量為2TB。)

2.革新的GPT分區(qū)模式

為解決上述問(wèn)題,微軟和英特爾在EFI方案中開(kāi)發(fā)了GPT分區(qū)模式。

GPT,即全局唯一標(biāo)識(shí)分區(qū)表(Globally Unique Identifier Partition Table Format),它還有一個(gè)名字叫GUID分區(qū)表(GUID Partition Table) 。GPT是EFI方案的一部分,但并不依賴于EFI主板,在BIOS主板的PC中也可使用GPT分區(qū)。與MBR最大4個(gè)分區(qū)表項(xiàng)的限制相比,GPT對(duì)分區(qū)數(shù)量沒(méi)有限制,但Windows最大僅支持128個(gè)GPT分區(qū)。GPT可管理硬盤(pán)大小達(dá)到了18EB(1EB=1024PB=1,048,576TB),不過(guò)NTFS格式最大僅支持256TB。在目前來(lái)看GPT可管理的硬盤(pán)容量還是一個(gè)天文數(shù)字,如果硬盤(pán)超過(guò)256TB,那就是NTFS格式逐漸被淘汰的時(shí)候了。

GPT的分區(qū)信息是在分區(qū)中,而不像MBR一樣在主引導(dǎo)扇區(qū)。為保護(hù)GPT不受MBR類(lèi)磁盤(pán)管理軟件的危害,GPT在主引導(dǎo)扇區(qū)建立了一個(gè)保護(hù)分區(qū),這種分區(qū)的類(lèi)型標(biāo)識(shí)為0xEE,這個(gè)保護(hù)分區(qū)的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤(pán)管理器里名為GPT保護(hù)分區(qū),可讓MBR類(lèi)磁盤(pán)管理軟件把GPT看成一個(gè)未知格式的分區(qū),而不是錯(cuò)誤地當(dāng)成一個(gè)未分區(qū)的磁盤(pán)。

GPT分區(qū)的一大優(yōu)勢(shì)就是針對(duì)不同的數(shù)據(jù)建立不同的分區(qū),同時(shí)為不同的分區(qū)創(chuàng)建不同的權(quán)限。就如其名字一樣,GPT能夠保證磁盤(pán)分區(qū)的GUID的唯一性,所以GPT不允許對(duì)整個(gè)硬盤(pán)進(jìn)行復(fù)制,從而保證了磁盤(pán)內(nèi)數(shù)據(jù)的安全。

3.操作系統(tǒng)對(duì)GPT的支持

從以上兩個(gè)表中可見(jiàn),所有32位的Windows系統(tǒng)都是無(wú)法使用GPT分區(qū)格式的硬盤(pán)作為啟動(dòng)盤(pán)的,而最常使用的32位Windows XP甚至不能讀寫(xiě)GPT硬盤(pán),所以如果使用32位的Vista或更早的Windows系統(tǒng),那GPT硬盤(pán)只能掛載為從盤(pán)作為數(shù)據(jù)盤(pán)使用。而Vista以后的64位Windows系統(tǒng)都既支持GPT硬盤(pán)的讀寫(xiě),也在UEFI支持下可以作為啟動(dòng)盤(pán)使用。當(dāng)然,我們知道BIOS在引導(dǎo)系統(tǒng)時(shí)會(huì)去硬盤(pán)的MBR中讀取引導(dǎo)記錄,所以要從GPT硬盤(pán)啟動(dòng),我們就必須要有UEFI的支持,否則是不能成功的。另外,Linux和MacOSX10.6+對(duì)GPT提供了完美支持。

在計(jì)算機(jī)的引導(dǎo)過(guò)程中,BIOS在二十多年來(lái)作出了舉足輕重的貢獻(xiàn)。隨著硬件和操作系統(tǒng)的不斷發(fā)展,BIOS已經(jīng)無(wú)法適應(yīng)時(shí)代的潮流,EFI和UEFI取代BIOS是大勢(shì)所趨。目前,使用UEFI和BIOS兼容的主板大量出現(xiàn),可以預(yù)見(jiàn),UEFI完全取代BIOS已經(jīng)為期不遠(yuǎn)了。

endprint

4.EFI的優(yōu)勢(shì)

對(duì)于操作系統(tǒng)來(lái)說(shuō),如果主板使用的是BIOS,那么操作系統(tǒng)就必須面對(duì)所有的硬件,大到主板顯卡,小到鼠標(biāo)鍵盤(pán),每次重裝系統(tǒng)或者系統(tǒng)升級(jí),都必須手動(dòng)安裝新的驅(qū)動(dòng),否則硬件很可能無(wú)法正常工作。而基于EFI的主板則方便了很多,因?yàn)镋FI架構(gòu)使用的驅(qū)動(dòng)基于EFI Byte Code。EFI Byte Code有些類(lèi)似于Java的中間代碼,并不由CPU直接執(zhí)行操作,而是需要EFI層進(jìn)行翻譯。對(duì)于不同的操作系統(tǒng)來(lái)說(shuō),EFI將硬件層很好地保護(hù)了起來(lái),所有操作系統(tǒng)看到的,都只是EFI留給EFI Byte Code的程序接口,而EFI Byte Code又直接和Windows的API聯(lián)系,這就意味著無(wú)論操作系統(tǒng)是Windows還是Linux,只要有EFI Byte Code的支持,只需要一份驅(qū)動(dòng)程序就能“吃遍”所有操作系統(tǒng)平臺(tái)。

更為神奇的是,EFI Byte Code驅(qū)動(dòng)還能繞過(guò)操作系統(tǒng),直接安裝在EFI環(huán)境中,這樣對(duì)硬件的控制就由EFI層負(fù)責(zé),EFI向操作系統(tǒng)直接提供硬件操作的接口,不需要操作系統(tǒng)再調(diào)用驅(qū)動(dòng)。這種方式的優(yōu)點(diǎn)是不需要進(jìn)入操作系統(tǒng),只需要進(jìn)入EFI界面更新驅(qū)動(dòng)程序就可以完成,而且不需要對(duì)每一個(gè)操作系統(tǒng)進(jìn)行驅(qū)動(dòng)升級(jí),只要在EFI界面中升級(jí)一次,所有上層的操作系統(tǒng)都可以直接調(diào)用新的EFI接口。

EFI在開(kāi)機(jī)之始就能夠驅(qū)動(dòng)所有的硬件,網(wǎng)絡(luò)當(dāng)然也不例外,所以在EFI的操作界面中,程序可以直接連接互聯(lián)網(wǎng),向外界求助操作系統(tǒng)的維修信息或者在線升級(jí)驅(qū)動(dòng)程序。

5.BIOS和EFI的對(duì)比

對(duì)比BIOS和EFI,它們有以下區(qū)別:①EFI編碼99%都是由C語(yǔ)言完成,而B(niǎo)IOS基本上是用匯編語(yǔ)言完成;②BIOS采用中斷、硬件端口操作的方法,EFI采用了Driver/protocal的新方式;③BIOS支持X86模式,EFI直接采用Flat mode(也就是不能用DOS了,現(xiàn)在有些EFI能用是因?yàn)樽隽思嫒?,但?shí)際上這部分不屬于EFI的定義);④BIOS采用二進(jìn)制code,EFI采用Removable Binary Drivers;⑤BIOS啟動(dòng)調(diào)用Int19,EFI直接利用protocol/device Path;⑥對(duì)于第三方的開(kāi)發(fā),BIOS基本上做不到,EFI卻便利得多了;⑦EFI彌補(bǔ)了BIOS對(duì)新硬件支持不足的毛病。

● 革新的GPT硬盤(pán)分區(qū)模式

除了針對(duì)BIOS缺陷的革命,EFI還帶來(lái)了新的磁盤(pán)分區(qū)模式GPT。GPT分區(qū)模式的一個(gè)最明顯的改進(jìn)就是對(duì)硬盤(pán)容量2TB限制的突破。

1.硬盤(pán)容量限制又來(lái)了

硬盤(pán)容量限制其實(shí)一直伴隨著我們。最初是528MB、2.1GB,后來(lái)是3.2GB、4.2GB,直到8.4G和137G的限制。這主要是由于操作系統(tǒng)及尋址方式的局限造成的。

隨著硬盤(pán)的容量不斷增加,價(jià)格不斷下降。如果我們新買(mǎi)了一個(gè)3TB的硬盤(pán),在分區(qū)時(shí)又會(huì)出現(xiàn)新問(wèn)題:怎么硬盤(pán)只能分出2.2TB,剩余部分沒(méi)辦法管理呢?有沒(méi)有辦法解決?2.2TB容量限制是傳統(tǒng)的MBR硬盤(pán)分區(qū)模式引起的,而EFI方案中的GPT分區(qū)表能完美解決這個(gè)問(wèn)題。

傳統(tǒng)的分區(qū)方案(稱(chēng)為MBR分區(qū)方案)是將分區(qū)信息保存到磁盤(pán)的第一個(gè)扇區(qū)(MBR扇區(qū))中的64個(gè)字節(jié)中,每個(gè)分區(qū)項(xiàng)占用16個(gè)字節(jié),這16個(gè)字節(jié)中存有活動(dòng)狀態(tài)標(biāo)志、文件系統(tǒng)標(biāo)識(shí)、起止柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)、隱含扇區(qū)數(shù)目(4個(gè)字節(jié))、分區(qū)總扇區(qū)數(shù)目(4個(gè)字節(jié))等內(nèi)容。由于MBR扇區(qū)只有64個(gè)字節(jié)用于分區(qū)表,所以只能記錄4個(gè)分區(qū)的信息。這就是硬盤(pán)主分區(qū)數(shù)目不能超過(guò)4個(gè)的原因。后來(lái)為了支持更多的分區(qū),引入了擴(kuò)展分區(qū)及邏輯分區(qū)的概念。但每個(gè)分區(qū)項(xiàng)仍用16個(gè)字節(jié)存儲(chǔ)。

在MBR分區(qū)表中最多能有4個(gè)主分區(qū)或者3個(gè)主分區(qū)+1個(gè)擴(kuò)展分區(qū):從主引導(dǎo)記錄的結(jié)構(gòu)可以知道,它僅僅包含一個(gè)64個(gè)字節(jié)的硬盤(pán)分區(qū)表。由于每個(gè)分區(qū)信息需要16個(gè)字節(jié),所以對(duì)于采用MBR型分區(qū)結(jié)構(gòu)的硬盤(pán),最多只能識(shí)別4個(gè)主要分區(qū)(Primary partition)。

MBR分區(qū)方案無(wú)法支持超過(guò)2TB容量的磁盤(pán)。因?yàn)檫@一方案用4個(gè)字節(jié)存儲(chǔ)分區(qū)的總扇區(qū)數(shù),最大能表示2的32次方的扇區(qū)個(gè)數(shù),按每扇區(qū)512個(gè)字節(jié)計(jì)算,每個(gè)分區(qū)最大不能超過(guò)2TB。磁盤(pán)容量超過(guò)2TB以后,分區(qū)的起始位置也就無(wú)法表示了。(前面講到MBR硬盤(pán)最多管理2.2TB容量,是對(duì)應(yīng)廠商以1000為步進(jìn)單位來(lái)說(shuō)的,而這里是以1024作為步進(jìn)單位來(lái)討論,所以換算成容量為2TB。)

2.革新的GPT分區(qū)模式

為解決上述問(wèn)題,微軟和英特爾在EFI方案中開(kāi)發(fā)了GPT分區(qū)模式。

GPT,即全局唯一標(biāo)識(shí)分區(qū)表(Globally Unique Identifier Partition Table Format),它還有一個(gè)名字叫GUID分區(qū)表(GUID Partition Table) 。GPT是EFI方案的一部分,但并不依賴于EFI主板,在BIOS主板的PC中也可使用GPT分區(qū)。與MBR最大4個(gè)分區(qū)表項(xiàng)的限制相比,GPT對(duì)分區(qū)數(shù)量沒(méi)有限制,但Windows最大僅支持128個(gè)GPT分區(qū)。GPT可管理硬盤(pán)大小達(dá)到了18EB(1EB=1024PB=1,048,576TB),不過(guò)NTFS格式最大僅支持256TB。在目前來(lái)看GPT可管理的硬盤(pán)容量還是一個(gè)天文數(shù)字,如果硬盤(pán)超過(guò)256TB,那就是NTFS格式逐漸被淘汰的時(shí)候了。

GPT的分區(qū)信息是在分區(qū)中,而不像MBR一樣在主引導(dǎo)扇區(qū)。為保護(hù)GPT不受MBR類(lèi)磁盤(pán)管理軟件的危害,GPT在主引導(dǎo)扇區(qū)建立了一個(gè)保護(hù)分區(qū),這種分區(qū)的類(lèi)型標(biāo)識(shí)為0xEE,這個(gè)保護(hù)分區(qū)的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤(pán)管理器里名為GPT保護(hù)分區(qū),可讓MBR類(lèi)磁盤(pán)管理軟件把GPT看成一個(gè)未知格式的分區(qū),而不是錯(cuò)誤地當(dāng)成一個(gè)未分區(qū)的磁盤(pán)。

GPT分區(qū)的一大優(yōu)勢(shì)就是針對(duì)不同的數(shù)據(jù)建立不同的分區(qū),同時(shí)為不同的分區(qū)創(chuàng)建不同的權(quán)限。就如其名字一樣,GPT能夠保證磁盤(pán)分區(qū)的GUID的唯一性,所以GPT不允許對(duì)整個(gè)硬盤(pán)進(jìn)行復(fù)制,從而保證了磁盤(pán)內(nèi)數(shù)據(jù)的安全。

3.操作系統(tǒng)對(duì)GPT的支持

從以上兩個(gè)表中可見(jiàn),所有32位的Windows系統(tǒng)都是無(wú)法使用GPT分區(qū)格式的硬盤(pán)作為啟動(dòng)盤(pán)的,而最常使用的32位Windows XP甚至不能讀寫(xiě)GPT硬盤(pán),所以如果使用32位的Vista或更早的Windows系統(tǒng),那GPT硬盤(pán)只能掛載為從盤(pán)作為數(shù)據(jù)盤(pán)使用。而Vista以后的64位Windows系統(tǒng)都既支持GPT硬盤(pán)的讀寫(xiě),也在UEFI支持下可以作為啟動(dòng)盤(pán)使用。當(dāng)然,我們知道BIOS在引導(dǎo)系統(tǒng)時(shí)會(huì)去硬盤(pán)的MBR中讀取引導(dǎo)記錄,所以要從GPT硬盤(pán)啟動(dòng),我們就必須要有UEFI的支持,否則是不能成功的。另外,Linux和MacOSX10.6+對(duì)GPT提供了完美支持。

在計(jì)算機(jī)的引導(dǎo)過(guò)程中,BIOS在二十多年來(lái)作出了舉足輕重的貢獻(xiàn)。隨著硬件和操作系統(tǒng)的不斷發(fā)展,BIOS已經(jīng)無(wú)法適應(yīng)時(shí)代的潮流,EFI和UEFI取代BIOS是大勢(shì)所趨。目前,使用UEFI和BIOS兼容的主板大量出現(xiàn),可以預(yù)見(jiàn),UEFI完全取代BIOS已經(jīng)為期不遠(yuǎn)了。

endprint

4.EFI的優(yōu)勢(shì)

對(duì)于操作系統(tǒng)來(lái)說(shuō),如果主板使用的是BIOS,那么操作系統(tǒng)就必須面對(duì)所有的硬件,大到主板顯卡,小到鼠標(biāo)鍵盤(pán),每次重裝系統(tǒng)或者系統(tǒng)升級(jí),都必須手動(dòng)安裝新的驅(qū)動(dòng),否則硬件很可能無(wú)法正常工作。而基于EFI的主板則方便了很多,因?yàn)镋FI架構(gòu)使用的驅(qū)動(dòng)基于EFI Byte Code。EFI Byte Code有些類(lèi)似于Java的中間代碼,并不由CPU直接執(zhí)行操作,而是需要EFI層進(jìn)行翻譯。對(duì)于不同的操作系統(tǒng)來(lái)說(shuō),EFI將硬件層很好地保護(hù)了起來(lái),所有操作系統(tǒng)看到的,都只是EFI留給EFI Byte Code的程序接口,而EFI Byte Code又直接和Windows的API聯(lián)系,這就意味著無(wú)論操作系統(tǒng)是Windows還是Linux,只要有EFI Byte Code的支持,只需要一份驅(qū)動(dòng)程序就能“吃遍”所有操作系統(tǒng)平臺(tái)。

更為神奇的是,EFI Byte Code驅(qū)動(dòng)還能繞過(guò)操作系統(tǒng),直接安裝在EFI環(huán)境中,這樣對(duì)硬件的控制就由EFI層負(fù)責(zé),EFI向操作系統(tǒng)直接提供硬件操作的接口,不需要操作系統(tǒng)再調(diào)用驅(qū)動(dòng)。這種方式的優(yōu)點(diǎn)是不需要進(jìn)入操作系統(tǒng),只需要進(jìn)入EFI界面更新驅(qū)動(dòng)程序就可以完成,而且不需要對(duì)每一個(gè)操作系統(tǒng)進(jìn)行驅(qū)動(dòng)升級(jí),只要在EFI界面中升級(jí)一次,所有上層的操作系統(tǒng)都可以直接調(diào)用新的EFI接口。

EFI在開(kāi)機(jī)之始就能夠驅(qū)動(dòng)所有的硬件,網(wǎng)絡(luò)當(dāng)然也不例外,所以在EFI的操作界面中,程序可以直接連接互聯(lián)網(wǎng),向外界求助操作系統(tǒng)的維修信息或者在線升級(jí)驅(qū)動(dòng)程序。

5.BIOS和EFI的對(duì)比

對(duì)比BIOS和EFI,它們有以下區(qū)別:①EFI編碼99%都是由C語(yǔ)言完成,而B(niǎo)IOS基本上是用匯編語(yǔ)言完成;②BIOS采用中斷、硬件端口操作的方法,EFI采用了Driver/protocal的新方式;③BIOS支持X86模式,EFI直接采用Flat mode(也就是不能用DOS了,現(xiàn)在有些EFI能用是因?yàn)樽隽思嫒荩珜?shí)際上這部分不屬于EFI的定義);④BIOS采用二進(jìn)制code,EFI采用Removable Binary Drivers;⑤BIOS啟動(dòng)調(diào)用Int19,EFI直接利用protocol/device Path;⑥對(duì)于第三方的開(kāi)發(fā),BIOS基本上做不到,EFI卻便利得多了;⑦EFI彌補(bǔ)了BIOS對(duì)新硬件支持不足的毛病。

● 革新的GPT硬盤(pán)分區(qū)模式

除了針對(duì)BIOS缺陷的革命,EFI還帶來(lái)了新的磁盤(pán)分區(qū)模式GPT。GPT分區(qū)模式的一個(gè)最明顯的改進(jìn)就是對(duì)硬盤(pán)容量2TB限制的突破。

1.硬盤(pán)容量限制又來(lái)了

硬盤(pán)容量限制其實(shí)一直伴隨著我們。最初是528MB、2.1GB,后來(lái)是3.2GB、4.2GB,直到8.4G和137G的限制。這主要是由于操作系統(tǒng)及尋址方式的局限造成的。

隨著硬盤(pán)的容量不斷增加,價(jià)格不斷下降。如果我們新買(mǎi)了一個(gè)3TB的硬盤(pán),在分區(qū)時(shí)又會(huì)出現(xiàn)新問(wèn)題:怎么硬盤(pán)只能分出2.2TB,剩余部分沒(méi)辦法管理呢?有沒(méi)有辦法解決?2.2TB容量限制是傳統(tǒng)的MBR硬盤(pán)分區(qū)模式引起的,而EFI方案中的GPT分區(qū)表能完美解決這個(gè)問(wèn)題。

傳統(tǒng)的分區(qū)方案(稱(chēng)為MBR分區(qū)方案)是將分區(qū)信息保存到磁盤(pán)的第一個(gè)扇區(qū)(MBR扇區(qū))中的64個(gè)字節(jié)中,每個(gè)分區(qū)項(xiàng)占用16個(gè)字節(jié),這16個(gè)字節(jié)中存有活動(dòng)狀態(tài)標(biāo)志、文件系統(tǒng)標(biāo)識(shí)、起止柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)、隱含扇區(qū)數(shù)目(4個(gè)字節(jié))、分區(qū)總扇區(qū)數(shù)目(4個(gè)字節(jié))等內(nèi)容。由于MBR扇區(qū)只有64個(gè)字節(jié)用于分區(qū)表,所以只能記錄4個(gè)分區(qū)的信息。這就是硬盤(pán)主分區(qū)數(shù)目不能超過(guò)4個(gè)的原因。后來(lái)為了支持更多的分區(qū),引入了擴(kuò)展分區(qū)及邏輯分區(qū)的概念。但每個(gè)分區(qū)項(xiàng)仍用16個(gè)字節(jié)存儲(chǔ)。

在MBR分區(qū)表中最多能有4個(gè)主分區(qū)或者3個(gè)主分區(qū)+1個(gè)擴(kuò)展分區(qū):從主引導(dǎo)記錄的結(jié)構(gòu)可以知道,它僅僅包含一個(gè)64個(gè)字節(jié)的硬盤(pán)分區(qū)表。由于每個(gè)分區(qū)信息需要16個(gè)字節(jié),所以對(duì)于采用MBR型分區(qū)結(jié)構(gòu)的硬盤(pán),最多只能識(shí)別4個(gè)主要分區(qū)(Primary partition)。

MBR分區(qū)方案無(wú)法支持超過(guò)2TB容量的磁盤(pán)。因?yàn)檫@一方案用4個(gè)字節(jié)存儲(chǔ)分區(qū)的總扇區(qū)數(shù),最大能表示2的32次方的扇區(qū)個(gè)數(shù),按每扇區(qū)512個(gè)字節(jié)計(jì)算,每個(gè)分區(qū)最大不能超過(guò)2TB。磁盤(pán)容量超過(guò)2TB以后,分區(qū)的起始位置也就無(wú)法表示了。(前面講到MBR硬盤(pán)最多管理2.2TB容量,是對(duì)應(yīng)廠商以1000為步進(jìn)單位來(lái)說(shuō)的,而這里是以1024作為步進(jìn)單位來(lái)討論,所以換算成容量為2TB。)

2.革新的GPT分區(qū)模式

為解決上述問(wèn)題,微軟和英特爾在EFI方案中開(kāi)發(fā)了GPT分區(qū)模式。

GPT,即全局唯一標(biāo)識(shí)分區(qū)表(Globally Unique Identifier Partition Table Format),它還有一個(gè)名字叫GUID分區(qū)表(GUID Partition Table) 。GPT是EFI方案的一部分,但并不依賴于EFI主板,在BIOS主板的PC中也可使用GPT分區(qū)。與MBR最大4個(gè)分區(qū)表項(xiàng)的限制相比,GPT對(duì)分區(qū)數(shù)量沒(méi)有限制,但Windows最大僅支持128個(gè)GPT分區(qū)。GPT可管理硬盤(pán)大小達(dá)到了18EB(1EB=1024PB=1,048,576TB),不過(guò)NTFS格式最大僅支持256TB。在目前來(lái)看GPT可管理的硬盤(pán)容量還是一個(gè)天文數(shù)字,如果硬盤(pán)超過(guò)256TB,那就是NTFS格式逐漸被淘汰的時(shí)候了。

GPT的分區(qū)信息是在分區(qū)中,而不像MBR一樣在主引導(dǎo)扇區(qū)。為保護(hù)GPT不受MBR類(lèi)磁盤(pán)管理軟件的危害,GPT在主引導(dǎo)扇區(qū)建立了一個(gè)保護(hù)分區(qū),這種分區(qū)的類(lèi)型標(biāo)識(shí)為0xEE,這個(gè)保護(hù)分區(qū)的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤(pán)管理器里名為GPT保護(hù)分區(qū),可讓MBR類(lèi)磁盤(pán)管理軟件把GPT看成一個(gè)未知格式的分區(qū),而不是錯(cuò)誤地當(dāng)成一個(gè)未分區(qū)的磁盤(pán)。

GPT分區(qū)的一大優(yōu)勢(shì)就是針對(duì)不同的數(shù)據(jù)建立不同的分區(qū),同時(shí)為不同的分區(qū)創(chuàng)建不同的權(quán)限。就如其名字一樣,GPT能夠保證磁盤(pán)分區(qū)的GUID的唯一性,所以GPT不允許對(duì)整個(gè)硬盤(pán)進(jìn)行復(fù)制,從而保證了磁盤(pán)內(nèi)數(shù)據(jù)的安全。

3.操作系統(tǒng)對(duì)GPT的支持

從以上兩個(gè)表中可見(jiàn),所有32位的Windows系統(tǒng)都是無(wú)法使用GPT分區(qū)格式的硬盤(pán)作為啟動(dòng)盤(pán)的,而最常使用的32位Windows XP甚至不能讀寫(xiě)GPT硬盤(pán),所以如果使用32位的Vista或更早的Windows系統(tǒng),那GPT硬盤(pán)只能掛載為從盤(pán)作為數(shù)據(jù)盤(pán)使用。而Vista以后的64位Windows系統(tǒng)都既支持GPT硬盤(pán)的讀寫(xiě),也在UEFI支持下可以作為啟動(dòng)盤(pán)使用。當(dāng)然,我們知道BIOS在引導(dǎo)系統(tǒng)時(shí)會(huì)去硬盤(pán)的MBR中讀取引導(dǎo)記錄,所以要從GPT硬盤(pán)啟動(dòng),我們就必須要有UEFI的支持,否則是不能成功的。另外,Linux和MacOSX10.6+對(duì)GPT提供了完美支持。

在計(jì)算機(jī)的引導(dǎo)過(guò)程中,BIOS在二十多年來(lái)作出了舉足輕重的貢獻(xiàn)。隨著硬件和操作系統(tǒng)的不斷發(fā)展,BIOS已經(jīng)無(wú)法適應(yīng)時(shí)代的潮流,EFI和UEFI取代BIOS是大勢(shì)所趨。目前,使用UEFI和BIOS兼容的主板大量出現(xiàn),可以預(yù)見(jiàn),UEFI完全取代BIOS已經(jīng)為期不遠(yuǎn)了。

endprint

主站蜘蛛池模板: 亚洲成a人片77777在线播放 | 红杏AV在线无码| 亚洲天堂久久久| 国产幂在线无码精品| 国产亚洲精品无码专| 久久婷婷五月综合色一区二区| 在线免费观看AV| 中文精品久久久久国产网址| 精品久久久久久久久久久| 美女一区二区在线观看| 亚洲欧美成aⅴ人在线观看| 亚洲高清无码久久久| 99视频精品在线观看| a亚洲天堂| 成人年鲁鲁在线观看视频| 无码国产偷倩在线播放老年人| 青青青亚洲精品国产| 97se亚洲综合在线| 成年人免费国产视频| 日韩中文字幕免费在线观看 | a毛片基地免费大全| 怡红院美国分院一区二区| 综合色亚洲| 欧美成人精品在线| 久久午夜夜伦鲁鲁片不卡| 久久一日本道色综合久久| 久久中文电影| 午夜免费视频网站| 色亚洲激情综合精品无码视频| 久久五月视频| 国产精品久线在线观看| 人妻一区二区三区无码精品一区| 在线日韩日本国产亚洲| 国产女人在线观看| 丁香婷婷激情网| 欧美激情视频一区二区三区免费| 日韩欧美视频第一区在线观看| 免费黄色国产视频| 美女无遮挡免费网站| 人妻丰满熟妇AV无码区| 亚洲综合一区国产精品| 中文字幕丝袜一区二区| 92午夜福利影院一区二区三区| 久久永久免费人妻精品| 欧美无专区| 国产精品第一区在线观看| 国产一区二区丝袜高跟鞋| 免费女人18毛片a级毛片视频| 精品亚洲欧美中文字幕在线看| 97视频免费在线观看| 欧美全免费aaaaaa特黄在线| 久久精品波多野结衣| 色综合日本| 丁香婷婷激情综合激情| 四虎永久在线精品影院| 色偷偷一区二区三区| 四虎精品国产AV二区| 欧美翘臀一区二区三区| 精品国产污污免费网站| 精品国产一区91在线| 91免费观看视频| 无套av在线| 国产成人综合亚洲网址| 久久无码高潮喷水| 国产精品所毛片视频| 欧美综合成人| 91九色国产在线| 中文字幕av一区二区三区欲色| 国产h视频免费观看| 无码粉嫩虎白一线天在线观看| 日韩成人免费网站| 亚洲香蕉在线| 91福利国产成人精品导航| 国产精品13页| 国产久操视频| 专干老肥熟女视频网站| 中字无码精油按摩中出视频| 国产精品亚洲精品爽爽| 综合色婷婷| 91精品人妻互换| 国产精品毛片一区视频播| 日韩中文字幕亚洲无线码|