保護MBR包含一個DOS分區表(LBA0),只包含一個類型值爲0xEE的分區項,在小於2TB的磁盤上,大小爲整個磁盤;在更大的磁盤上,它的大小固定爲2TB。它的做用是阻止不能識別GPT分區的磁盤工具試圖對其進行格式化等操做,因此該扇區被稱爲「保護MBR」。實際上,EFI根本不使用這個分區表。api
EFI部分又能夠分爲4個區域:EFI信息區(GPT頭)、分區表、GPT分區、備份區域。數據結構
EFI信息區位於磁盤的1號扇區(LBA1),也稱爲GPT頭。其具體結構以下表所示工具
相對字節偏移量 (十六進制) |
字節數 | 說明[整數皆以little endian方式表示] |
---|---|---|
00~07 | 8 | GPT頭簽名「45 46 49 20 50 41 52 54」(ASCII碼爲「EFI PART」) |
08~0B | 4 | 版本號,目前是1.0版,其值是「00 00 01 00」 |
0C~0F | 4 | GPT頭的大小(字節數),一般爲「5C 00 00 00」(0x5C),也就是92字節。 |
10~13 | 4 | GPT頭CRC校驗和(計算時把這個字段自己看作零值) |
14~17 | 4 | 保留,必須爲「00 00 00 00」 |
18~1F | 8 | EFI信息區(GPT頭)的起始扇區號,一般爲「01 00 00 00 00 00 00 00」,也就是LBA1。 |
20~27 | 8 | EFI信息區(GPT頭)備份位置的扇區號,也就是EFI區域結束扇區號。一般是整個磁盤最末一個扇區。 |
28~2F | 8 | GPT分區區域的起始扇區號,一般爲「22 00 00 00 00 00 00 00」(0x22),也便是LBA34。 |
30~37 | 8 | GPT分區區域的結束扇區號,一般是倒數第34扇區。 |
38~47 | 16 | 磁盤GUID(全球惟一標識符,與UUID是同義詞) |
48~4F | 8 | 分區表起始扇區號,一般爲「02 00 00 00 00 00 00 00」(0x02),也就是LBA2。 |
50~53 | 4 | 分區表總項數,一般限定爲「80 00 00 00」(0x80),也就是128個。 |
54~57 | 4 | 每一個分區表項佔用字節數,一般限定爲「80 00 00 00」(0x80),也就是128字節。 |
58~5B | 4 | 分區表CRC校驗和 |
5C~* | * | 保留,一般是全零填充 |
相對字節偏移量 (十六進制) |
字節數 | 說明[整數皆以little endian方式表示] |
---|---|---|
00~0F | 16 | 用GUID表示的分區類型 |
10~1F | 16 | 用GUID表示的分區惟一標示符 |
20~27 | 8 | 該分區的起始扇區,用LBA值表示。 |
28~2F | 8 | 該分區的結束扇區(包含),用LBA值表示,一般是奇數。 |
30~37 | 8 | 該分區的屬性標誌 |
38~7F | 72 | UTF-16LE編碼的人類可讀的分區名稱,最大32個字符。 |
注意,扇區尺寸不能假定爲512字節,也就是說,一個扇區內可能存放4個以上的分區項,也可能只存放一個分區項的一部分。也就是說,除了頭兩個扇區(LBA 0 和 LBA 1)以外,GPT規範僅定義了數據結構的尺寸,而不關心使用多少個扇區進行存儲。編碼
相關操做系統 | GUID[little endian] | 含義 |
---|---|---|
None | 00000000-0000-0000-0000-000000000000 | 未使用 |
None | 024DEE41-33E7-11D3-9D69-0008C781F39F | MBR分區表 |
None | C12A7328-F81F-11D2-BA4B-00A0C93EC93B | EFI系統分區[EFI System partition (ESP)] |
None | 21686148-6449-6E6F-744E-656564454649 | BIOS引導分區,其對應的ASCII字符串是"Hah!IdontNeedEFI"。 |
None | D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 | Intel Fast Flash (iFFS) partition (for Intel Rapid Start technology) |
Windows | E3C9E316-0B5C-4DB8-817D-F92DF00215AE | 微軟保留分區 |
Windows | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 | 基本數據分區 |
Windows | DE94BBA4-06D1-4D40-A16A-BFD50179D6AC | Windows恢復環境 |
Linux | 0FC63DAF-8483-4772-8E79-3D69D8477DE4 | 數據分區。Linux曾經使用和Windows基本數據分區相同的GUID。 這個新的GUID是由 GPT fdisk 和 GNU Parted 開發者根據Linux傳統的"8300"分區代碼發明的。 |
Linux | A19D880F-05FC-4D3B-A006-743F0F84911E | RAID分區 |
Linux | 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F | 交換分區 |
Linux | E6D6D379-F507-44C2-A23C-238F2A3DF928 | 邏輯卷管理器(LVM)分區 |
Linux | 8DA63339-0007-60C0-C436-083AC8230908 | 保留 |
Microsoft還進一步對分區的屬性進行了細分:低位4字節表示與分區類型無關的屬性,高位4字節表示與分區類型有關的屬性。Microsoft目前使用了下列屬性:spa
Bit | 解釋 |
---|---|
0 | 系統分區(磁盤分區工具必須將此分區保持原樣,不得作任何修改) |
1 | EFI隱藏分區(EFI不可見分區) |
2 | 傳統的BIOS的可引導分區標誌 |
60 | 只讀 |
62 | 隱藏 |
63 | 不自動掛載,也就是不自動分配盤符 |