admin管理员组

文章数量:1537062

常见问题有关 GUID 分区表 (GPT) 的解答。

 

此版本的 Windows 和 GPT 常见问题适用于 Windows 10 和 Windows Server 2016。 本常见问题解答的以前版本,请参阅Windows 和 GPT 常见问题 MSDN 上。

由于个人计算机的引入,在硬盘上的数据存储区域都分成较小的区域称为扇区。 这些扇区分为分区在磁盘上创建单独的卷或驱动器。 分区都被按使用名为主启动记录 (MBR) 方案。 MBR 磁盘位置或地址,以及特定长度,为每个分区在磁盘上的表。 MBR 本身占用少量的磁盘,并且在启动阶段,以确定操作系统引导至的位置读取。 MBR 信息还由操作系统用作在磁盘上的卷的映射。

最终,磁盘数据密度变得太大,考虑到所有可用的数据位置的 MBR 方案。 此外,布局或的 MBR 格式已设计为早期的计算机和不具有足够的灵活性来应对较新的磁盘配置。 新的分区方法时所必需的因此创建 GUID 分区表 (GPT) 分区方案。

GPT

什么是 GPT 磁盘?

GUID 分区表 (GPT) 是作为统一可扩展固件接口 (UEFI) 计划的一部分引入的。 GPT 提供更灵活的机制分区磁盘比旧的主启动记录 (MBR) 分区方案,普遍适用于电脑。

分区是函数,就好像物理上独立的磁盘的物理或逻辑磁盘上存储的连续空间。 分区会看到系统固件和已安装的操作系统。 对分区的访问控制系统固件之前在系统启动操作系统,然后由操作系统启动后,它。

为什么会这样使用 MBR 分区?

MBR 磁盘支持只需四个分区表项。 对于超过四个分区,称为扩展分区的辅助结构是必需的。 然后,扩展的分区都可以再分成一个或多个逻辑磁盘。

尽管此信息也不再有 (磁盘驱动程序或 RAID 控制器) 的硬件的物理特征的任何关系,Windows 会基于报告几何图形的柱面边界上创建 MBR 磁盘分区和逻辑驱动器。 从 Windows Vista 和 Windows Server 2008 开始,硬件会提供在 true 缓存或物理对齐方式的更好地提示时选择多个逻辑边界。 由于此分区信息存储于驱动器本身中,操作系统并不依赖对齐方式。

MBR 分区规则是复杂且未明确指定。 例如,是否柱面对齐方式意味着每个分区必须至少一个柱状体的长度? MBR 分区由两个字节的字段,并以避免冲突,必须经过协调。 IBM 最初提供的协调,但目前没有单个权威列表的分区标识符。

另一种常见做法使用分区或"hidden"扇区来使用未记录的过程中保存的特定信息,并且会导致难以调试的问题。 在过去,供应商特定的实现和工具已发布给公众,这使得支持比较困难。

我们为什么需要 GPT?

GPT 磁盘允许增长。 GPT 磁盘上的分区数不受限制,临时方案,例如,容器分区定义的 MBR 扩展启动记录 (EBR)。 GPT 磁盘分区格式是定义完善和完全自标识。 数据平台操作的关键所在分区中并不在分区或"hidden"扇区。 GPT 磁盘使用主要和备份分区表用于冗余和改进了的分区数据的 CRC32 字段结构完整性。 GPT 分区格式使用版本号并调整其大小为将来扩展的字段。

每个 GPT 分区都有一个唯一标识 GUID 和分区的内容类型,因此不会经过协调需要以防止分区标识符发生冲突。 每个 GPT 分区都有 36 个字符 Unicode 名称。 这意味着任何软件可以显示而无需了解任何其他分区的分区的人工可读名称。

在哪里可以找到 GPT 磁盘分区的规范?

统一可扩展固件接口 (UEFI) 规范 (2.3 版) 的第 5 章定义 GPT 格式。 此规范位于 https://www.uefi/specifications 。

基本磁盘的 GPT 格式是什么?

基本磁盘是使用 Windows 的最常使用的存储类型。 "基本磁盘"是指包含分区,如主分区和逻辑驱动器,使用文件系统,使之成为文件存储的卷通常格式化的磁盘。

GPT 分区表上的保护性 MBR 区域存在向后兼容的磁盘管理实用程序对 MBR 进行操作。 GPT 标头定义可供分区条目的逻辑块地址的范围。 GPT 标头还定义其位置的磁盘、 其 GUID,用于验证 GPT 标头的完整性的 32 位循环冗余检查 (CRC32) 校验和。 在 GUID 分区表中的每个条目开始的分区类型 GUID。 16 字节分区类型 GUID,它是类似于 MBR 磁盘的分区表中的系统 ID,标识该分区包含和标识如何使用的分区,例如,无论它是基本磁盘还是动态磁盘的数据类型。 请注意,每个 GUID 分区条目的备份副本。

有关基本磁盘的详细信息,请参阅Basic 和动态磁盘。

动态磁盘的 GPT 格式是什么?

首次引入 Windows 2000 动态磁盘,并提供的基本磁盘不这样做,例如创建跨多个磁盘 (跨区卷和带区卷) 的卷的功能和能够创建的容错卷功能 (镜像和 RAID 5卷)。 动态磁盘可以支持这两个的系统上使用 MBR 或 GPT 分区形式。 有关动态磁盘的详细信息,请参阅Basic 和动态磁盘。

UEFI 是 GPT 磁盘对于必需的?

否。 GPT 磁盘是自我标识。 解释 GPT 磁盘的分区方案所需的所有信息完全都包含在物理介质上的指定位置中的结构。

GPT 磁盘可有多大?

从理论上讲,GPT 磁盘可以最大为 2 ^64 逻辑块的长度。 逻辑块通常是大小为 512 个字节。

最大的分区 (和磁盘) 大小取决于操作系统版本。 Windows XP 和 Windows Server 2003 的原始版本的每个物理磁盘,包括所有分区 2 TB 的限制。 对于 Windows Server 2003 SP1、 Windows XP x64 edition 和更高版本,可以支持 18 千兆兆字节的最大的原始分区。 (Windows 文件系统目前限制为 256 兆兆字节每。)

GPT 磁盘可有多少分区?

规范允许几乎无限的数量的分区。 但是,Windows 实现将此限制为 128 个分区。 分区数受到在 GPT 分区条目保留的空间量。

可以为 GPT 和 MBR 磁盘?

否。 但是,所有的 GPT 磁盘包含保护性 MBR。

什么是保护性 MBR?

保护性 MBR,0,扇区从位于 GPT 分区表之前在磁盘上。 MBR 包含跨磁盘的一个类型 0xEE 分区。

GPT 为什么有保护性 MBR?

保护性 MBR 以前发布的 MBR 磁盘工具,如 Microsoft MS-DOS FDISK 或 Microsoft Windows NT 磁盘管理器可防止 GPT 磁盘。 这些工具并不知道的 GPT,不知道如何正确访问 GPT 磁盘。 访问时,它在 GPT 磁盘,不会知道 GPT 的旧软件会解释仅受保护的 MBR。 这些工具将查看为具有单个环绕 (可能是无法识别) 分区通过解释受保护的 MBR,而不是误认为是未分区的其中一个磁盘的 GPT 磁盘。

为什么将 GPT 分区的磁盘都不能对其具有 MBR?

发生这种情况时使用 MBR 仅识别磁盘工具来访问 GPT 磁盘。 有关详细信息,请参阅以下问题:

Windows 的磁盘支持

Windows XP x64 可以在读取、 写入和从 GPT 磁盘启动?

Windows XP x64 Edition 可以将 GPT 磁盘用于仅限数据。

Windows XP 的 32 位版本可以在读取、 写入和从 GPT 磁盘启动?

否。 32 位版本将会看到仅保护性 MBR。 EE 分区不会装载或否则面临应用程序软件。

Windows Server 2003 的 32 位和 64 位版本可以在读取、 写入和从 GPT 磁盘启动?

从 Windows Server 2003 Service Pack 1 开始,所有版本的 Windows Server 可以为数据都使用 GPT 分区磁盘。 基于 Itanium 的系统上的 64 位版本仅支持启动。

可以 Windows Vista、 Windows Server 2008 和更高版本的读取、 写入和从 GPT 磁盘启动?

是的所有版本可以都使用 GPT 分区磁盘的数据。 基于 UEFI 的系统上的 64 位版本仅支持启动。

可以 Windows 2000、 Windows NT 4 或 Windows 95/98 读取、 写入和从 GPT 启动?

否。 同样,旧软件会看到仅保护性 MBR。

是否可以将 GPT 磁盘移动到另一台计算机?

可以移动或迁移到其他运行 Windows XP (仅限 64 位版本) 的系统或更高版本的操作系统 (32 位或 64 位版本) 的仅限数据的 GPT 磁盘。 系统已被关闭后或安全删除该磁盘之后,你可以迁移仅限数据的 GPT 磁盘。

如何混合和匹配在同一系统上的 GPT 和 MBR 磁盘?

GPT 和 MBR 磁盘可以混合支持 GPT 的系统上,如前面所述。 但是,您必须注意以下限制:

可移动媒体呢?

可移动媒体必须是 MBR、 GPT,或"superfloppy。"

什么是超级软盘?

可移动媒体而设置格式的 MBR 或 GPT 不被视为"超级软盘"。 整个介质被视为单个分区。

媒体制造商执行可移动媒体任何 MBR 分区。 如果媒体具有 MBR,则支持只有一个分区。 没有 MBR 分区介质和 superfloppies 之间很少会造成用户明显区别。

可移动介质的示例包括软盘驱动器、 JAZ 磁盘盒式磁带、 光盘媒体、 DVD ROM 和 CD-ROM。 如 SCSI 或 IEEE 1394 的外部总线上的硬盘驱动器不被视为可移动。

媒体进行分区时,Windows XP 64 位版本 2003 Edition 的默认行为是什么?

对于 Windows XP 64-Bit Edition 版本 2003 仅 (对于基于 Itanium 的系统),固定的磁盘进行分区使用 GPT 分区。 GPT 磁盘可以转换为 MBR 磁盘,仅当所有现有分区首先删除时,关联丢失数据的情况。

媒体进行分区时,32 位版本的 Windows XP、 Windows Server 2003 和 Windows XP x64 的默认行为是什么?

可以使用仅 MBR 磁盘。

如何可以在操作系统中的驱动器号映射到在 UEFI 固件中分区?

驱动器号和可用于确定从另一个分区之间没有固有的映射。 基本数据分区必须由其分区 GUID 标识。

如何创建 ESP 分区?

可以通过使用 UEFI 固件实用工具 Diskpart.efi 或 Windows 命令行实用工具 Diskpart.exe 创建 ESP 分区。

上一个分区可以发生什么变化?

您不应直接更改任何分区标头项。 不要使用磁盘工具或实用程序来进行更改。

哪些分区 Windows 是否支持可插拔磁盘上?

若要迁移的计算机之间,或者只是有时会给系统不可用,通常按可分离磁盘。 可分离磁盘的示例包括 USB 磁盘,可以很容易断开连接的最终用户。 Windows XP 支持 MBR 上可分离磁盘分区的唯一。 更高版本的 Windows 支持上可分离磁盘的 GPT 分区。

有关可移动媒体的详细信息,请参阅以下问题:

Windows GPT 所需的分区:EFI 系统分区

什么是可扩展固件接口系统分区 (ESP)?

ESP 包含 NTLDR、 HAL、 Boot.txt 和启动系统,例如驱动程序所需的其他文件。 分区 GUID 定义 ESP:

DEFINE_GUID (PARTITION_SYSTEM_GUID, 0xC12A7328L, 0xF81F, 0x11D2, 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B)

仅 GPT 磁盘有 Esp 吗?

否,MBR 磁盘还可以 Esp。 UEFI 指定从 MBR 或 GPT 中启动。 ESP MBR 磁盘上的由分区类型 0xEF 标识。 但是,Windows 不支持 UEFI 启动从 MBR 磁盘或 0xEF 分区。

ESP 有多大?

ESP 是大约 100MBs。

可以有两个 Esp 的单个磁盘上?

此类配置不应创建,并且不支持在 Windows 中。

两个不同磁盘上的两个 Esp 呢?

ESP 分区可以复制高可用性配置。 必须手动执行复制和使用软件卷时必须手动同步内容。 硬件供应商可能提供其他解决方案,以实现高可用性。 ESP 分区不能被镜像。

采取何种 does Microsoft ESP 中?

Microsoft 将 HAL,加载程序,并为在 ESP 中启动操作系统所需的其他文件。

应 ESP 放置在磁盘上?

ESP 应该是第一个磁盘上。 首先,将放置 ESP 的主要优点是,就无法跨卷时 ESP 在逻辑上是两个数据之间的尝试跨分区。

采取何种应系统或设备制造商在 ESP 中?

ESP 应仅包含所需的引导操作系统、 操作系统启动之前运行的平台工具或必须在操作系统启动之前访问的文件的文件。 例如,必须将所需的执行预启动系统维护的文件放置在 ESP。

其他增值文件或运行的操作系统时使用的诊断不应放在 ESP。 务必要注意 ESP 中的空间是有限的系统资源,则其主要用途是启动操作系统所需的文件提供存储。

系统制造商应在其中放置文件,如平台诊断或其他增值文件?

首选的做法是让系统制造商可以将值添加特定于 OEM 分区中的内容。 就像 MBR OEM 分区内容的 GPT OEM (或其他无法识别) 分区不会公开 (给定驱动器号或在卷列表中返回)。 删除分区可能会导致系统无法操作警告用户。 MSR 之前和之后在磁盘上的任何 ESP 应置于特定于 OEM 分区。 尽管不体系结构,这种放置具有权益与第一次放置 ESP 相同。 例如,它也是无法跨卷时应用特定于 OEM 分区是逻辑上两个数据之间尝试跨分区的。

在 ESP 中的位置是应用程序或在预操作系统启动环境中执行的文件的选项。 但是,ESP 体系结构上共享空间,并且表示一种有限的资源。 应谨慎考虑使用 ESP 中的空间。 不应将与在预操作系统启动环境不相关的文件放置在 ESP 中。

什么是 Microsoft 保留分区 (MSR)?

Microsoft 保留分区 (MSR) 预留的操作系统软件供后续使用每个磁盘驱动器上的空间。 GPT 磁盘不允许隐藏扇区。 以前称为现在使用隐藏扇区的软件组件的 MSR 部分分配为特定于组件的分区。 例如,将基本磁盘转换为动态磁盘上大小降低该磁盘将导致 MSR 和新创建的分区包含动态磁盘数据库。 MSR 具有分区 GUID:

DEFINE_GUID (PARTITION_MSFT_RESERVED_GUID, 0xE3C9E316L, 0x0B5C, 0x4DB8, 0x81, 0x7D, 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE)

哪些磁盘需要 MSR?

每个 GPT 磁盘必须包含 MSR。 分区在磁盘上的顺序应为 ESP (如果有)、 OEM (如果有) 和 MSR 跟有主数据的分区。 它是在其他主数据分区之前创建 MSR 尤为重要。

谁将创建 MSR?

磁盘分区信息首先写入到的驱动器时,必须创建 MSR。 如果制造商对磁盘进行分区,制造商必须在同一时间创建 MSR。 如果 Windows 安装过程中对磁盘进行分区,Windows 将创建 MSR。

为什么 MSR 如果必须创建第一次分区磁盘?

该磁盘进行分区后,将没有剩余的可用空间来创建 MSR。

MSR 有多大?

最初创建时,MSR 的大小取决于磁盘驱动器的大小:

随着 MSR 划分为其他分区,也变得更小。

Windows GPT ESP 实现

哪些分区所需的 Windows?

对于在 UEFI 系统启动驱动器必须包含 ESP 和 MSR,至少一个包含操作系统的基本数据分区。 只有一个 ESP 应存在的系统上,即使该系统上安装多个操作系统。 在镜像的启动配置可能实际上有两个驱动器与 ESP,但它们被认为是相同的 ESP 的冗余副本。 每个数据驱动器必须包含至少一个 MSR 和一个基本数据分区。

在驱动器上的所有基本数据分区应是连续的。 如上文所述,将 OEM 特定或其他无法识别的数据分区之间对施加限制更高版本卷跨越。

什么是基本数据分区?

基本数据分区对应于主 MBR 分区 0x6 (FAT)、 0x7 (NTFS) 或 0xB (FAT32)。 可以使用驱动器号或装入点、 其他卷的设备对象,和 / 或装载基本的每个分区。 为卷设备对象,和 (可选) 为装入点或驱动器号,在 Windows 中表示每个基本数据分区。

如何标识基本数据分区?

它具有以下分区类型 GUID:

DEFINE_GUID (PARTITION_BASIC_DATA_GUID, 0xEBD0A0A2L, 0xB9E5, 0x4433, 0x87, 0xC0, 0x68, 0xB6, 0xB7, 0x26, 0x99, 0xC7);

最终用户将会看到为 ESP 分区?

ESP 分区不隐藏文件,但也没有分配的驱动器号。 它不会在资源管理器中的驱动器号获取分配给它,但某些工具将能够将其列。

最终用户将会看到 MSR 和特定于 OEM 分区?

用户看不到在 Windows 资源管理器中公开这些分区也不是任何可识别的文件系统处于旧的程序,如上下文建立索引。 特定于 OEM 和其他无法识别的分区将仅在磁盘管理 MMC 管理单元中可见,因为它们不会识别文件系统。

默认情况下,通过 Windows 装载哪些分区?

Windows 显示仅基本数据分区。 具有 FAT 文件系统的其他分区可能会装载,但不是会只以编程方式公开。 仅基本数据分区分配驱动器号或装入点。

ESP FAT 文件系统装载,但不是公开。 这样,若要更新的 ESP 内容的 Windows 下运行的程序。 将驱动器号分配给 ESP 使用mountvol /s将允许到分区的访问。 ESP 访问需要管理员权限。 尽管 MSR,而从 MSR,创建任何分区可以具有可识别的文件系统,但不公开。

Windows 无法识别任何特定于 OEM 分区或与其他操作系统相关联的分区。 无法识别的分区使用可识别的文件系统一样 ESP。 它们将装载,但不是公开。 与 MBR 磁盘不同是特定于 OEM 分区和其他操作系统分区; 之间没有实质的差别所有都是"无法识别"。

用户可以如何看到 ESP、 OEM 和其他无法识别的分区?

用户可以使用磁盘管理工具,如磁盘管理实用程序或 diskpart.exe Windows 命令行。 MSR 和从 MSR 创建任何分区仅从命令行可见。

动态磁盘呢?

动态磁盘使用两个不同的 GPT 分区?

数据容器中创建和默认情况下装载卷。 同样,这是 0x42 的内容完全相同 MBR 分区。

基本磁盘转换为动态时,会发生什么情况?

对于适合转换为动态驱动器,驱动器上的所有基本数据分区必须是连续的。 如果其他无法识别的分区单独的基本数据分区,不能将磁盘转换。 这是一个 MSR 必须在之前的任何基本数据分区创建的原因。 转换的第一步是单独的一部分 MSR 创建配置数据库分区。 非可启动的所有基本分区然后合并到单个数据容器分区。 启动分区将保留为单独的数据容器的分区。 这是类似于转换的主分区。

Windows XP 和更高版本的 Windows 不同于 Windows 2000,基本和扩展分区列转换为单个 0x42 分区中,而不是保留为多个非重复 0x42 分区为 Windows 2000 上。

系统可以包含多种 GPT 和 MBR 动态磁盘?

是。 有关详细信息,请参阅如何混合和匹配在同一系统上的 GPT 和 MBR 磁盘?

如何安装特定分区?

您可以访问使用下表中列出的工具的不同类型的 GPT 磁盘分区。

工具Windows固件
Diskpart.efi 磁盘分区工具 ESP MSR 数据
Diskpart.exe 磁盘分区工具ESP MSR 数据 
Diskmgmt.msc 逻辑磁盘管理器ESP 数据 
Explorer.exe 文件资源管理器数据 

通过使用 Microsoft 平台 SDK Api,还可以开发自己的工具来访问其基元级别的 GPT 磁盘分区。

如何在 Windows 中管理 GPT 磁盘?

GPT 和 MBR 磁盘是相同的方式进行管理。 通过使用 Diskpart.exe 命令提示实用工具或通过使用磁盘管理器管理单元中,可以为 GPT 或 MBR 格式化的磁盘。 可以在 GPT 和 MBR 磁盘上创建卷和磁盘这两种可以混合同一动态磁盘组中。

FTdisk 的设置呢?

从 Windows XP 开始,没有 FTdisk 集支持在 Windows 上的 MBR 或 GPT 磁盘。 逻辑卷的唯一支持是通过动态磁盘。

