Windows 下的 GPT 分区和 MBR 分区详解

2025-02-25 Windows

一、什么是分区表

当你拿到一块新硬盘,在开始存文件之前,必须先对其进行分区。分区就像给一本书划分章节——把物理硬盘分成若干个逻辑区域,每个区域可以独立格式化、独立使用。

而分区表就是记录这些分区信息的"目录",它告诉操作系统:硬盘上有几个分区、每个分区从哪里开始、到哪里结束。

目前主流的两种分区表格式就是 MBR(Master Boot Record)和 GPT(GUID Partition Table)。


二、MBR(Master Boot Record)

2.1 历史背景

MBR 诞生于 1983 年,随 IBM PC DOS 2.0 引入,至今已有 40 多年的历史。它是 BIOS(Basic Input/Output System)时代的标配,也是绝大多数老旧系统使用的分区方案。

2.2 结构特点

MBR 位于硬盘的第一个扇区(第 0 扇区,512 字节),其中包含:

  • 引导代码(446 字节):启动引导程序,负责加载操作系统
  • 分区表(64 字节):记录 4 个主分区信息,每个分区占 16 字节
  • 签名标记(2 字节):0x55AA,标识这是一个有效的 MBR

2.3 核心限制

❶ 最大仅支持 2TB 硬盘

MBR 使用 32 位逻辑块地址(LBA),每个扇区 512 字节,所以最大寻址空间为:

2³² × 512 字节 = 2,199,023,255,040 字节 ≈ 2 TB

超过 2TB 的硬盘如果用 MBR,多出的空间完全无法使用。

❷ 最多 4 个主分区

分区表只有 64 字节,每个分区项占 16 字节,所以最多 4 个主分区。要突破这个限制,需要将其中一个主分区设为扩展分区,然后在扩展分区内部再划分逻辑分区。

磁盘布局示例:
┌──────────┬──────────┬──────────┬──────────────────────────┐
│ 主分区1   │ 主分区2   │ 主分区3   │ 扩展分区                  │
│ (C:)     │ (D:)     │ (E:)     │ ┌──────┬──────┬──────┐  │
│          │          │          │ │逻辑1 │逻辑2 │逻辑3 │  │
│          │          │          │ │(F:)  │(G:)  │(H:)  │  │
└──────────┴──────────┴──────────┘ └──────┴──────┴──────┘  │

❸ 没有备份

MBR 只有一份,存放在磁盘最开头。如果 MBR 被损坏(如意外写入、病毒破坏、坏道),整个磁盘的数据都会丢失,恢复难度极高。


三、GPT(GUID Partition Table)

3.1 历史背景

GPT 是 UEFI(Unified Extensible Firmware Interface)规范的一部分,作为 MBR 的替代方案诞生。随着硬盘容量突破 2TB,以及 UEFI 逐渐取代传统 BIOS,GPT 成为现代计算机的默认选择。

从 Windows 7 开始,64 位版本就支持从 GPT 磁盘启动;Windows 8 及以后更是默认使用 GPT。

3.2 结构特点

GPT 不像 MBR 那样把全部信息塞进 512 字节,它的结构更清晰、更健壮:

┌─────────────────────────────────────────┐
│   Protective MBR(保护 MBR,LBA 0)      │ ← 兼容旧系统
├─────────────────────────────────────────┤
│   GPT Header(GPT 头,LBA 1)            │ ← 定义分区表位置
├─────────────────────────────────────────┤
│   Partition Entries(分区条目,LBA 2-33) │ ← 默认 128 个条目
├─────────────────────────────────────────┤
│   实际分区数据                           │
├─────────────────────────────────────────┤
│   GPT Header 备份(磁盘末尾)            │ ← 冗余备份
├─────────────────────────────────────────┤
│   Partition Entries 备份(磁盘末尾)      │ ← 冗余备份
└─────────────────────────────────────────┘
  • 保护 MBR:LBA 0 仍然是一个 MBR,但它的作用是告诉旧版系统"这块盘已被使用",防止误操作。这也让 GPT 磁盘对 BIOS 有基本的兼容性。
  • GPT 头:LBA 1,记录了分区表的位置、大小、校验和等信息。
  • 分区条目:每个分区条目 128 字节,默认预留 16,384 字节的空间(128 个条目)。
  • 冗余备份:GPT 在磁盘末尾完整备份了头部和分区表,数据安全性远高于 MBR。

