
GPT(GUID 分区表) 分区方案在结构、功能以及与引导加载程序和系统引导的交互方式方面与 MBR(主引导记录) 方案有很大不同。让我们比较一下这两者,并了解 GPT 在系统引导环境中的工作原理,尤其是对于双引导场景。
1. GPT 和 MBR 分区方案之间的差异:#
| 方面 | MBR | GPT |
|---|---|---|
| 分区表大小 | 64 字节(限制为 4 个主分区) | 将多个分区存储在更大的表中 |
| 分区数 | 最多 4 个主分区(或 3 个主分区 + 1 个带逻辑分区的扩展分区) | 默认支持最多 128 个分区(可以添加更多分区) |
| 磁盘大小支持 | 最大 2 TB | 支持大于 2 TB 的磁盘(最多 9.4 ZB) |
| 引导代码 | 包含 446 字节的引导加载程序代码(主引导代码) | GPT 不以相同的方式存储引导加载程序。引导加载程序存储在 EFI 系统分区 (ESP) 中 |
| 冗余 | 无冗余,分区表仅存储在磁盘的开头 | GPT 存储分区表的多个副本以实现冗余(一个在开头,一个在磁盘的末尾) |
| 损坏恢复 | 更容易损坏;没有自动恢复 | 更强大,可以使用备份表从损坏中恢复 |
| 兼容性 | 适用于旧式 BIOS 启动模式 | 专为 UEFI 设计,但可以模拟 MBR 以实现向后兼容(通过“保护性 MBR”) |
2. 使用 GPT 启动:#
使用 GPT 启动与 MBR 不同,因为 UEFI(统一可扩展固件接口) 是传统 BIOS 的现代替代品。让我们来探索一下启动差异:
使用 GPT 和 UEFI 启动:#
EFI 系统分区 (ESP):
在使用 UEFI 的基于 GPT 的系统中,引导加载程序存储在称为 EFI 系统分区 (ESP) 的特殊分区中。
ESP 包含各种操作系统的引导加载程序文件。这些引导加载程序文件采用 EFI 可执行文件 (. efi) 的形式(可以用
c语言来写),UEFI 可以直接加载。您安装的每个操作系统都可以将其自己的引导加载程序放置在 ESP 中。例如,GRUB 可能位于
/EFI/grub中,而 Windows 启动管理器位于/EFI/Microsoft/Boot中。没有主引导记录 (MBR) 代码:
与 MBR 不同,GPT 中没有单个“主引导代码”。相反,UEFI 根据引导顺序设置或用户输入(通过引导菜单 grub)从 ESP 加载适当的引导加载程序。
引导管理器:
UEFI 本身可以充当基本引导管理器。它可以提供一个菜单(取决于 uefi 的固件支不支持),列出存储在 ESP 中的可用操作系统或引导加载程序。这允许您选择从哪个操作系统引导,而无需单独的引导管理器(如 GRUB)。
但是,对于更复杂的设置(例如,使用 Linux 和 Windows 双引导),仍然可以安装 GRUB 或其他引导管理器以提供更多灵活性(例如,自定义引导选项、在不同的 Linux 内核之间进行选择等)。
使用 GPT 和传统 BIOS(CSM 模式)启动:#
- 兼容性支持模块 (CSM):
- 一些支持 UEFI 的系统还提供兼容性支持模块 (CSM),允许它们在传统 BIOS 模式下启动。
- 如果您使用的是 GPT 磁盘,但想要在传统 BIOS 模式下启动,则可以将系统配置为通过 CSM 模拟 BIOS。在这种情况下,您可能需要“保护性 MBR”以避免与不理解 GPT 的旧工具发生兼容性问题。
- 但是,使用 GPT 在传统模式下启动通常不太常见,并且不是 GPT 的预期设计,GPT 旨在与 UEFI 配合使用。
3. 使用 GPT 进行双启动:#
在使用 GPT 的双启动场景中,所涉及的过程和工具与基于 MBR 的系统略有不同:
安装多个操作系统:
两个操作系统(例如 Linux 和 Windows)都将其引导加载程序文件放在 EFI 系统分区 (ESP) 中。每个操作系统都会在 ESP 中创建一个目录来存储其引导加载程序。
UEFI 启动菜单:
UEFI 可以识别 ESP 中的多个引导加载程序条目,并且通常提供基本启动菜单。您可以在启动期间按下某个键(通常是 F 12、ESC 或根据制造商的不同而不同的其他键)来访问该菜单,以手动选择要加载哪个引导加载程序(例如 Windows 启动管理器、GRUB)。
GPT 上的 GRUB:
如果您在具有 UEFI 的 GPT 磁盘上安装 GRUB,它仍将用作启动管理器,允许您在多个操作系统之间进行选择。GRUB 将检测 Windows 启动管理器和其他可启动条目,并在其启动菜单中显示它们。
GRUB 的引导加载程序安装在 EFI 系统中分区(不在 MBR 中,因为 GPT 不使用 MBR 引导代码),UEFI 将从 ESP 加载 GRUB。
没有 GRUB?:
如果您不安装 GRUB 或任何其他引导管理器,UEFI 将从 ESP 启动默认操作系统引导加载程序(例如,Windows 引导管理器)。如果只有一个操作系统的引导加载程序存在或配置为默认,则不会有任何引导菜单,系统将直接启动到该操作系统。
4. MBR 和 GPT 之间双引导设置的主要区别:#
MBR:
引导加载程序存储在 MBR 中。
有限的分区支持。
需要在 MBR 中安装 GRUB(或其他引导管理器)以提供双引导系统的引导菜单。
GPT:
引导加载程序存储在 EFI 系统分区中。
没有像 MBR 中的单个“主引导代码”; UEFI 直接从 ESP 加载引导加载程序。
如果 ESP 中存在多个引导加载程序,UEFI 可以提供基本启动菜单,但可以安装 GRUB 或其他启动管理器以实现更高级的控制。
支持更多分区和更大的磁盘大小。
摘要:#
- MBR 依赖于主引导记录中的单个引导加载程序,并支持有限的分区和较小的磁盘大小。
- GPT 专为 UEFI 系统设计,使用 EFI 系统分区 (ESP) 来存储多个引导加载程序,并允许使用许多分区和更大的磁盘进行灵活的启动管理。
- 使用 GPT,UEFI 可以提供启动菜单以在不同的操作系统之间进行选择(如果已配置),但更高级的启动管理(如 GRUB)仍可用于复杂的双启动设置。



