GPT 磁盘分区格式简介及解析示例

article/2025/9/30 4:20:44

1. GPT 磁盘分区简介

       GPT分区模式使用GUID分区表,是源自EFI标准的一种较新的磁盘分区表结构的标准。与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。 

2. GPT 磁盘分区解析

2.1 GPT 磁盘整体布局

GPT 磁盘整体布局如下图所示:

 

2.2 保护MBR区域

       保护MBR区域位于LBA0(GPT磁盘的第一个扇区),保护MBR区域的存在主要是为了兼容性,存储传统MBR信息。

       在GPT分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBR,用来防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据,这个MBR也叫做保护MBR。在支持从GPT启动的操作系统中,这里也用于存储第一阶段的启动代码。在这个MBR中,只有一个标识为0xEE的分区,以此来表示这块硬盘使用GPT分区表。不能识别GPT硬盘的操作系统通常会识别出一个未知类型的分区,并且拒绝对硬盘进行操作,除非用户特别要求删除这个分区。这就避免了意外删除分区的危险。另外,能够识别GPT分区表的操作系统会检查保护MBR中的分区表,如果分区类型不是0xEE或者MBR分区表中有多个项,也会拒绝对硬盘进行操作。

       在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前四个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区。如Boot Camp就是使用这种方式启动Windows。

       保护MBR区域示例:如下图所示,GPT磁盘保护MBR区域的内容与MBR磁盘第一个扇区的内容在格式上有点类似,包括我们熟悉的"55 AA" MBR结束标志。只不过GPT磁盘保护MBR区域的内容大部分都被置0,因为操作系统在解析GPT磁盘时,并不依赖保护MBR区域的内容。

2.3 EFI 部分

       EFI部分又可以分为4个区域:EFI信息区(GPT头)、分区表、GPT分区、备份区域。下面我们分别针对每一部分做简单介绍。

2.3.1 EFI信息区(GPT头)

       起始于磁盘的LBA1,通常也只占用这个单一扇区。其作用是定义分区表的位置和大小。GPT头还包含头和分区表的校验和,这样就可以及时发现错误。下表是GPT Header Format 说明。

       GPT头示例:起始偏移:0x200(1*SectorSize,本机扇区大小为512字节,前面八个字节是魔数,对应于"EFI PART")

2.3.2 分区表

       分区表区域包含分区表项。这个区域由GPT头定义,一般占用磁盘LBA2~LBA33扇区。分区表中的每个分区项由起始地址、结束地址、类型值、名字、属性标志、GUID值组成。分区表建立后,128位(16字节)的GUID对系统来说是唯一的。

        GPT分区表使用简单而直接的方式表示分区。一个分区表项的前16字节是分区类型GUID。例如,EFI系统分区的GUID类型是{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}。接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性。

附:分区类型说明

附:分区属性说明

        GPT分区表区域示例:截取了LBA2(偏移0x400)的内容,包含四条分区表记录,每条分区表记录128字节,每条分区表记录解析见后文。

2.3.3 GPT分区

        最大的区域,由分配给分区的扇区组成。这个区域的起始和结束地址由GPT头定义。

        GPT分区示例:我们通过解析2.3.2 GPT分区表区域中第四条分区表项(Basic Data Partition)来看看GPT分区第一个扇区的内容。

/**                            GPT partition entry format

 +0        16 bytes    Partition type GUID:"A2 A0 D0 EB E5 B9 33 44 87 C0 68 B6 B7 26 99 C7"

 +16    16 bytes    Unique partition GUID:"6D 96 29 D1 8F 40 DB 41 B4 30 C6 5E 14 81 56 F8"

 +32    8 bytes    First LBA (little endian):0x11B800

 +40    8 bytes    Last LBA (inclusive, usually odd):0x10640319

 +48    8 bytes    Attribute flags (e.g. bit 60 denotes read-only):0x0,System Partition

 +56    72 bytes    Partition name (36 UTF-16LE code units) :"Basic data partition"                                                 

*/  

跳转到分区起始位置:0x11B800 = 1161216 号扇区

然后会发现已经跳转到了具体目标文件系统DBR区域,有兴趣的朋友可以自己去深入理解NTFS文件系统的解析:

2.3.4 备份区

       备份区域位于磁盘的尾部,包含GPT头和分区表的备份。它占用GPT结束扇区和EFI结束扇区之间的33个扇区。其中最后一个扇区用来备份1号扇区的EFI信息,其余的32个扇区用来备份LBA2~LBA33扇区的分区表

        备份区域示例:截取了LBA2分区表的备份区域(从磁盘尾部偏移0x4200,33*SectorSize)的内容,包含四条分区表记录,每条分区表记录128字节,可以与2.3.1中截取的LBA2(偏移0x400)的内容对比,会发现两个扇区的内容是完全一致的。

3. 参考资料


http://chatgpt.dhexx.cn/article/fyearO9v.shtml

相关文章

Linux磁盘分区格式化

学习目标: 掌握如何创建单独的虚拟磁盘 掌握如何将虚拟磁盘挂到虚拟机实例上 掌握如何对新盘分区格式化 学习内容: 1、如何创建新的磁盘 2、如何将新的磁盘挂到虚拟机实例上 3、如何将挂到虚拟机实例上的新盘进行分区格式化 实施步骤: …

Linux磁盘分区总结

前言 关于磁盘的分区操作,是运维的必备技能,fdisk也应该是大家最常用的命令。因为fdisk命令可以解决大多数的磁盘分区问题,它可以将不大于2T的硬盘进行分区,而我们在生产中最常用的硬盘大小不超过2个T(视公司规模而定)&#xff0c…

centos7磁盘分区格式化

分区 1、fdisk -l 查看系统中是否正常识别到新增硬盘,且确认是没有分过区的 2、fdisk /dev/sdb 使用fdisk命令位指定的硬盘(新硬盘)分区 3、新增分区 4、查看分区是否成功 格式化&&挂载硬盘 mkfs.xxx /dev/sdb1格式化我们的新分…

磁盘分区、格式化与挂载

文章目录 前言一、基本概念二、分区三、格式化四、挂载 前言 本文记录磁盘分区、格式化及挂载的个人理解。 一、基本概念 可以看到,一块磁盘(Disk)可以被分区(Partition),每个区里可以建置自己的文件系统。文件系统可以理解成是组织管理磁盘原数据的数据…

麒麟服务器系统磁盘分区形式介绍

麒麟服务器系统磁盘分区形式介绍 1. 磁盘分区信息存储的形式 1.1. MBR(MSDOS) MBR(Master Boot Record,主引导记录),是存在于驱动器最开始部分的一个特殊的启动扇区,一般叫它 0 扇区。它由 446B 的启动加载器&#…

android磁盘分区格式,转:磁盘分区表格式之android分区GPT

对于现在的系统来说,分区的类型千百种,但对于磁盘分区的layout来说,最常接触的只是三种而已: MBR(Master Boot Record), GPT(Globe Partition Table)和Apple Partition(Mixed分区)。 MBR分区表: 磁盘上最重要的数据结构,其中包含小段引导代码,磁盘信息,分区表等。在MBR…

如何查看磁盘分区情况

快捷键WinX,选择磁盘分区管理,就可以看到自己的分区情况。 我这是装Ubuntu双系统的分区。 这里涉及到计算机组成原理和操作系统的知识点,顺便带大家复习一下。 首先磁盘0表示下标为0的磁盘,因为我只有一块固态硬盘。如果你有两…

服务器系统磁盘分区,服务器磁盘分区教程

服务器磁盘分区教程 内容精选 换一换 对于Linux弹性云服务器,磁盘分区与磁盘设备名称完全对应。本节以Red Hat Enterprise Linux 7的图形界面为例,介绍查询Linux弹性云服务器磁盘分区与磁盘设备的方法。以root权限登录Red Hat Enterprise Linux 7弹性云服务器。在桌面空白处右…

判断BIOS的启动模式和磁盘分区格式

在安装deepin操作系统之前,我们先了解一下电脑的BIOS启动模式 BIOS启动模式分为UEFI引导和Legacy引导 UEFI是新式的BIOS启动引导,对应的磁盘分区格式是GPT,它可以跳过BIOS自检,启动速度更快 现在的新机型都是UEFI启动 Legacy则是…

Linux 磁盘分区、格式化

1.磁盘的目录容量:df,du df:列出文件系统的整体磁盘使用量 du:评估文件系统的磁盘使用量 注意:主分区与扩展分区最多可以有4个(硬盘的限制) 扩展分区最多只能有一个(操作系统的限制&…

Win11查看电脑磁盘分区格式的方法教学

Win11查看电脑磁盘分区格式的方法教学分享。我们电脑磁盘有两种不同的格式,分别有MBR和GPT。有的用户想要了解一下自己电脑的磁盘格式是这两种的哪一个,那么如何去进行操作,接下来分享给大家具体的查看方法步骤。 操作方法: 1、打…

怎么查看分区格式?Win11看磁盘分区形式的方法

磁盘的分区格式分别有MBR和GPT这两种,MBR(主启动记录)形式,它是存在于磁盘驱动器开始部分的一个特殊的启动扇区;GPT(GUID分区表)形式,它是一种使用UEFI启动的磁盘组织方式。下面小编…

初始化磁盘选哪个格式 初始化磁盘分区形式选什么好

在初始化磁盘之前,我们应该先明确什么时候需要初始化磁盘,通常是在电脑安装了SSD固态硬盘,计算机无法正常读取该固态硬盘时。或者需要腾空移动磁盘,以做它用时。那么初始化磁盘时,有哪些格式呢?如今主流的是…

磁盘的分区格式

文章目录 一、常见的文件系统二、链式文件结构:FAT三、索引式文件结构:NTFS四、碎片整理:五、簇:1.问题:磁盘中存取信息的最小单位是?2.做个小实验:3.划分簇:4.如何查看所分区磁盘簇的大小&…

计算机磁盘分区/类型介绍

一、 磁盘管理 磁盘的类型 1)基本磁盘**(传统默认)** 2)动态磁盘:高读写 较强的扩展性 高可靠 磁盘的分区方式 1) MBR分区 主分区(系统分区) 扩展分区(不能直接使用&a…

硬盘分区的类型:mbr分区和gpt分区的区别

当用户在进行硬盘分区的实现,分区向导会提示用户:选择MBR还是GPT分区?那么,MBR和GPT到底有什么区别呢?为了帮助大家更全面地了解这两者的区别,易我小编将对mbr分区和gpt分区的区别进行全面的讲解。 一、带你…

磁盘及分区详解(MBR和GPT)、新增磁盘分区总体示例

磁盘及分区详解(MBR和GPT) 1、磁盘为什么要分区?2、Linux设备文件3、磁盘简介3.1 硬盘接口类型3.2 机械硬盘和固态硬盘3.2.1 磁盘术语3.2.2 机械硬盘 4、分区方式4.1 CHS和LBA4.2 第一种分区方式:MBR4.2.1 MBR简介4.2.2 MBR分区结…

BMC指定4路NCSI网口中的一路

工程配置如下 2.进入BMC系统,打开/conf/ncsi.config文件,修改PackageID 为0、1、2、3其中一个,保存退出,重启BMC。

Linux下把ncsi设置成OCP模式,NCSI简介

引言 网络技术的飞速发展使得人们对于服务器的带外可管理性及可控制性提出了更高的要求。通过带外管理,工程师可以在任意地点通过网络连接到相应的服务器上,进行一系列的管理与维护,而不再需要长时间驻守在嘈杂的实验室环境中。NCSI(Network …

Win10 2004显示无法访问Internet小地球 却可以上网 的 简单解决办法(附上注册表文件)

最简单的解决办法 把下面的代码复制到记事本,并另存为为reg后缀名的文件(例如:修复网络.reg) 双击打开并 重启 即可解决问题 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaS…