http://en.wikipedia.org/wiki/GUID_Partition_Table

GUID磁盘分区表[编辑]

GUID磁盘分区表GUID Partition Table,缩写:GPT)是一个硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主引导记录MBR)分区表。对于那些扇区为512字节的磁盘,MBR分区表不支持容量大于2.2TB(2.2 × 1012字节)[1]的分区,然而,一些硬盘制造商(诸如希捷和西部数据)注意到了这个局限性,并且将他们的容量较大的磁盘升级到了4KB的扇区,这意味着MBR的有效容量上限提升到了16 TiB。 这个看似“正确的”解决方案,在临时地降低了人们对改进磁盘分配表的需求的同时,也给市场带来了关于在有较大的块(block)的设备上从BIOS启动时,如何最佳的划分磁盘分区的困惑。GPT分配64bits给逻辑块地址,因而使得最大分区大小在264-1个扇区成为了可能。对于每个扇区大小为512字节的磁盘,那意味着可以有9.4ZB(9.4 x 1021字节)或8 ZiB 个512字节(9,444,732,965,739,290,426,880字节 或 18,446,744,073,709,551,615(264-1)个扇区 x 512(29)字节每扇区)[1][2]

截止至2010年,大多数操作系统对GPT均有所支持,尽管包括Mac OS X和Windows在内的一些仅支持在EFI基础上自GPT分区启动,见#操作系统支持。

GPT分区表的结构。此例中,每个逻辑块(LBA)为512字节,每个分区的记录为128字节。负数的LBA地址表示从最后的块开始倒数,−1表示最后一个块。

目录

[隐藏]

  • 1 特点
  • 2 传统MBR (LBA 0)
  • 3 分区表头 (LBA 1)
  • 4 分区表项 (LBA 2–33)
  • 5 操作系统支持
    • 5.1 类Unix操作系统
    • 5.2 32位Windows
    • 5.3 64位Windows
  • 6 分区类型GUID
  • 7 参见
  • 8 外部链接
  • 9 参考资料

特点[编辑]

在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。

跟现代的MBR一样,GPT也使用逻辑区块位址(LBA)取代了早期的CHS寻址方式。传统MBR信息存储于LBA 0,GPT头存储于LBA 1,接下来才是分区表本身。64位Windows操作系统使用16,384字节(或32扇区)作为GPT分区表,接下来的LBA 34是硬盘上第一个分区的开始。

苹果公司曾经警告说:[3]“不要假定所有设备的块大小都是512字节。”一些现代的存储设备如固态硬盘可能使用1024字节的块,一些磁光盘(MO)可能使用2048字节的扇区(但是磁光盘通常是不进行分区的)。一些硬盘生产商在计划生产4096字节一个扇区的硬盘,但截至2010年初,这种新硬盘使用固件对操作系统伪装成512字节一个扇区。[4]

使用英特尔架构的苹果机也使用GPT。

为了减少分区表损坏的风险,GPT在硬盘最后保存了一份分区表的副本。

传统MBR (LBA 0)[编辑]

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

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

分区表头 (LBA 1)[编辑]

分区表头定义了硬盘的可用空间以及组成分区表的项的大小和数量。在使用64位Windows Server 2003的机器上,最多可以创建128个分区,即分区表中保留了128个项,其中每个都是128字节。(EFI标准要求分区表最小要有16,384字节,即128个分区项的大小)

分区表头还记录了这块硬盘的GUID,记录了分区表头本身的位置和大小(位置总是在LBA 1)以及备份分区表头和分区表的位置和大小(在硬盘的最后)。它还储存着它本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后的备份GPT中恢复整个分区表,如果备份GPT也校验错误,硬盘将不可使用。所以GPT硬盘的分区表不可以直接使用16进制编辑器修改。

分区表头的格式
起始字节 长度 内容
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个字节)

主分区表和备份分区表的头分别位于硬盘的第二个扇区(LBA 1)以及硬盘的最后一个扇区。备份分区表头中的信息是关于备份分区表的。

分区表项 (LBA 2–33)[编辑]

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

GPT分区表项的格式
起始字节 长度 内容
0 16字节 分区类型GUID
16 16字节 分区GUID
32 8字节 起始LBA(小端序)
40 8字节 末尾LBA
48 8字节 属性标签(如:60表示“只读”)
56 72字节 分区名(可以包括36个UTF-16(小端序)字符)

创建 GUID (guidgen.exe)

Visual Studio 2010
2(共 4)对本文的评价是有帮助 - 评价此主题

http://technet.microsoft.com/zh-cn/library/ms241442(en-us,VS.80).aspx

以指定格式生成 GUID。

启动 guidgen.exe 或在“创建 GUID”对话框中单击“新建 GUID”按钮时,guidgen.exe 将生成一个 GUID。

注意

IDE 中的功能的外观取决于您的现有设置或版本,可能会与“帮助”中的描述不同。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。

从 IDE 运行 guidgen.exe

  1. 在“工具”菜单上单击“创建 GUID”。随即出现“创建 GUID”工具,同时在“结果”框中显示一个 GUID。

  2. 选择所需的 GUID 格式。

  3. 单击“复制”。

    将该 GUID 复制到“剪贴板”中,这样就可以将其粘贴到源代码中。

  4. 如果希望生成另一个 GUID,请单击“新建 GUID”。

    在线guid生成方法:

    http://www.guidgenerator.com/online-guid-generator.aspx

GUID Partition Table(GUID磁盘分区表):GPT相关推荐

  1. GUID partition table (GPT) 磁盘分区表详解

    http://www.wonggang.com/9055.html 在过去 MBR 分区表的限制中 经常可以发现如下的问题: 操作系统无法抓取到 2.2T 以上的磁盘容量! MBR 仅有一个区块,若被 ...

  2. linux分区示意图,磁盘分区表(partition table)  linux 磁盘分区

    但是硬盘总不能真的拿锯子来切切割割吧?那硬盘还真的是会坏掉去!那怎办?在前一小节的图示中, 我们有看到『开始与结束磁柱』吧?那是文件系统的最小单位,也就是分割槽的最小单位啦!没有错, 我们就是利用参考 ...

  3. Linux运维学习历程-第十四天-磁盘管理(一)磁盘分区表类型与文件系统

    概述:本章介绍磁盘分区和文件系统,深度了解linux存储数据所依赖到各个部分模块. 设备文件 I/O Ports: I/O设备地址 一切皆文件: Linux为所有的设备文件都提供了统一的操作函数接口, ...

  4. gpt mac linux window guid type,parted解决超大容量磁盘分区 GPT分区表

    亲,您是否因在装系统的时候遇到以下提示而烦恼: yourboot partition is on a disk using the GPT partitioning scheme,but this m ...

  5. 【手机闪存】手机UFS类型闪存GPT(GUID磁盘分区表)初始化

    扇区:扇区是磁盘最小的物理存储单元(物理性,即物理扇区) 簇(块):由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理.每个簇可以包括2.4 ...

  6. linux无损转换磁盘成gpt分区,Linux下数据无损动态修改MBR分区表格式为GPT

    个人博客站点:https://www.hiecho.cn 1.简介 腾讯云官网中有一篇帮助文档"扩容Linux文件系统,https://www.qcloud.com/document/pro ...

  7. 计算机启动显示不正确的分区表,每次开机提示invalid partition table怎么解决?

    对于电脑各种疑难杂症,相信不少用户都见怪不怪了,有些人只要电脑有任何问题都是送到电脑维修店,或者找维修师傅上门维修.其实有些小问题,自己通过网上查阅资料也可以自己解决,不但节省金钱,还不用自己抱着电脑 ...

  8. linux命令管理GPT分区,Linux磁盘管理GPT分区教程

    Linux内核代码量大.逻辑关系复杂,因此对内核中的错误进行追溯和调试一直以来都是一件既耗费时间又耗费精力的事情.接下来是小编为大家收集的 Linux磁盘管理GPT分区教程,希望能帮到大家. Linu ...

  9. 升级正版win10遇到的琐碎事(MBR分区表GPT分区表)

    引言 现在Win7.Win8等老系统是可以免费升级到Win10的,但现在可以升级的期限已经迫近了.微软负责Windows与设备集团的执行副总裁特里·梅尔森(Terry Myerson)建议用户抓紧时间 ...

最新文章

  1. Android 源码分析之 EventBus 的源码解析
  2. 实例介绍,如何在开发中将各层日志归类输出.
  3. 【arduino】arduino ISP下载程序方法,用arduino uno给arduino nano下载程序
  4. ELK实时日志分析平台的搭建部署及使用
  5. s7 200 java_java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
  6. C. Barcode dp
  7. DateTime.Now.Ticks.ToString()说明
  8. [深度学习-数据集] cifar-10数据集介绍
  9. 在cs后台页面获取input的值方法
  10. JavaScript中的prototype(Notes)
  11. gitee添加成员_成员权限管理,到底能有多精细?
  12. batch norm参数
  13. 程序员累了怎么办-兄弟连IT教育
  14. Glide4.7.1 圆角与centerCrop冲突问题
  15. JavaScript的特效
  16. 小学计算机课评课稿,小学信息技术评课稿课件
  17. 搭建单节点ELK日志收集
  18. c语言课程设计作业,c语言课程设计心得体会
  19. 开关配置springboot定时任务
  20. 微信模板消息发送失败

热门文章

  1. 上海汉得校园招聘面试经历
  2. IDM免费安装注册使用,两步注册成功
  3. java学习资料文档和视频(转)
  4. NRF24l01无线模块调试心得!STM32_SPI驱动NRF24L01+
  5. 有感于李开复演讲(2)
  6. 计算机应用基础win7.pdf,计算机应用基础教案win7.pdf
  7. 设置路由器显示检查代理服务器连接失败,路由器设置成功了可检测认证连接失败是为什?...
  8. 仙水三种职业之风云人物
  9. photoshop人像调色动作教程
  10. MySQL的下载、安装和配置