3.3 核心优势

❶ 支持超大容量硬盘

GPT 使用 64 位 LBA,理论上最大支持:

2⁶⁴ × 512 字节 ≈ 9.4 ZB(泽字节)

换算一下是 94 亿 TB —— 在未来很长一段时间内都不会有硬盘能超出这个限制。

❷ 最多 128 个分区

Windows 下的 GPT 默认支持 128 个分区(不需要扩展分区和逻辑分区的概念),每个分区都可以是主分区。虽然理论上 GPT 支持更多(取决于系统实现),128 个对绝大多数用户来说已经绰绰有余。

❸ 数据安全

GPT 在磁盘开头和末尾各存一份分区表副本,如果主分区表损坏,系统可以从备份自动恢复。GPT 头还包含 CRC32 校验和,能检测数据是否被篡改或损坏。

❹ 更精确的分区类型标识

MBR 用 1 字节的"分区类型 ID"(如 0x07 表示 NTFS,0x0C 表示 FAT32)来标识分区用途,数量有限且容易冲突。GPT 使用 GUID(全局唯一标识符)来标识分区类型,格式如 {EBD0A0A2-B9E5-4433-87C0-68B6B72699C7}(基本数据分区),类型无限且全球唯一。


四、Windows 中如何查看分区表类型

4.1 使用磁盘管理工具

  1. 右键「此电脑」→ 管理 → 磁盘管理
  2. 或者按 Win + X → 磁盘管理
  3. 在下方磁盘列表中,右键磁盘名称(左侧的"磁盘 0"、"磁盘 1"等)
  4. 选择 属性 → 卷 选项卡
  5. 查看"磁盘分区形式"一栏

4.2 使用命令提示符

diskpart
list disk

输出中,GPT 列显示 * 号的就是 GPT 磁盘:

磁盘 ###  状态           大小     可用     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
磁盘 0    联机            476 GB   1024 KB        *
磁盘 1    联机            931 GB      0 B
  • 磁盘 0 有 * → GPT
  • 磁盘 1 没有 * → MBR

4.3 使用 PowerShell

Get-Disk | Select-Object Number, FriendlyName, Size, PartitionStyle

输出示例:

Number FriendlyName              Size PartitionStyle
------ ------------              ---- --------------
     0 INTEL SSDPEKKF512G8  512GB GPT
     1 WDC WD10EZEX         1TB  MBR

五、Windows 中如何转换分区表类型

⚠️ 重要提醒

转换分区表会清空磁盘上的所有数据!操作前请务必备份重要文件。

5.1 MBR → GPT

使用磁盘管理工具(如果磁盘为空):

  1. 打开磁盘管理
  2. 右键磁盘左侧区域 → 转换成 GPT 磁盘
  3. 磁盘必须是空的(无分区)才可操作

使用 DiskPart(需要清空数据):

diskpart
list disk
select disk X        ← X 为要转换的磁盘编号
clean                ← ⚠️ 删除所有分区和数据
convert gpt
exit

使用 Windows 自带工具(保留数据):

Windows 10 1703 及更高版本内置了 MBR2GPT.exe 工具,可以在不丢失数据的情况下将 MBR 转换为 GPT:

mbr2gpt /convert /disk:X  ← X 为磁盘编号

执行后重启电脑,进 BIOS 将启动模式从 Legacy 切换到 UEFI 即可。

5.2 GPT → MBR

使用 DiskPart:

diskpart
list disk
select disk X
clean                ← ⚠️ 清空数据
convert mbr
exit

5.3 第三方工具

如果磁盘上有数据且不能使用 MBR2GPT,可以考虑第三方工具如 傲梅分区助手(AOMEI Partition Assistant) 或 DiskGenius,它们可以在不丢失数据的情况下转换分区表。


六、MBR vs GPT 对比总结

对比项 MBR GPT
诞生时间 1983 年 2000 年代(随 UEFI)
最大磁盘容量 2 TB 9.4 ZB
最大分区数 4 个主分区(或 3 主 + 1 扩展) 128 个(Windows 下)
分区表位置 磁盘第一个扇区(512 字节) LBA 1 + 备份在磁盘末尾
冗余备份 无 有(双份分区表 + CRC32)
启动模式 Legacy BIOS UEFI
操作系统支持 所有 Windows 版本 Windows 7 x64 及以上
分区 ID 1 字节(容易冲突) GUID(全球唯一)
适用场景 老旧电脑、XP/32 位系统、小容量硬盘 现代电脑、大容量硬盘、新装系统

七、实际场景选择建议

推荐使用 GPT 的情况

  • 新装电脑:2020 年以后的电脑基本都默认 UEFI + GPT
  • 硬盘大于 2TB:MBR 完全无法使用超过 2TB 的空间
  • 需要 4 个以上分区:不用折腾扩展分区
  • 系统盘(C 盘):UEFI + GPT 启动速度更快,安全性更高
  • 多系统:GPT 支持更多分区,方便安装多个操作系统

仍然使用 MBR 的情况

  • 老旧电脑:出厂只有 Legacy BIOS,不支持 UEFI
  • Windows 7 32 位或更老系统:32 位 Windows 不支持从 GPT 启动
  • 特定工业/嵌入式设备:部分老旧设备的引导程序只识别 MBR
  • 双系统与老系统共存:某些旧版 Linux 或 Windows XP 对 GPT 支持不完善

快速判断

你的情况 推荐方案
新买电脑、新装 Win 10/11 ✅ GPT
硬盘 ≥ 2TB ✅ GPT
老旧电脑、Win 7 32 位 ✅ MBR
不确定,想兼容性最好 ✅ GPT(现代系统都支持)

八、常见问题

Q1:MBR 磁盘能直接在 UEFI 电脑上启动吗?

不能。UEFI 规范要求启动盘必须使用 GPT 分区表。反过来,GPT 磁盘也无法在 Legacy BIOS 模式下启动(除非主板支持 CSM 兼容模式)。

不过有一种混合方案叫混合 MBR,在 GPT 磁盘的第一个扇区写入兼容 MBR,让某些旧系统也能识别,但实际使用中很少用到。

Q2:转换分区表一定要清空数据吗?

  • MBR2GPT.exe(Windows 10 1703+)可以保留数据无损转换
  • 第三方工具如傲梅分区助手也支持无损转换
  • DiskPart 的 convert 命令必须要先 clean,会清空数据

Q3:我有一块 3TB 硬盘,为什么只能用 2TB?

因为你的硬盘当前是 MBR 分区表。改成 GPT 就能用满全部容量——但改之前请先备份数据。

Q4:UEFI 和 BIOS 是什么关系?

BIOS(Basic Input/Output System)是传统的固件接口,使用 MBR 启动方式。
UEFI(Unified Extensible Firmware Interface)是 BIOS 的现代替代品,使用 GPT 启动方式,支持图形界面、网络引导、安全启动(Secure Boot)等高级功能。

2017 年以后出厂的电脑基本都是 UEFI,但通常提供 CSM(Compatibility Support Module)兼容模式来运行旧系统。

Q5:怎么看我的电脑是 UEFI 启动还是 Legacy 启动?

按 Win + R,输入 msinfo32,回车。在"系统信息"中查看 BIOS 模式:

  • UEFI → UEFI 启动
  • 传统 → Legacy BIOS 启动

九、总结

MBR 和 GPT 是两种截然不同的分区方案,GPT 在设计上全面优于 MBR,是当之无愧的现代标准。除非你需要维护一台 10 年前的旧电脑,否则新装系统一律选择 GPT。

简单记忆:

  • 新电脑 + 大硬盘 → GPT
  • 老电脑 + 小硬盘 → MBR
  • 不确定 → GPT

从现在开始,磁盘管理的旅程又多了一个知识点。下次拿到一块新硬盘,你就知道该选哪种分区表了。