GNU Parted、GParted 和其他使用 libparted 的工具的几个特点值得一提。最重要的是,当这些工具操作 GPT 数据结构时,它们通常会创建一些全新的保护性 MBR,这意味着它们将损坏引导装载程序。因此,在进行分区更改之后,可能需要重新安装 GRUB。分区类型的处理方式有一些奇怪:一些分区类型称为 flags。最明显的是,如果您想在一个 LVM 或 RAID 配置中建立一个可以使用的分区,则需要使用标记操作工具来完成分区创建操作。这些标记中的一个是 Microsoft Reserved(msftres),它在所有 FAT 分区上的设置都不正确,使得从 Windows 或 Mac OS X 无法访问该分区。(GPT fdisk 允许您改正这个问题)。
您可能已经注意到,Linux 采用了少量 MBR 分区类型代码(比如 0x82 和 0x83)来识别它的 MBR 分区。类似的 GUID 代码用于识别 Linux GPT 分区。一个重要的说明是,Linux 和 Windows 对它们的数据分区使用相同的 GUID。这样,仅从它们的分区表 GUID 区分 Linux 文件系统和 NTFS 或 FAT 是不可能的。GNU Parted 和 GParted 检查文件系统本身来识别文件系统,但并不是所有工具都这样做(比如 GPT fdisk)。您应该注意这点,或许您可以使用 GPT 分区名称字段来帮助区分分区。
大型文件系统支持
如果您使用 GPT 是因为正在创建一个非常大的 RAID 磁盘组,那么可能要检查文件系统是否支持超大磁盘。表 1 总结了这些限制。(注意,分区选项不同,有些值也会不同)。这些值中的一部分相当大,可能使用不熟悉的后缀。1 terabyte 是 1024GB,1 petabyte (PB) 是 1024 TB,1 exabyte (EB) 是 1024 PB,1 zettabyte (ZB) 是 1024 PB。
表 1. 文件系统卷和大小限制
文件系统 | 最大卷大小 | 最大文件大小 |
---|---|---|
第二扩展文件系统(ext2)和第三扩展文件系统(ext3) | 16TB | 2TB |
第四扩展文件系统(ext4) | 1EB | 16TB |
ReiserFS | 16TB | 8TB |
日志文件系统(JFS) | 32PB | 4PB |
XFS | 16EB | 8EB |
Btrfs(尚在开发) | 16EB | 16EB |
除了文件大小和卷大小限制外,还有文件系统性能差异。这个主题非常复杂,因此,您可能需要咨询某些专家,他们运行的安装程序应与您正在计划的安装程序类似。
![]() ![]() |
GPT 分区建议
GPT 分区可能会产生一些特殊问题,特别是您的计算机使用 EFI 或在一个多重引导环境中运行时:
- EFI 需要一个称为 EFI System Partition (ESP) 的分区。 GNU Parted 认为 ESP 拥有引导标记集。ESP 通常 200MB 左右,并针对 FAT-32 格式化。它包含引导过程中 EFI 可以使用的驱动程序。如果您的计算机使用 BIOS 引导,则不需要这个分区。
- 许多 GPT 分区工具在每个分区之后创建 128MB 左右的空间(ESP 不适用这个规则)。这个规则是为了使磁盘工具可以使用这个空间来帮助完成它们的任务。
- 在 Mac OS X 系统上,创建的分区的大小是 4KB 的倍数(通常是 8 个扇区)。这个特性与 HFS Plus 文件系统有关,大多数现代 Macs 都使用该文件系统。
您可以遵循这些规则,也可以对它们置之不理,这完全取决于您自己的判断。Linux 很灵活,即使您不理睬这些规则,它也不会出现问题,除非您的计算机需要一个 ESP 来引导。
您也可以运行一个带有混合 MBR-GPT 配置的系统 — 您可以对一个磁盘使用 MBR 分区,而对另一个磁盘使用 GPT 分区。这样,如果您将一个超过 2TB 的新磁盘添加到您的系统,您不必修改低于 2TB 的原始磁盘的分区。实际上,这样可能是最安全的。
![]() ![]() |
结束语
由于 MBR 的大小限制,GPT 将成为硬盘分区的标准。幸运的是,Linux 对这种转变做好了充分准备。尽管 Linux 用户可能不得不放弃某些工具(例如 LILO 和 fdisk),但其他可用工具(GRUB 和 GNU Parted 的补丁版)可以取代它们。理解这些要求将帮助您轻松地实现转变。您需要设置内核配置、引导装载配置,以及用于创建和管理分区的工具。(责任编辑:A6)