與支持最大卷為2TB并且每個磁盤最多有4個主分區(或3個主分區,1個擴展分區)的MBR磁盤分區樣式相比,GPT磁盤分區樣式支持最大卷128EB并且每磁盤的分區數沒有上限,只受到操作系統限制(由于分區表本身需要占用一定空間,最初規劃硬盤分區時,留給分區表的空間決定了最多可以有多少個分區,IA-64版Windows限制最多有128個分區,這也是EFI標準規定的分區表的最小尺寸)。與MBR分區的磁盤不同,至關重要的平臺操作數據位于分區,而不是位于非分區或隱藏扇區。另外,GPT分區磁盤有備份分區表來提高分區數據結構的完整性。
MSDOS分區
早期的Linux系統為了兼容Windows的磁盤,使用支持Windows的MBR的方式來處理開機管理程序與分區表,這些記錄在第一個扇區,這個扇區通常為512bytes大小,所以第一個扇區會有兩個數據
1、主要啟動記錄區(MBR):可以按照開機管理程序的地方,有446bytes
2、分區表(partition table):記錄整個硬盤分區的狀態,有64bytes
由于分區表所在區塊僅有64bytes容量,因此最多僅能有四組記錄區,每組記錄區記錄了該區段的起始與結束的磁柱號碼。
上圖假設磁盤只有400個磁柱,共分4個分區,第四個分區所在301-400號磁柱的范圍,這四個分區被稱為主要(primary)或延伸(extended)分區。利用延伸分區可以劃分更多的分區,也就是所謂的邏輯分區(logical partition)
GPT磁盤分區(GUID partition table)
為了兼容與所有的磁盤,在扇區的定義上面,大多會使用所謂的邏輯區塊地址(LBA)來處理,GPT將磁盤所有區塊以LBA來規劃,而第一個LBA稱為LBA0,與MBR僅使有一個區塊不同,GPT除了前面的34個LBA之外,整個磁盤的最后33個LBA也拿來作為另一個備份
LBA0(MBR相容區塊)
與MBR模式相似
LBA1(GPT表頭記錄)
記錄分區本身位置與大小,同時記錄了備份用的GPT分區放置位置以及分區表的檢驗機制碼(CRC32)
LBA2-33(實際記錄分區信息)
從LBA2區塊開時,每個LBA都可以記錄4筆分區記錄,所以默認情況下可以有4×32=128筆分區記錄,因為每個LBA有512bytes,因此每個記錄用到128bytes的空間,除了每個記錄所需要的標識符和相關記錄外,GPT在每個記錄中分別提供64bits來記錄開始/結束的扇區號碼,因此,GPT分區表對于單一分區來說,他的最大容量限制就是8ZB。
為了對比理解附一個結構圖
附表 支持GPT格式的系統
注:1、分區工具無法轉換MBR,可能導致的原因是磁盤內存在資料,解決方法,將所有分區格式化。
2、相關書籍《鳥哥私房菜》以及百度百科,有興趣可以閱讀原文,此處只做學習記錄。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/103248