可以将磁盘转换从 GPT 为 MBR,反之亦然?

是,Microsoft 提供了MBR2GPT.exe它将磁盘从 MBR 转换为 GPT。

GPT 磁盘上支持哪些文件系统?

建议在所有基本数据分区和所有动态卷上使用 NTFS。 Windows 安装程序和磁盘管理管理单元中提供了仅 NTFS。 若要避免的分区或卷必须格式化显式通过格式命令行工具。

操作 GPT 磁盘和它们的内容

如何创建 GPT 磁盘?

可以仅在一个空的未分区的磁盘 (原始磁盘或空的 MBR 磁盘) 上创建的 GPT 磁盘。 有关创建 GPT 磁盘的详细信息,请参阅使用 GPT 驱动器。

如何将转换的 MBR 或 GPT 磁盘?

可以将现有分区格式转换为另一种格式。 有关详细信息,请参阅以下 TechNet 文章:

是否可以使 GPT 磁盘的扇区的扇区副本?

否。 磁盘和分区 Guid 不能再将唯一。 这必须永远不会发生。 您可以通过扇一份 ESP 或基本数据分区的内容。

是否有任何方法将使用映像工具 OPK 某个整个 GPT 磁盘复制?

是。 但是,有一些关键注意事项。 OEM 预安装工具包 (OPK) 初始化为零的磁盘和分区的 Guid。 在首次启动的 Windows 中,操作系统将生成唯一的 Guid。 OPK 仅支持新一代 ESP 和 MSR,基本数据分区。

如果应用程序已记录的任何磁盘或分区 Guid 可能会中断。 任何应用程序、 驱动程序、 实用程序或固件实现提供的系统制造商或依赖于 Guid 的应用程序供应商应该能够处理从 OPK 初始化值更改为生成的操作的 Guid系统。

什么是 Diskpart.efi 使命令?

这是 oem 可以简化操作系统预安装和系统恢复方法。 此命令可以轻松扩展以创建适用于平台的"default"磁盘配置。 例如,系统制造商可以扩展 MAKE 命令进行自动分区 ESP、 MSR、 特定于 OEM 分区和一个基本数据分区的启动驱动器。

例如,考虑名为 BOOT_DISK 的可能发生的磁盘配置。 发生业务故障恢复时使 BOOT_DISK 会使客户可完全重新分区到原始出厂默认设置启动磁盘。

如果检测到重复的磁盘或分区 GUID 时,会发生什么情况?

Windows 将生成的任何重复磁盘 GUID、 MSR 分区 GUID 或 MSR 基本数据 GUID 后检测新的 Guid。 这是类似于在 Windows 2000 中处理的重复 MBR 签名。 动态容器或数据库分区原因不可预知的结果上重复的 Guid。

  • 可以为 GPT 和 MBR 磁盘?
  • 什么是保护性 MBR?
  • GPT 为什么有保护性 MBR?
  • 支持 UEFI 系统需要启动分区必须驻留在 GPT 磁盘上。 MBR 或 GPT,可以是其他硬盘。
  • MBR 和 GPT 磁盘可出现在单个动态磁盘组。 卷集可以跨 MBR 和 GPT 磁盘。
  • 可移动媒体呢?
  • 什么是超级软盘?
  • 在驱动器小于 16 GB 的大小、 msr 的大小为 32 MB。
  • 大于或等于 16 GB 的驱动器上 msr 的大小为 128 MB。
  • 数据容器分区对应于 MBR 分区 0x42,带下列 GUID: DEFINE_GUID (PARTITION_LDM_DATA_GUID, 0xAF9B60A0L, 0x1431, 0x4F62, 0xBC, 0x68, 0x33, 0x11, 0x71, 0x4A, 0x69, 0xAD);

  • 一个分区以包含动态配置数据库中的,带下列 GUID: DEFINE_GUID(PARTITION_LDM_METADATA_GUID, 0x5808C8AAL, 0x7E8F, 0x42E0, 0x85, 0xD2, 0xE1, 0xE9, 0x04, 0x34, 0xCF, 0xB3);

  • 为 GUID 分区表磁盘更改为主启动记录磁盘
  • GUID 分区表磁盘更改为主启动记录磁盘

本文标签: 常见问题Windowsgpt