磁碟分割槽MBR和GPT

2021-07-31 07:24:42 字數 2922 閱讀 9019

參考:guid(gpt)分割槽表詳解

gpt分割槽表詳解

gpt學習文件

先說說目前廣泛使用的磁碟分割槽表方案。傳統的分割槽方案(稱為mbr分割槽方案)是將分割槽資訊儲存到磁碟的第乙個扇區(mbr扇區)中的64個位元組中,每個分割槽項占用16個位元組,這16個位元組中存有活動狀態標誌、檔案系統標識、起止柱面號、磁頭號、扇區號、隱含扇區數目(4個位元組)、分割槽總扇區數目(4個位元組)等內容。由於mbr扇區只有64個位元組用於分割槽表,所以只能記錄4個分割槽的資訊。這就是硬碟主分割槽數目不能超過4個的原因。後來為了支援更多的分割槽,引入了擴充套件分割槽及邏輯分割槽的概念。但每個分割槽項仍用16個位元組儲存。

mbr分割槽方案不是用得好好的嗎?為什麼要提出新的方案呢?那就讓我們看看mbr分割槽方案有什麼問題。前面已經提到了主分割槽數目不能超過4個的限制,這是其一,很多時候,4個主分割槽並不能滿足需要。另外最關鍵的是mbr分割槽方案無法支援超過2tb容量的磁碟。因為這一方案用4個位元組儲存分割槽的總扇區數,最大能表示2的32次方的扇區個數,按每扇區512位元組計算,每個分割槽最大不能超過2tb。磁碟容量超過2tb以後,分割槽的起始位置也就無法表示了。在硬碟容量突飛猛進的今天,2tb的限制將很快被突破。由此可見,mbr分割槽方案已經無法滿足需要了。

guid分割槽表(簡稱gpt,使用guid分割槽表的磁碟稱為gpt磁碟)是源自efi標準的一種較新的磁碟分割槽表結構的標準。與目前普遍使用的主引導記錄(mbr)分割槽方案相比,gpt提供了更加靈活的磁碟分割槽機制。它具有如下優點:

1、支援2tb以上的大硬碟。

2、每個磁碟的分割槽個數幾乎沒有限制(windows系統最多隻允許劃分128個分割槽)。

3、分割槽大小幾乎沒有限制。又是乙個「幾乎」。因為它用64位的整數表示扇區號,對於每個扇區大小為512位元組的磁碟,那意味著可以有9.4zb(9.4 x 10^21位元組)或18 e 個512位元組(9,444,732,965,739,290,426,880位元組 或 18,446,744,073,709,551,615(2^64-1)個扇區 x 512(=2^9)位元組每扇區)。

4、分割槽表自帶備份。在磁碟的首尾部分分別儲存了乙份相同的分割槽表,其中乙份被破壞後,可以通過另乙份恢復;

5、迴圈冗餘檢驗值針對關鍵資料結構而計算,提高了資料崩潰的檢測機率;

6、 雖然mbr提供1位元組分割槽型別**,但gpt使用乙個16位元組的全域性唯一識別符號(guid)值來標識分割槽型別,這使分割槽型別更不容易衝突;

7、每個分割槽可以有乙個名稱(不同於卷標)。

在gpt分割槽表的最開頭,處於相容性考慮仍然儲存了乙份傳統的mbr(lba 0),這個mbr叫做保護性mbr(protective mbr)。

保護性mbr保護gpt磁碟不受以前發布的mbr磁碟工具的危害。這些工具不能感知gpt,也無法正確地訪問gpt磁碟。這些工具通過解釋保護性mbr,將gpt磁碟看成乙個封裝的(可能無法識別)分割槽,而不是錯誤地當成乙個未分割槽的磁碟,並且拒絕對硬碟進行操作。這就避免了意外刪除分割槽的危險。

在支援從gpt啟動的作業系統中,這裡也用於儲存第一階段的啟動**。在這個mbr中,只有乙個標識為0xee的分割槽,以此來表示這塊硬碟使用gpt分割槽表。

在使用mbr/gpt混合分割槽表的硬碟中,這部分儲存了gpt分割槽表的一部分分割槽(通常是前四個分割槽),可以使不支援從gpt啟動的作業系統從這個mbr啟動,啟動後只能操作mbr分割槽表中的分割槽。

efi部分又可以分為4個區域:efi資訊區(gpt頭)、分割槽表、gpt分割槽、備份區域。

efi資訊區(gpt頭)

起始於磁碟的lba1,通常也只占用這個單一扇區。其作用是定義分割槽表的位置和大小。gpt頭還包含頭和分割槽表的校驗和,這樣就可以及時發現錯誤。

分割槽表

分割槽表區域包含分割槽表項。這個區域由gpt頭定義,一般占用磁碟lba2~lba33扇區。分割槽表中的每個分割槽項由起始位址、結束位址、型別值、名字、屬性標誌、guid值組成。分割槽表建立後,128位的guid對系統來說是唯一的。

gpt分割槽

最大的區域,由分配給分割槽的扇區組成。這個區域的起始和結束位址由gpt頭定義。

備份區

備份區域位於磁碟的尾部,包含gpt頭和分割槽表的備份。它占用gpt結束扇區和efi結束扇區之間的33個扇區。其中最後乙個扇區用來備份1號扇區的efi資訊,其餘的32個扇區用來備份lba2~lba33扇區的分割槽表。

分割槽表頭(lba 1)定義了硬碟的可用空間以及組成分割槽表的項的大小和數量。在使用64位windows server 2003的機器上,最多可以建立128個分割槽,即分割槽表中保留了128個項,其中每個都是128位元組。(efi標準要求分割槽表最小要有16,384位元組,即128個分割槽項的大小)

分割槽表頭還記錄了這塊硬碟的guid,記錄了分割槽表頭本身的位置和大小以及備份分割槽表頭和分割槽表的位置和大小(在硬碟的最後)。它還儲存著它本身和分割槽表的crc32校驗。韌體、引導程式和作業系統在啟動時可以根據這個校驗值來判斷分割槽表是否出錯,如果出錯了,可以使用軟體從硬碟最後的備份gpt中恢復整個分割槽表,如果備份gpt也校驗錯誤,硬碟將不可使用。以下是分割槽表頭結構的具體資訊:

lba 2–33的位置存放的是分割槽表項。gpt分割槽表使用簡單而直接的方式表示分割槽。乙個分割槽表項的前16位元組是分割槽型別guid。接下來的16位元組是該分割槽唯一的guid(這個guid指的是該分割槽本身,而之前的guid指的是該分割槽的型別)。再接下來是分割槽起始和末尾的64位lba編號,以及分割槽的名字和屬性。

分割槽型別guid和分割槽屬性見參考以及uefi specification version第五章,其中某些引數和實際情況不太一致,請使用dd指令來檢視分割槽表內容對比

磁碟分割槽MBR和GPT格式詳解(Linux)

機械硬碟主要由磁碟碟片 磁頭 主軸與傳動軸等組成,資料存放在具有磁性物質的磁碟碟片中。實際執行時,主軸馬達讓碟片轉動,然後磁頭臂讓磁頭在碟片上面進行讀寫操作。讀取資料時以磁頭轉圈的方式進行,在磁片同心圓中切出乙個乙個的小區塊,這些小區塊就是磁碟的最小物理儲存單位,成為扇區 sector 同乙個同心圓...

GPT磁碟分割槽建立

公司伺服器需要配置8t的空間,如此大的硬碟預設分割槽自動分解為4個mbr分割槽,這個與要求不符,轉化為gpt磁碟後才搞定。先說說廣泛使用的磁碟分割槽表方案。傳統的分割槽方案 稱為mbr分割槽方案 是將分割槽資訊儲存到磁碟的第乙個扇區 mbr扇區 中的64個位元組中,每個分割槽項占用16個位元組,這1...

主機規劃與磁碟分割槽 磁碟分割槽 MBR

主流的磁碟介面為sata介面。sata usb scsi等磁碟介面都是使用scsi模組來驅動的,因此這些介面的磁碟裝置檔名都是 dev sd a p 的格式。順序需要根據linux核心檢測到磁碟的順序來決定。比如pc上面有兩個sata磁碟以及乙個usb磁碟,而主機板上面有6個sata的插槽。這兩個s...