BIOS和CMOS
名詞解釋
BIOS
"Basic Input Output System"
BIOS是個人電腦啟動時加載的第一個軟件。
它是一組固化到計算機(jī)內(nèi)主板上一個ROM芯片上的程序贱案,它保存著計算機(jī)最重要的基本輸入輸出的程序、開機(jī)后自檢程序和系統(tǒng)自啟動程序肴沫,它可從CMOS中讀寫系統(tǒng)設(shè)置的具體信息颤芬。
BIOS是一組固化到計算機(jī)內(nèi)主板上站蝠、一個ROM芯片上的程序留荔,那么ROM是什么聚蝶?
ROM
Read Only Memory碘勉,只讀存儲器
ROM內(nèi)部的資料是在ROM的制造工序中验靡,在工廠里用特殊的方法被燒錄進(jìn)去的,其中的內(nèi)容只能讀不能改辞州,一旦燒錄進(jìn)去孙技,用戶只能驗證寫入的資料是否正確,不能再作任何修改妄痪。如果發(fā)現(xiàn)資料有任何錯誤,則只有舍棄不用罪针。
經(jīng)過發(fā)展泪酱,ROM出現(xiàn)了更高級的形式毡惜,從而實現(xiàn)了BIOS的可升級
EPROM
EPROM(Erasable Programmable ROM经伙,可擦除可編程ROM)
可重復(fù)擦除和寫入帕膜,解決了ROM芯片只能寫入一次的弊端垮刹。
在其正面的陶瓷封裝上,開有一個玻璃窗口种蝶,透過該窗口螃征,可以看到其內(nèi)部的集成電路盯滚,紫外線透過該孔照射內(nèi)部芯片就可以擦除其內(nèi)的數(shù)據(jù),完成芯片擦除的操作要用到EPROM擦除器酗电。EPROM內(nèi)資料的寫入要用專用的編程器魄藕,并且往芯片中寫內(nèi)容時必須要加一定的編程電壓(VPP=12—24V,隨不同的芯片型號而定)撵术。
EEPROM
Electrically Erasable Programmable ROM背率,電可擦除可編程ROM)
通過跳線開關(guān)和系統(tǒng)配帶的驅(qū)動程序盤,可以對EEPROM進(jìn)行重寫寝姿,方便地實現(xiàn)BIOS升級。
BIOS程序
中主要包含:
- 自診斷程序:通過讀取CMOS RAM中的內(nèi)容識別硬件配置划滋,并對其進(jìn)行自檢和初始化饵筑;
- CMOS設(shè)置程序:引導(dǎo)過程中,用特殊熱鍵啟動处坪,進(jìn)行設(shè)置后根资,存入CMOS RAM中架专;
- 系統(tǒng)自舉裝載程序:在自檢成功后將磁盤相對0道0扇區(qū)上的引導(dǎo)程序裝入內(nèi)存,讓其運行以裝入DOS系統(tǒng)嫂冻;
- 主要I/O設(shè)備的驅(qū)動程序和中斷服務(wù):由于BIOS直接和系統(tǒng)硬件資源打交道胶征,因此總是針對某一類型的硬件系統(tǒng),而各種硬件系統(tǒng)又各有不同桨仿,所以存在各種不同種類的BIOS睛低,隨著硬件技術(shù)的發(fā)展,同一種BIOS也先后出現(xiàn)了不同的版本服傍,新版本的BIOS比起老版本來說钱雷,功能更強(qiáng)。
那么什么是CMOS吹零?
CMOS
Complementary Metal Oxide Semiconductor CMOS
(本意是指互補(bǔ)金屬氧化物半導(dǎo)體——一種大規(guī)模應(yīng)用于集成電路芯片制造的原料)CMOS RAM是電腦主板上的一塊可讀寫的RAM芯片罩抗,用它來保護(hù)當(dāng)前系統(tǒng)的硬件配置和用戶對某些參數(shù)的設(shè)定。現(xiàn)在的廠商把BIOS程序做到了CMOS芯片中灿椅,當(dāng)開機(jī)時就可按特定鍵進(jìn)入CMOS設(shè)置程序?qū)ο到y(tǒng)進(jìn)行設(shè)置套蒂。所以又被人們叫做BIOS設(shè)置。
RAM
隨機(jī)存取存儲器(random access memory茫蛹,RAM)又稱作“隨機(jī)存儲器”
是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲器操刀,也叫主存(內(nèi)存)。它可以隨時讀寫婴洼,而且速度很快骨坑,通常作為操作系統(tǒng)或其他正在運行中的程序的臨時數(shù)據(jù)存儲媒介。
關(guān)系總結(jié)
- BIOS是軟件柬采、一組程序欢唾; CMOS是芯片、硬件粉捻; 通過BIOS程序礁遣,可以設(shè)置CMOS里的參數(shù); 廠商把BIOS程序做到了CMOS芯片中肩刃,當(dāng)開機(jī)時就可按特定鍵進(jìn)入CMOS設(shè)置程序?qū)ο到y(tǒng)進(jìn)行設(shè)置亡脸。所以CMOS設(shè)置又被人們叫做BIOS設(shè)置。
- CMOS是一塊芯片树酪,在主板上,保存著重要的開機(jī)參數(shù)大州,會用CMOS紐扣電池來維持電量续语; CMOS里存放參數(shù),通過程序把設(shè)置好的參數(shù)寫入CMOS去設(shè)置它厦画;
?由于CMOS與BIOS都跟電腦系統(tǒng)設(shè)置密切相關(guān)疮茄,所以才有CMOS設(shè)置和BIOS設(shè)置的說法滥朱。也正因此,初學(xué)者常將二者混淆力试。
CMOS RAM是系統(tǒng)參數(shù)存放的地方徙邻,而BIOS中系統(tǒng)設(shè)置程序是完成參數(shù)設(shè)置的手段。因此畸裳,準(zhǔn)確的說法應(yīng)是通過BIOS設(shè)置程序?qū)MOS參數(shù)進(jìn)行設(shè)置缰犁。而我們平常所說的CMOS設(shè)置和BIOS設(shè)置是其簡化說法,也就在一定程度上造成了兩個概念的混淆怖糊。
UEFI和Legacy
名詞解釋
uefi和legacy是兩種不同的引導(dǎo)方式帅容。
uefi是新式的BIOS,legacy是傳統(tǒng)BIOS伍伤。
在UEFI模式下安裝的系統(tǒng)并徘,只能用UEFI模式引導(dǎo);同理扰魂,如果你是在Legacy模式下安裝的系統(tǒng)麦乞,也只能在legacy模式下進(jìn)系統(tǒng)。uefi只支持64為系統(tǒng)且磁盤分區(qū)必須為gpt模式劝评,傳統(tǒng)BIOS使用Int 13中斷讀取磁盤姐直,每次只能讀64KB,非常低效付翁,而UEFI每次可以讀1MB简肴,載入更快。此外百侧,Win8砰识,更是進(jìn)一步優(yōu)化了UEFI支持,號稱可以實現(xiàn)瞬時開機(jī)佣渴。
GPT分區(qū)一般搭配UEFI引導(dǎo)方式
MBR分區(qū)一般搭配Legacy引導(dǎo)方式
UEFI
統(tǒng)一的可擴(kuò)展固件接口(Unified Extensible Firmware Interface辫狼,UEFI)
可擴(kuò)展固件接口(Extensible Firmware Interface,EFI)是 Intel 為 PC 固件的體系結(jié)構(gòu)辛润、接口和服務(wù)提出的建議標(biāo)準(zhǔn)膨处。其主要目的是為了提供一組在 OS 加載之前(啟動前)在所有平臺上一致的、正確指定的啟動服務(wù)砂竖,被看做是有近20多年歷史的 BIOS 的繼任者真椿。
UEFI是由EFI1.10為基礎(chǔ)發(fā)展起來的,它的所有者已不再是Intel乎澄,而是一個稱作Unified EFI Form的國際組織突硝。
不管是UEFI還是Legacy,他們都是BIOS置济,BIOS就是固件解恰。
固件
固件(Firmware)就是寫入EROM(可擦寫只讀存儲器)或EEPROM(電可擦可編程只讀存儲器)中的程序锋八。
BIOS就是固件。
固件是指設(shè)備內(nèi)部保存的設(shè)備“驅(qū)動程序”护盈,通過固件挟纱,操作系統(tǒng)才能按照標(biāo)準(zhǔn)的設(shè)備驅(qū)動實現(xiàn)特定機(jī)器的運行動作。
固件是擔(dān)任著一個系統(tǒng)最基礎(chǔ)最底層工作的軟件腐宋。而在硬件設(shè)備中紊服,固件就是硬件設(shè)備的靈魂,因為一些硬件設(shè)備除了固件以外沒有其它軟件組成脏款,因此固件也就決定著硬件設(shè)備的功能及性能围苫。
區(qū)別總結(jié)
與legacy BIOS 相比,UEFI最大的幾個區(qū)別在于:
- BIOS用的是8086匯編撤师,UEFI99%以上用C剂府,UEFI的APP和Drives可以用C/C++;
- 64位的UEFI固件是64位的操作系統(tǒng)(少數(shù)二合一平板用32位UEFI固件的可以忽略不計)剃盾,BIOS是16位的腺占。
- 一改之前的中斷、硬件端口操作的方法痒谴,而采用了Driver/protocol的新方式衰伯;
- 將不支持X86實模式,而直接采用Flat mode(也就是不能用DOS了积蔚,現(xiàn)在有些 EFI 或 UEFI 能用是因為做了兼容意鲸,但實際上這部分不屬于UEFI的定義了);
- 輸出也不再是單純的二進(jìn)制code尽爆,改為Removable Binary Drivers怎顾;
- OS啟動不再是調(diào)用Int19,而是直接利用protocol/device Path漱贱;
- 對于第三方的開發(fā)槐雾,前者基本上做不到,除非參與BIOS的設(shè)計幅狮,但是還要受到ROM的大小限制募强,而后者就便利多了。
- 彌補(bǔ)BIOS對新硬件的支持不足的問題崇摄。
MBR和GPT
名詞解釋
分區(qū)方式通常有兩種:MBR分區(qū)方案擎值,GPT分區(qū)方案
在解釋MBR和GPT之前,需要先了解硬盤相關(guān)的觀念逐抑。
硬盤
硬盤最基本的組成部分是由堅硬金屬材料制成的涂以磁性介質(zhì)的盤片幅恋,不同容量硬盤的盤片數(shù)不等。一個盤片可以有兩個盤面泵肄。
扇區(qū)
盤面被分成許多扇形的區(qū)域捆交,每個區(qū)域叫一個扇區(qū) (sector)
磁道
盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道(track) 腐巢,磁道由扇區(qū)組成品追。
(柱面)磁柱
硬盤通常由重疊的一組盤片構(gòu)成,每個盤面都被劃分為數(shù)目相等的磁道冯丙,并從外緣的“0”開始編號肉瓦,具有相同編號的磁道形成一個圓柱,(即柱面是一個立體概念胃惜,磁道是一個平面概念泞莉,同一個盤面上的,柱面大小是所有盤面相同半徑的磁道大小總和)船殉,稱之為磁盤的柱面 (cylinder) 鲫趁。
每個盤面都有自己的磁頭。
這張圖只能看見扇區(qū)和磁道挨厚,柱面的俯視圖可以就看做這張圖的磁道?
通常數(shù)據(jù)的讀寫會由外圈開始往內(nèi)寫。
原本硬盤的扇區(qū)都是設(shè)計成 512byte 的容量糠惫,但因為近期以來硬盤的容量越來越大疫剃,為了減少數(shù)據(jù)量的拆解,所以新的高容量硬盤已經(jīng)有 4Kbyte 的扇區(qū)設(shè)計硼讽。
也因為這個扇區(qū)的設(shè)計不同了巢价,因此在磁盤的分區(qū)方面,目前有舊式的 MBR模式固阁,以及較新的 GPT 模式壤躲! 在較新的 GPT 模式下,磁盤的分區(qū)通常使用扇區(qū)號碼來設(shè)計您炉,跟過去舊的MBR是透過磁柱號碼來分區(qū)的情況不同柒爵!
對于MBR分區(qū)方案來說:
MBR
MBR(Master Boot Record),即硬盤的主引導(dǎo)記錄赚爵。是位于磁盤最前邊的一段引導(dǎo)(Loader)代碼棉胀。它負(fù)責(zé)磁盤操作系統(tǒng)(DOS)對磁盤進(jìn)行讀寫時分區(qū)合法性的判別、分區(qū)引導(dǎo)信息的定位冀膝,它由磁盤操作系統(tǒng)(DOS)在對硬盤進(jìn)行初始化時產(chǎn)生的唁奢。
為了便于理解,一般將MBR分為廣義和狹義兩種:
廣義的MBR包含整個扇區(qū)(引導(dǎo)程序窝剖、分區(qū)表及分隔標(biāo)識)麻掸,也就是上面所說的主引導(dǎo)記錄;
狹義的MBR僅指引導(dǎo)程序而言赐纱。通常脊奋,我們將包含MBR引導(dǎo)代碼的扇區(qū)稱為主引導(dǎo)扇區(qū)熬北。因這一扇區(qū)中,引導(dǎo)代碼占有絕大部分的空間诚隙,故而將習(xí)慣將該扇區(qū)稱為MBR扇區(qū)(簡稱MBR)讶隐。
主引導(dǎo)扇區(qū)由三部分組成:
- 主引導(dǎo)程序即主引導(dǎo)記錄(MBR)(占446個字節(jié))
- 磁盤分區(qū)表項(DPT,Disk Partition Table)久又,由四個分區(qū)表項構(gòu)成(每個16個字節(jié))巫延。
- 結(jié)束標(biāo)志(占2個字節(jié))。值為AA55地消,存儲時低位在前炉峰,高位在后,即看上去是55AA(十六進(jìn)制)脉执。
分區(qū)說明
MBR下的硬盤分區(qū)有三種疼阔,主磁盤分區(qū)、擴(kuò)展磁盤分區(qū)适瓦、邏輯分區(qū)竿开。
主分區(qū)
也稱為主磁盤分區(qū),是一種分區(qū)類型玻熙。主分區(qū)中不能再劃分其他類型的分區(qū)否彩,因此每個主分區(qū)都相當(dāng)于一個邏輯磁盤(在這一點上主分區(qū)和邏輯分區(qū)很相似,但主分區(qū)是直接在硬盤上劃分的嗦随,邏輯分區(qū)則必須建立于擴(kuò)展分區(qū)中)列荔。
一個硬盤的主分區(qū)包含操作系統(tǒng)啟動所必需的文件和數(shù)據(jù)的硬盤分區(qū),要在硬盤上安裝操作系統(tǒng)枚尼,則硬盤必須有一個主分區(qū)贴浙。
最多只能有4個主分區(qū)。
擴(kuò)展分區(qū)
所謂擴(kuò)展分區(qū)署恍,嚴(yán)格地講它不是一個實際意義的分區(qū)崎溃,它僅僅是一個指向下一個分區(qū)的指針,這種指針結(jié)構(gòu)將形成一個單向鏈表盯质。這樣在主引導(dǎo)扇區(qū)中除了主分區(qū)外袁串,僅需要存儲一個被稱為擴(kuò)展分區(qū)的分區(qū)數(shù)據(jù),通過這個擴(kuò)展分區(qū)的數(shù)據(jù)可以找到下一個分區(qū)(實際上也就是下一個邏輯磁盤)的起始位置呼巷,以此起始位置類推可以找到所有的分區(qū)囱修。
一個硬盤可以沒有擴(kuò)展分區(qū),最多一個擴(kuò)展分區(qū)王悍。
但擴(kuò)展分區(qū)是不能直接用的破镰,他是以邏輯分區(qū)的方式來使用的,所以說擴(kuò)展分區(qū)可分成若干邏輯分區(qū)。
邏輯分區(qū)
邏輯分區(qū)是硬盤上一塊連續(xù)的區(qū)域鲜漩。
邏輯分區(qū)和擴(kuò)展分區(qū)的關(guān)系是包含的關(guān)系源譬,所有的邏輯分區(qū)都是擴(kuò)展分區(qū)的一部分。
磁盤分區(qū)表項(DPT孕似,Disk Partition Table)瓶佳,由四個分區(qū)表項構(gòu)成(每個16個字節(jié)),因此最多僅能有四組記錄區(qū)鳞青,每組記錄區(qū)記錄了該區(qū)段的啟始與結(jié)束的磁柱號碼。
分區(qū)總結(jié):
- 其實『分區(qū)』就是針對DPT表進(jìn)行設(shè)定为朋,設(shè)定共有多少個分區(qū)臂拓,每個分區(qū)的啟始與結(jié)束位置
- 硬盤默認(rèn)的分區(qū)表僅能寫入四組分區(qū)信息
- 這四組分區(qū)信息我們稱為主分區(qū)(Primary)或擴(kuò)展(Extended)分區(qū)
- 分區(qū)的最小單位『通常』為柱面(cylinder)
- 當(dāng)系統(tǒng)要寫入磁盤時习寸,一定會參考磁盤分區(qū)表胶惰,才能針對某個分區(qū)進(jìn)行數(shù)據(jù)的處理
圖為硬盤順著直徑切下的橫截面,左側(cè)為硬盤外圈霞溪,右側(cè)為硬盤內(nèi)圈孵滞,橫坐標(biāo)看做硬盤半徑,縱坐標(biāo)看做不同盤片堆疊成的柱面鸯匹。
MBR中記錄著四個分區(qū)的數(shù)據(jù)坊饶,P代表主分區(qū),一共四個主分區(qū)殴蓬。
既然DPT只能記錄四筆數(shù)據(jù)匿级, 那可否利用額外的扇區(qū)來記錄更多的分區(qū)信息?
硬盤的四個分區(qū)記錄區(qū)僅使用到兩個染厅, P1 為主分區(qū)痘绎,而 P2 為擴(kuò)展分區(qū)。請注意肖粮, 擴(kuò)展分區(qū)的目的是使用額外的扇區(qū)來記錄分區(qū)信息孤页,擴(kuò)展分區(qū)本身并不能被拿來格式化。 然后我們可以透過擴(kuò)展分區(qū)所指向的那個區(qū)塊繼續(xù)作分區(qū)的記錄涩馆。
擴(kuò)展分區(qū)繼續(xù)分區(qū)出五個分區(qū)行施, 這五個由擴(kuò)展分區(qū)繼續(xù)切出來的分區(qū),就被稱為邏輯分區(qū)(logical partition)凌净。
上述的分區(qū)在 Linux 系統(tǒng)中的裝置文件名分別如下:
- P1:/dev/sda1
- P2:/dev/sda2
- L1:/dev/sda5
- L2:/dev/sda6
- L3:/dev/sda7
- L4:/dev/sda8
- L5:/dev/sda9
在過去 MBR 分區(qū)表的限制中經(jīng)潮辏可以發(fā)現(xiàn)如下的問題:
- 操作系統(tǒng)無法抓取到 2.2T 以上的磁盤容量!
- MBR 僅有一個區(qū)塊冰寻,若被破壞后须教,經(jīng)常無法或很難救援。
- MBR 內(nèi)的存放開機(jī)管理程序的區(qū)塊僅 446bytes,無法容納較多的程序代碼轻腺。
然后接下來看下例題:
在 Windows 操作系統(tǒng)當(dāng)中乐疆,如果你想要將 D盤 與 E 盤整合成為一個新的分區(qū),而如果有兩種分區(qū)的情況如下圖所示贬养, 圖中的特殊顏色區(qū)塊為 D 盤與 E 盤的示意挤土,請問這兩種方式是否均可將 D盤 與 E盤 整合成為一個新的分區(qū)?
- 上圖可以整合:因為上圖的 D盤與 E盤 同屬于擴(kuò)展分區(qū)內(nèi)的邏輯分區(qū)误算,因此只要將兩個分區(qū)刪除仰美,然后再重新建立一個新的分區(qū), 就能夠在不影響其他分區(qū)槽的情況下儿礼,將兩個分區(qū)的容量整合成為一個咖杂。
- 下圖不可整合:因為 D 與 E 分屬主分區(qū)與邏輯分區(qū),兩者不能夠整合在一起蚊夫。除非將擴(kuò)展分區(qū)破壞掉后再重新分區(qū)诉字。 但如此一來會影響到所有的邏輯分區(qū),要注意的是: 如果擴(kuò)展分區(qū)被破壞知纷,所有邏輯分區(qū)將會被刪除壤圃。 因為邏輯分區(qū)的信息都記錄在擴(kuò)展分區(qū)里面!
讀取流程
-
BIOS 加電自檢 ( Power On Self Test -- POST )琅轧。
BIOS執(zhí)行內(nèi)存地址為 FFFF:0000H 處的跳轉(zhuǎn)指令伍绳,跳轉(zhuǎn)到固化在ROM中的自檢程序處,對系統(tǒng)硬件(包括內(nèi)存)進(jìn)行檢查鹰晨。
-
讀取主引導(dǎo)記錄(MBR)墨叛。
當(dāng)BIOS檢查到硬件正常并與 CMOS 中的設(shè)置相符后,按照 CMOS 中對啟動設(shè)備的設(shè)置順序檢測可用的啟動設(shè)備模蜡。BIOS將相應(yīng)啟動設(shè)備的第一個扇區(qū)(也就是MBR扇區(qū))讀入內(nèi)存地址為0000:7C00H 處漠趁。
檢查0000:7CFEH-0000:7CFFH(MBR的結(jié)束標(biāo)志位)是否等于55AAH,若不等于則轉(zhuǎn)去嘗試其他啟動設(shè)備忍疾,如果沒有啟動設(shè)備滿足要求則顯示“NO ROM BASIC”然后死機(jī)闯传。
-
當(dāng)檢測到有啟動設(shè)備滿足要求后,BIOS將控制權(quán)交給相應(yīng)啟動設(shè)備卤妒。
啟動設(shè)備的MBR將自己復(fù)制到0000:0600H處甥绿,然后繼續(xù)執(zhí)行。
-
根據(jù)MBR中的引導(dǎo)代碼啟動引導(dǎo)程序则披。
事實上共缕,BIOS不僅檢查0000:7CFEH-0000:7CFFH(MBR的結(jié)束標(biāo)志位)是否等于55AAH,往往還對磁盤是否有寫保護(hù)士复、主引導(dǎo)扇區(qū)中是否存在活動分區(qū)等進(jìn)行檢查图谷。如果發(fā)現(xiàn)磁盤有寫保護(hù)翩活,則顯示磁盤寫保護(hù)出錯信息;如果發(fā)現(xiàn)磁盤中不存在活動分區(qū)便贵,則顯示類似如下的信息“Remove disk or other media Press any key to restart”菠镇。
GPT
GPT (GUID partition table GUID分區(qū)表)
GUID (GUID,Globally Unique Identifier 全局唯一標(biāo)識符)
GPT分區(qū)方案使用GUID分區(qū)表承璃,是源自EFI標(biāo)準(zhǔn)的一種較新的磁盤分區(qū)表結(jié)構(gòu)的標(biāo)準(zhǔn)利耍。與普遍使用的主引導(dǎo)記錄(MBR)分區(qū)方案相比,GPT提供了更加靈活的磁盤分區(qū)機(jī)制盔粹。
它具有如下優(yōu)點:
- 支持2TB以上的大硬盤隘梨。
- 分區(qū)大小幾乎沒有限制。因為它用64位的整數(shù)表示扇區(qū)號舷嗡〕鲟冢夸張一點說,一個64位整數(shù)能代表的分區(qū)大小已經(jīng)是個“天文數(shù)字”了咬崔,若干年內(nèi)你都無法見到這樣大小的硬盤,更不用說分區(qū)了烦秩。
- 分區(qū)表自帶備份垮斯。在磁盤的首尾部分分別保存了一份相同的分區(qū)表。其中一份被破壞后只祠,可以通過另一份恢復(fù)兜蠕。
- 每個分區(qū)可以有一個名稱(不同于卷標(biāo))。
以前的扇區(qū)只有512個字節(jié)大小抛寝,只有64個字節(jié)用來記錄分區(qū)信息熊杨,所以MBR不支持容量大于2TB的分區(qū)(DPT記錄不下),一些硬盤制造商(諸如希捷和西部數(shù)據(jù))注意到了這個局限性盗舰,并且將他們的容量較大的磁盤升級到了4KB的扇區(qū),這意味著MBR的有效容量上限提升到了16 TB晶府。
這個看似“正確的”解決方案,在臨時地降低了人們對改進(jìn)磁盤分配表的需求的同時钻趋,也給市場帶來了關(guān)于在有較大的塊(block)的設(shè)備上從BIOS啟動時川陆,如何最佳的劃分磁盤分區(qū)的困惑。
所以GPT分區(qū)方案產(chǎn)生了蛮位。
了解GPT之前就需要先了解什么是LBA较沪。
LBA
邏輯區(qū)塊地址(Logical Block Address, LBA)是描述電腦存儲設(shè)備上數(shù)據(jù)所在區(qū)塊的通用機(jī)制
為了兼容大容量的磁盤,在扇區(qū)的定義上面失仁, GPT大多會使用邏輯區(qū)塊地址來處理尸曼。而第一個 LBA 稱為 LBA0 (從0 開始編號)。
?
與 MBR 僅使用第一個 512bytes 區(qū)塊(MBR扇區(qū))來紀(jì)錄不同萄焦, GPT 使用了 34 個 LBA 區(qū)塊來紀(jì)錄分區(qū)信息控轿!
同時與過去 MBR 僅有一的區(qū)塊,被干掉就死光光的情況不同, GPT 除了前面 34 個 LBA 之外解幽,整個磁盤的最后 33 個 LBA 也拿來作為另一個備份贴见。
假設(shè)扇區(qū)為512個字節(jié),詳細(xì)的結(jié)構(gòu)有點像底下的模樣 :
LBA0 (MBR 兼容區(qū)塊)
與 MBR 模式相似躲株,這個兼容區(qū)塊分為兩個部份片部,一個就是跟之前 446 bytes 相似的區(qū)塊, 儲存了引導(dǎo)程序霜定。 而在原本的DPT區(qū)內(nèi)档悠,這個兼容模式僅放入一個特殊標(biāo)志,用來表示此磁盤為 GPT 格式望浩。而不懂 GPT 分區(qū)表的引導(dǎo)程序(grub)辖所, 就不會認(rèn)識這顆磁盤,除非用戶有特別方式要處理這顆磁盤磨德,否則該引導(dǎo)程序不能修改此分區(qū)信息缘回,進(jìn)一步保護(hù)了此磁盤!-
LBA1 (GPT 表頭紀(jì)錄)
?分區(qū)表頭定義了硬盤的可用空間以及組成分區(qū)表的項的大小和數(shù)量典挑。
?在使用64位Windows Server 2003的機(jī)器上酥宴,最多可以創(chuàng)建128個分區(qū),即分區(qū)表中保留了128個分區(qū)項其中每個分區(qū)項都是128字節(jié)您觉。(那么4個項為一組拙寡,一組也就是512字節(jié),一個扇區(qū)的大小琳水。128個分區(qū)總共占據(jù)32個LBA區(qū)塊)肆糕。
?LBA1 同時紀(jì)錄了備份用的 GPT 分區(qū) (就是前面談到的在最后 33 個 LBA 區(qū)塊) 放置的位置, 同時放置了分區(qū)表的檢驗機(jī)制碼 (CRC32)在孝,操作系統(tǒng)可以根據(jù)這個檢驗碼來判斷 GPT 是否正確诚啃。若有錯誤,還可以透過這個紀(jì)錄區(qū)來取得備份的 GPT(磁盤最后的那個備份區(qū)塊) 來恢復(fù) GPT 的正常運作私沮!
-
LBA2-33 (實際記錄分區(qū)信息處)
?從 LBA2 區(qū)塊開始绍申, 每個 LBA 都可以紀(jì)錄 4 組分區(qū)項,所以在默認(rèn)的情況下顾彰,總共可以有 4*32 = 128 組分區(qū)項极阅!因為每個 LBA 有 512bytes,因此每組分區(qū)項用到 128bytes 的空間涨享,除了每組分區(qū)項所需要的標(biāo)識符與相關(guān)的紀(jì)錄之外筋搏, GPT 在每組分區(qū)項中分別提供了 64bits 來記載開始/結(jié)束的扇區(qū)號碼,因此厕隧, GPT 分區(qū)表對于單一分區(qū)來說奔脐, 他的最大容量限制就會在『2 ^ 64 * 512 bytes(每個扇區(qū)大小) = 2 ^ 63 * 1Kbytes = 2 ^ 33 TB = 8 ZB 』俄周,要注意 1ZB =230TB !
此外, GPT 分區(qū)已經(jīng)沒有所謂的主髓迎、延伸峦朗、邏輯分區(qū)的概念,既然每筆紀(jì)錄都可以獨立存在排龄, 當(dāng)然每個都可以視為是主分區(qū)波势!每一個分區(qū)都可以拿來格式化使用喔!
在磁盤管理工具上面橄维, fdisk 這個老牌的軟件并不認(rèn)識 GPT 喔尺铣!要使用 GPT 的話,得要操作類似 gdisk 或者是 parted 指令才行争舞!
另外凛忿,引導(dǎo)程序方面, grub 第一版并不認(rèn)識 GPT 竞川!得要 grub2 以后才會認(rèn)識的店溢!
并不是所有的操作系統(tǒng)都可以讀取到 GPT 的磁盤分區(qū)格式。同時委乌,也不是所有的硬件都可以支持GPT 格式逞怨。是否能夠讀寫 GPT 格式又與開機(jī)的檢測程序有關(guān),就是 BIOS 與 UEFI福澡。
windows
對于windows的GPT分區(qū)方案來說,除了原本的分區(qū)外驹马,還需要額外的兩個分區(qū)革砸,MSR和ESP
MSR
MSR分區(qū)(Microsoft Reserved Partition,縮寫MSR)即Microsoft 保留 (MSR) 分區(qū)糯累。
是每個 在GUID 分區(qū)表 (GPT) 上的 Windows操作系統(tǒng)(windows7以上)都要求的分區(qū)算利。系統(tǒng)組件可以將 MSR 分區(qū)的部分分配到新的分區(qū)以供它們使用。
MSR 分區(qū)的大小會因 GPT 磁盤的大小不同而發(fā)生變化泳姐。對于小于 16 GB 的磁盤效拭,MSR 分區(qū)為 32 MB。對于大于 16 GB 的磁盤胖秒,MSR 分區(qū)為 128 MB缎患。MSR 分區(qū)在“磁盤管理”中不可見,用戶也無法在 MSR 分區(qū)上存儲或刪除數(shù)據(jù)阎肝。
對于在GPT磁盤上的Windows操作系統(tǒng)挤渔,MSR分區(qū)是必須保留的,不可刪除(無法啟動可能是由于用part1风题,part2…等表示的分區(qū)因為msr分區(qū)的刪除而改變導(dǎo)致的)判导。而對于GPT磁盤中的其他操作系統(tǒng)嫉父,如linux,mac則不受影響眼刃。
ESP
EFI系統(tǒng)分區(qū)绕辖,即 EFI system partition,簡寫為 ESP擂红。
EFI 系統(tǒng)分區(qū)包含BOOT LOADER引導(dǎo)程序來啟動操作系統(tǒng)掠廓。操作系統(tǒng)存儲在其他分區(qū)或者其他存儲介質(zhì)中涧至。
ESP雖然 是一個 FAT16 或 FAT32 格式的物理分區(qū),但是其分區(qū)標(biāo)識是 EF (十六進(jìn)制) 而非常規(guī)的 0E 或 0C。因此栅哀,該分區(qū)在 Windows 操作系統(tǒng)下一般是不可見的。支持 EFI 模式的電腦需要從 ESP 啟動系統(tǒng)状飞,EFI 固件可從 ESP 加載 EFI 啟動程序和應(yīng)用程序商玫。
ESP是一個獨立于操作系統(tǒng)之外的分區(qū),操作系統(tǒng)被引導(dǎo)之后伴栓,就不再依賴它伦连。這使得 ESP 非常適合用來存儲那些系統(tǒng)級的維護(hù)性的工具和數(shù)據(jù),比如:引導(dǎo)管理程序钳垮、驅(qū)動程序惑淳、系統(tǒng)維護(hù)工具、系統(tǒng)備份等
4K對齊
“4K對齊”就是符合“4K扇區(qū)”定義格式化過的硬盤饺窿,并且按照“4K 扇區(qū)”的規(guī)則寫入數(shù)據(jù)歧焦。
對于有固態(tài)硬盤的設(shè)備,一般需要勾選4K對齊
為什么會有4k對齊的概念肚医?
新標(biāo)準(zhǔn)的"4K扇區(qū)"的硬盤在廠商為了保證與操作系統(tǒng)兼容的前提下绢馍,將扇區(qū)模擬成512B,這時才會有4K扇區(qū)和4K簇不對齊的情況發(fā)生肠套。所以就要用“4K對齊"的方式舰涌,將硬盤模擬扇區(qū)對齊“4k扇區(qū)”。
“4K對齊”主要是將硬盤的模擬扇區(qū)(512B)對齊到8的整數(shù)倍個“實際”4K扇區(qū)你稚,即4096B*8=32768B瓷耙,其正好跨過了63扇區(qū)的特性,從第64個扇區(qū)對齊刁赖。
什么是4k不對齊
“4K”對不齊是因為在NTFS6.x 以前的規(guī)范中搁痛,數(shù)據(jù)的寫入點正好會介于在兩個4K 扇區(qū)的之間,也就是說即使是寫入最小量的數(shù)據(jù)宇弛,也會使用到兩個4K扇區(qū)落追,顯然這樣對寫入速度和讀取速度都會造成很大的影響。
固態(tài)硬盤
為此對于“4K不對齊”的情況來說涯肩,一定要修改成“4K 對齊”才行轿钠,否則對于固態(tài)硬盤來說巢钓,不但會極大的降低數(shù)據(jù)寫入和讀取速度,還會造成固態(tài)硬盤不必要的寫入次數(shù)疗垛。
linux
GPT下的linux必須有ESP分區(qū)症汹,有些顯示為EFI系統(tǒng)分區(qū)
ESP
EFI系統(tǒng)分區(qū),即 EFI system partition贷腕,簡寫為 ESP背镇。
EFI 系統(tǒng)分區(qū)包含BOOT LOADER引導(dǎo)程序來啟動操作系統(tǒng)。操作系統(tǒng)存儲在其他分區(qū)或者其他存儲介質(zhì)中泽裳。
ESP雖然 是一個 FAT16 或 FAT32 格式的物理分區(qū)瞒斩,但是其分區(qū)標(biāo)識是 EF (十六進(jìn)制) 而非常規(guī)的 0E 或 0C。因此涮总,該分區(qū)在 Windows 操作系統(tǒng)下一般是不可見的胸囱。支持 EFI 模式的電腦需要從 ESP 啟動系統(tǒng),EFI 固件可從 ESP 加載 EFI 啟動程序和應(yīng)用程序瀑梗。
ESP是一個獨立于操作系統(tǒng)之外的分區(qū)烹笔,操作系統(tǒng)被引導(dǎo)之后,就不再依賴它抛丽。這使得 ESP 非常適合用來存儲那些系統(tǒng)級的維護(hù)性的工具和數(shù)據(jù)谤职,比如:引導(dǎo)管理程序、驅(qū)動程序亿鲜、系統(tǒng)維護(hù)工具允蜈、系統(tǒng)備份等
區(qū)別總結(jié)
1、GPT和MBR是不同的分區(qū)表類型:
1)MBR分區(qū)表的硬盤最多能劃分4個主分區(qū)磁盤蒿柳,并且MBR最大僅支持2TB的硬盤饶套,但擁有最好的兼容性。
2)GPT分區(qū)表類型其馏,此分區(qū)表類型不受分區(qū)個數(shù)、硬盤大小的限制爆安,最大支最大支持18EB 大容量(EB=1024 PB叛复,PB=1024 TB),而且GPT是一種新的硬盤分區(qū)標(biāo)準(zhǔn)
2扔仓、MBR的意思是“主引導(dǎo)記錄”褐奥,它有自己的啟動器,也就是啟動代碼翘簇,一旦啟動代碼被破壞撬码,系統(tǒng)就沒法啟動,只有通過修復(fù)才能啟動系統(tǒng)版保。但是容量方面有很大的限制呜笑。
3夫否、GPT是一個正逐漸取代MBR的新標(biāo)準(zhǔn),它由UEFI輔住而形成的叫胁,這樣就有了UEFI用于取代老舊的BIOS凰慈,而GPT則取代老舊的MBR。磁盤驅(qū)動器容量可以大得多驼鹅,大到操作系統(tǒng)和文件系統(tǒng)都沒法支持微谓。它同時還支持幾乎有的64位的win0,win8输钩,win7和Vista豺型,以及所對應(yīng)的服務(wù)器都能從GPT啟動。
相關(guān)知識點運用和參考: