本文作者是一位開源理念的堅定支持者,所以本文雖然不是軟體,但是遵照開源的精神發布。
本文作者十分願意與他人分享勞動成果,如果你對我的其他翻譯作品或者技術文章有興趣,可以在如下位置檢視現有的作品集:
由於作者水平有限,因此不能保證作品內容準確無誤。如果你發現了作品中的錯誤(哪怕是錯別字也好),請來信指出,任何提高作品質量的建議我都將虛心接納。
保護mbr包含乙個dos分割槽表(lba0),只包含乙個型別值為0xee的分割槽項,在小於2tb的磁碟上,大小為整個磁碟;在更大的磁碟上,它的大小固定為2tb。它的作用是阻止不能識別gpt分割槽的磁碟工具試圖對其進行格式化等操作,所以該扇區被稱為「保護mbr」。實際上,efi根本不使用這個分割槽表。
efi資訊區(gpt頭)
起始於磁碟的lba1,通常也只占用這個單一扇區。其作用是定義分割槽表的位置和大小。gpt頭還包含頭和分割槽表的校驗和,這樣就可以及時發現錯誤。
分割槽表分割槽表區域包含分割槽表項。這個區域由gpt頭定義,一般占用磁碟lba2~lba33扇區。分割槽表中的每個分割槽項由起始位址、結束位址、型別值、名字、屬性標誌、guid值組成。分割槽表建立後,128位的guid對系統來說是唯一的。
gpt分割槽
最大的區域,由分配給分割槽的扇區組成。這個區域的起始和結束位址由gpt頭定義。
備份區備份區域位於磁碟的尾部,包含gpt頭和分割槽表的備份。它占用gpt結束扇區和efi結束扇區之間的33個扇區。其中最後乙個扇區用來備份1號扇區的efi資訊,其餘的32個扇區用來備份lba2~lba33扇區的分割槽表。
efi資訊區位於磁碟的1號扇區(lba1),也稱為gpt頭。其具體結構如下表所示
efi資訊區結構
相對位元組偏移量
(十六進製制)
位元組數說明[整數皆以little endian方式表示]
00~07
8gpt頭簽名「45 46 49 20 50 41 52 54」(ascii碼為「efi part」)
08~0b
4版本號,目前是1.0版,其值是「00 00 01 00」
0c~0f
4gpt頭的大小(位元組數),通常為「5c 00 00 00」(0x5c),也就是92位元組。
10~13
4gpt頭crc校驗和(計算時把這個字段本身看做零值)
14~17
4保留,必須為「00 00 00 00」
18~1f
8efi資訊區(gpt頭)的起始扇區號,通常為「01 00 00 00 00 00 00 00」,也就是lba1。
20~27
8efi資訊區(gpt頭)備份位置的扇區號,也就是efi區域結束扇區號。通常是整個磁碟最末乙個扇區。
28~2f
8gpt分割槽區域的起始扇區號,通常為「22 00 00 00 00 00 00 00」(0x22),也即是lba34。
30~37
8gpt分割槽區域的結束扇區號,通常是倒數第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
72utf-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)],必須是vfat格式
none
bc13c2ff-59e6-4262-a352-b275fd6f7172
擴充套件boot分割槽,必須是vfat格式
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
44479540-f297-41b2-9af7-d131d5f0458a
x86根分割槽 (/) 這是systemd的發明,可用於無fstab時的自動掛載
linux
4f68bce3-e8cd-4db1-96e7-fbcaf984b709
x86-64根分割槽 (/) 這是systemd的發明,可用於無fstab時的自動掛載
linux
69dad710-2ce4-4e3c-b16c-21a1d49abed3
arm32根分割槽 (/) 這是systemd的發明,可用於無fstab時的自動掛載
linux
b921b045-1df0-41c3-af44-4c6f280d3fae
aarch64根分割槽 (/) 這是systemd的發明,可用於無fstab時的自動掛載
linux
3b8f8425-20e0-4f3b-907f-1a25a76f98e8
伺服器資料分割槽(/srv) 這是systemd的發明,可用於無fstab時的自動掛載
linux
933ac7e1-2eb4-4f13-b844-0e14e2aef915
home分割槽 (/home) 這是systemd的發明,可用於無fstab時的自動掛載
linux
0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
交換分割槽(swap) 不是systemd的發明,但同樣可用於無fstab時的自動掛載
linux
a19d880f-05fc-4d3b-a006-743f0f84911e
raid分割槽
linux
e6d6d379-f507-44c2-a23c-238f2a3df928
邏輯卷管理器(lvm)分割槽
linux
8da63339-0007-60c0-c436-083ac8230908保留
microsoft還進一步對分割槽的屬性進行了細分:低位4位元組表示與分割槽型別無關的屬性,高位4位元組表示與分割槽型別有關的屬性。microsoft目前使用了下列屬性:
分割槽屬性
bit解釋0
系統分割槽(磁碟分割槽工具必須將此分割槽保持原樣,不得做任何修改)
1efi隱藏分割槽(efi不可見分割槽)
2傳統的bios的可引導分割槽標誌
60唯讀
62隱藏
63不自動掛載,也就是不自動分配碟符
GPT 分割槽詳解
保護mbr 保護mbr包含乙個dos分割槽表 lba0 只包含乙個型別值為0xee的分割槽項,在小於2tb的磁碟上,大小為整個磁碟 在更大的磁碟上,它的大小固定為2tb。它的作用是阻止不能識別gpt分割槽的磁碟工具試圖對其進行分割槽或格式化等操作,所以該扇區被稱為 保護mbr 實際上,efi根本不使...
詳解MBR分割槽結構以及GPT分割槽結構
一 mbr分割槽結構 mbr磁碟分割槽是一種使用最為廣泛的分割槽結構,它也被稱為dos分割槽結構,但它並不僅僅應用於windows系統平台,也應用於linux,基於x86的unix等系統平台。它位於磁碟的0號扇區 一扇區等於512位元組 是乙個重要的扇區 簡稱mbr扇區 mbr扇區由以下四部分組成 ...
GPT分割槽格式
1.gpt定義 全域性唯一標識分割槽表 guid partition table,縮寫 gpt 是乙個實體硬碟的分割槽表的結構布局的標準。它是可擴充套件韌體介面 uefi 標準的一部分,被用於替代bios系統中使用32bits來儲存邏輯塊位址和分割槽大小資訊的主引導記錄 mbr 分割槽表。gpt標準...