admin管理员组

文章数量:1530842

2024年6月2日发(作者:)

保护MBR

保护MBR包含一个DOS分区表(LBA0),只包含一个类型值为0xEE的分区项,在小于2TB的磁盘上,大小为整个磁盘;在更大的磁

盘上,它的大小固定为2TB。它的作用是阻止不能识别GPT分区的磁盘工具试图对其进行分区或格式化等操作,所以该扇区被称为“保护

MBR”。实际上,EFI根本不使用这个分区表。

EFI部分

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扇区的分区表。

EFI信息区数据结构

EFI信息区位于磁盘的1号扇区(LBA1),也称为GPT头。其具体结构如下表所示

EFI信息区结构

相对字节偏移量

字节数

(十六进制)

00~07

08~0B

0C~0F

10~13

14~17

18~1F

20~27

28~2F

8

4

4

4

4

8

8

8

说明[整数皆以little endian方式表示]

GPT头签名“45 46 49 20 50 41 52 54”(ASCII码为“EFI PART”)

版本号,目前是1.0版,其值是“00 00 01 00”

GPT头的大小(字节数),通常为“5C 00 00 00”(0x5C),也就是92字节。

GPT头CRC校验和(计算时把这个字段本身看做零值)

保留,必须为“00 00 00 00”

EFI信息区(GPT头)的起始扇区号,通常为“01 00 00 00 00 00 00 00”,也就是LBA1。

EFI信息区(GPT头)备份位置的扇区号,也就是EFI区域结束扇区号。通常是整个磁盘最末一个扇区。

GPT分区区域的起始扇区号,通常为“22 00 00 00 00 00 00 00”(0x22),也即是LBA34。

30~37

38~47

48~4F

50~53

54~57

58~5B

5C~*

8

16

8

4

4

4

*

GPT分区区域的结束扇区号,通常是倒数第34扇区。

磁盘GUID(全球唯一标识符,与UUID是同义词)

分区表起始扇区号,通常为“02 00 00 00 00 00 00 00”(0x02),也就是LBA2。

分区表总项数,通常限定为“80 00 00 00”(0x80),也就是128个。

每个分区表项占用字节数,通常限定为“80 00 00 00”(0x80),也就是128字节。

分区表CRC校验和

保留,通常是全零填充

分区项

分区项结构

相对字节偏移量

字节数

(十六进制)

00~0F

10~1F

20~27

28~2F

30~37

38~7F

16

16

8

8

8

72

说明[整数皆以little endian方式表示]

用GUID表示的分区类型

用GUID表示的分区唯一标示符

该分区的起始扇区,用LBA值表示。

该分区的结束扇区(包含),用LBA值表示,通常是奇数。

该分区的属性标志

UTF-16LE编码的人类可读的分区名称,最大32个字符。

注意,扇区尺寸不能假定为512字节,也就是说,一个扇区内可能存放4个以上的分区项,也可能只存放一个分区项的一部分。也

就是说,除了头两个扇区(LBA 0 和 LBA 1)之外,GPT规范仅定义了数据结构的尺寸,而不关心使用多少个扇区进行存储。

分区类型

相关操作系统

None

None

None

None

None

None

Windows

Windows

Windows

Linux

Linux

Linux

Linux

Linux

Linux

Linux

Linux

Linux

Linux

Linux

GUID[little endian]

00000000-0000-0000-0000 未使用

024DEE41-33E7-11D3-9D69-0008C781F39F MBR分区表

C12A7328-F81F-11D2-BA4B-00A0C93EC93B EFI系统分区[EFI System partition (ESP)],必须是VFAT格式

BC13C2FF-59E6-4262-A352-B275FD6F7172 扩展boot分区,必须是VFAT格式

21686148-6449-6E6F-744E-656564454649 BIOS引导分区,其对应的ASCII字符串是"Hah!IdontNeedEFI"。

D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 Intel Fast Flash (iFFS) partition (for Intel Rapid Start technology)

E3C9E316-0B5C-4DB8-817D-F92DF00215AE 微软保留分区

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 基本数据分区

DE94BBA4-06D1-4D40-A16A-BFD50179D6AC Windows恢复环境

0FC63DAF-8483-4772-8E79-3D69D8477DE4

数据分区。Linux曾经使用和Windows基本数据分区相同的GUID。

这个新的GUID是由 GPT fdisk和 GNU Parted 开发者根据Linux传统的"8300"分区代码发明的。

44479540-F297-41B2-9AF7-D131D5F0458A x86根分区 (/) 这是systemd的发明,可用于无fstab时的自动挂载

4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 x86-64根分区 (/) 这是systemd的发明,可用于无fstab时的自动挂载

69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 ARM32根分区 (/) 这是systemd的发明,可用于无fstab时的自动挂载

B921B045-1DF0-41C3-AF44-4C6F280D3FAE AArch64根分区 (/) 这是systemd的发明,可用于无fstab时的自动挂载

3B8F8425-20E0-4F3B-907F-1A25A76F98E8 服务器数据分区(/srv) 这是systemd的发明,可用于无fstab时的自动挂载

933AC7E1-2EB4-4F13-B844-0E14E2AEF915 HOME分区 (/home) 这是systemd的发明,可用于无fstab时的自动挂载

0657FD6D-A4AB-43C4-84E5-0933C84B4F4F 交换分区(swap) 不是systemd的发明,但同样可用于无fstab时的自动挂载

A19D880F-05FC-4D3B-A006-743F0F84911E RAID分区

E6D6D379-F507-44C2-A23C-238F2A3DF928 逻辑卷管理器(LVM)分区

8DA63339-0007-60C0-C436-083AC8230908 保留

含义

Microsoft还进一步对分区的属性进行了细分:低位4字节表示与分区类型无关的属性,高位4字节表示与分区类型有关的属性。

Microsoft目前使用了下列属性:

本文标签: 分区扇区分区表区域表示