GPT分区格式
1. GPT定义
全局唯一标识分区表(GUID partition table, 缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(UEFI)标准的一部分,被用于替代BIOS系统中使用32bits来存储逻辑块地址和分区大小信息的主引导记录(MBR)分区表。GPT标准使用64bits用于记录逻辑块地址,因此,GPT分区格式在同等逻辑块大小的情况下,比MBR分区格式支持更大的硬盘空间。
2. GPT磁盘格式
GPT分区格式包含传统MBR(主引导记录)、分区表头、分区表、备份分区表头、备份分区表以及数据区。
2.1 传统MBR(LBA0)
出处于兼容性与安全性方面的考虑,GPT分区格式保留传统MBR,位于LBA0(第一个逻辑扇区),用于防止不支持GPT的硬盘管理软件错误识别并破坏硬盘数据。在这个MBR中,只有一个标志为0xEE的分区,以此表示这块硬盘使用GPT分区格式。不支持GPT分区格式的软件,会识别出未知类型的分区;支持GPT分区格式的软件,可正确识别GPT分区磁盘。
2.2 分区表头(LBA1)
分区表头记录了磁盘可用空间大小、分区表项大小与个数,备份分区表的位置信息,详细可参见表1。
表1 GPT分区表头格式
| 起始字节 | 长度 | 内容 |
|---|---|---|
| 0 | 8字节 | 签名("EFI PART", 45 46 49 20 50 41 52 54) |
| 8 | 4字节 | 修订(在1.0版中,值是00 00 01 00) |
| 12 | 4字节 | 分区表头的大小(单位是字节,通常是92字节,即5C 00 00 00) |
| 16 | 4字节 | 分区表头(第0-91字节)的CRC32校验,在计算时,把这个字段作为0处理,需要计算出分区序列的CRC32校验后再计算本字段 |
| 20 | 4字节 | 保留,必须是0 |
| 24 | 8字节 | 当前LBA(这个分区表头的位置) |
| 32 | 8字节 | 备份LBA(另一个分区表头的位置) |
| 40 | 8字节 | 第一个可用于分区的LBA(主分区表的最后一个LBA + 1) |
| 48 | 8字节 | 最后一个可用于分区的LBA(备份分区表的第一个LBA − 1) |
| 56 | 16字节 | 硬盘GUID(在类UNIX系统中也叫UUID) |
| 72 | 8字节 | 分区表项的起始LBA(在主分区表中是2) |
| 80 | 4字节 | 分区表项的数量 |
| 84 | 4字节 | 一个分区表项的大小(通常是128) |
| 88 | 4字节 | 分区序列的CRC32校验 |
| 92 | * | 保留,剩余的字节必须是0(对于512字节LBA的硬盘即是420个字节) |
2.3. 分区表
分区表记录了每个分区的详细信息,包括分区类型GUID、分区GUID、分区大小与位置信息、分区的名称与属性,详细格式信息见表2。
表2 GPT分区表项的格式
| 起始字节 | 长度 | 内容 |
|---|---|---|
| 0 | 16字节 | 分区类型GUID |
| 16 | 16字节 | 分区GUID |
| 32 | 8字节 | 起始LBA(小端序) |
| 40 | 8字节 | 末尾LBA |
| 48 | 8字节 | 属性标签(如:60表示“只读”) |
| 56 | 72字节 | 分区名(可以包括36个UTF-16(小端序)字符) |
3. 验证
使用本人硬盘验证如下:
3.1 GPT的MBR内容
使用磁盘内容查看工具查看MBR内容,16进制显示如下图所示。可见第一个主分区表项文件系统标识为“0xEE”。

3.2 GPT表头
GPT表头内容如下:

3.3 GPT表项
GPT表项内容:

参考链接
[1] 维基百科.全局唯一标识分区表
GPT分区格式的更多相关文章
- parted命令采用gpt分区过程
Gpt无分区限制,故只有主分区,无扩展分区和逻辑分区.分区直接按容量算,不按柱面算. 查看分区:parted -l 将分区表类型转换为gpt.: 主要命令mklabel gpt 对sdc盘分区: [r ...
- windows无法安装到这个磁盘。选中的磁盘采用GPT分区形式 Windows 检测到 EFI 系统分区格式化为 NTFS。将 EFI 系统分区个数化为 FAT32,然后重新启动安装
win10安装问题解决 问题 1.windows无法安装到这个磁盘.选中的磁盘采用GPT分区形式 解决方法: 1.bios,更改 uefi/legacy boot 为ueei only 后面可以安装了 ...
- UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008
上周遇到个客户DELL R520的服务器新采购了8块3T硬盘做备份服务器,raid配置5+1,一个磁21.8T.先用普通的装desktop OS的方法发现进去没raid盘,然后就按照官方的文档进入Li ...
- Windows无法安装到GPT分区形式磁盘的解决办法
现在很多新买的硬盘都是GTP格式,这种格式需要使用UEFI BIOS模式安装系统,我们以前传统的windows系统安装都是“MBR+legacy BIOS”模式安装 Windows无法安装到GPT分区 ...
- GPT分区基础知识
大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区的格 ...
- 解决装系统选中的磁盘采用的是GPT分区形式
今天给服务器重装系统碰到的问题,记录一下 当时是按正常的操作:到了装系统选盘的时候是找不到盘符的,加载了raid驱动,然后顺利找到盘符,然后格式化了以前的C盘, 结果无法选中格式化后的C盘,无法下一步 ...
- GPT分区基础知识及如何在GPT分区上安装WIN7
大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...
- linux大于2T的磁盘使用GPT分区方式
MBR(Master Boot Record)(主引导记录)和GPT(GUID Partition Table)(GUID意为全局唯一标识符)是在磁盘上存储分区信息的两种不同方式 对于传统的MBR分区 ...
- 重装系统时,将MBR分区转为GPT 分区
摘要 很多同学在重装系统的时候,或多或少都遇到过这样的问题:镜像文件没有问题,软碟通刻录也没有问题,但偏偏就在选择安装系统盘盘符的时候,跳出对话框,提示:Windows无法安装到这个磁盘,选中的磁盘具 ...
随机推荐
- IE11的变化 navigator.userAgent中不再包含“MSIE”关键字
IE升级了,让人好头疼,升级个东西,我们也要跟着升级,程序猿压力大呀.... 1.navigator.userAgent中不再包含“MSIE”关键字 2.用javascript的判断是否是IE11的方 ...
- 常见问题:MySQL/排序
MySQL的排序分为两种,通过排序操作和按索引扫描排序. 按索引顺序扫描是一种很高效的方式,但使用的条件较为严格,只有orderby语句使用索引最左前列,或where语句与orderby语句条件列组合 ...
- 【OpenGL开发】GLUT/freeglut 是什么? OpenGL 和它们有什么关系?
GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...
- mui弹出二维码示例
<div id="tap_popover" class="box mui-popover mui-popover-action mui-popover-bottom ...
- mybatis+mysql insert添加数据后返回数据主键id---(转)
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGener ...
- LeetCode 941. 有效的山脉数组(Valid Mountain Array)
941. 有效的山脉数组 941. Valid Mountain Array 题目描述 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false. 让我们回顾一下,如果 A ...
- SQL Server 数据库清空ldf日志文件
USE [master] ALTER DATABASE [DB_Develop] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [DB_Develop ...
- Java中常用的设计模式代码与理解
Java中常用的设计模式代码与理解 一.单例模式 1.饿汉式 (太饿了,类加载的时候就创建实例) /** * 饿汉式单例模式 */ public class HungrySingleInstance ...
- Markdown 语法 (转载)
Markdown 语法整理大集合2017 1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // ...
- STM32中引脚复用说明
端口复用的定义 STM32有许多的内置外设(如串口.ADC.DCA等等),这些外设的外部引脚都是和GPIO复用的.也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设 ...