GPT 与 MBR。为什么不是 MBR?

GPT 与 MBR。为什么不是 MBR?

我是 Linux 用户。我的笔记本电脑上没有 Windows。而且硬盘大小小于 2 TB。那么我为什么要使用 GPT 表?我不能使用老式的 MBR 吗?

我将有两个根分区、两个主分区和一个交换空间。那么当分区不是主分区而是扩展分区时,这会带来性能差异吗?

答案1

GPT 有几个优点:

  • 支持大于2TiB的磁盘。
  • 支持大于 2TiB 的分区。
  • 支持四个以上分区,不区分主分区、扩展分区和逻辑分区。
  • 使用 GUID 作为类型代码,这意味着冲突/重复代码的风险更小。
  • 仅使用 LBA 寻址,而 MBR 则同时使用 LBA 和 CHS。(不过,即使在 MBR 上,CHS 在超过 8GB 的​​磁盘上也是无用的,因此在现代硬盘上发生真正冲突的风险很小,因为现代硬盘比这大得多。)
  • 在磁盘的开始和结束处提供重复的分区表结构,这使得从一些可能出现的用户错误、缺陷和磁盘损坏类型。
  • 提供重要数据结构的校验和,可以检测某些类型的分区表损坏。
  • 提供 UTF 分区描述字段,以便您可以为分区命名。请注意,这与分区中包含的文件系统的名称无关。
  • 由 EFI/UEFI 固件原生使用。

注意太字节 (TiB;1024^4 字节) 和太字节 (TB;1000^4 字节) 之间的区别。前者是IEEE-1541单位,而后者是SI 单位。对于大多数磁盘测量,IEEE-1541 单位更为自然。一些文档和软件(尤其是较旧的东西)错误地将 SI 后缀应用于 IEEE-1541 测量,这令人困惑。

对于大多数安装来说,这些优点大部分都是次要的。两个最重要的优点是 GPT 是 EFI 的自然分区方案,并且没有主分区/扩展分区/逻辑分区的区别。其他 GPT 优点结合起来值得注意,但对大多数人来说并不是无法克服的问题。

自 2011 年中期以来推出的大多数计算机(包括搭载 Windows 8 及更高版本的绝大多数系统)都使用 EFI 固件。如果您以 EFI 模式启动此类计算机(而不是使用启用 BIOS 模式启动的 CSM),则使用 GPT 是一种默认设置。如果您以 EFI 模式启动(或双启动)Windows,则使用 GPT 是必需的(这是 Windows 的限制)。如果我没记错的话,Ubuntu 也不会在 EFI 模式下安装到 MBR 磁盘,但您可以转换分区表类型并在安装后启动它。不过,在 EFI 模式下从 MBR 磁盘启动的测试并不充分,在某些 EFI 上可能会失败。

MBR 的主分区/扩展分区/逻辑分区的区别是一种在 20 世纪 80 年代为了绕过 MBR 的四个分区限制而发明的笨拙的技巧。GPT 默认支持 128 个分区,但如果绝对需要,可以提高该限制。MBR 逻辑分区的访问速度并不比主分区慢,但它们更容易损坏,因为它们依赖于跨磁盘上分散的多个扇区的链表数据结构。最大的问题只是处理诸如用尽主分区或处理涉及主分区和逻辑分区的分区调整大小操作之类的麻烦事(因此还需要调整扩展分区的大小,这是一项额外的操作——也增加了出错的几率)。

如果您在小于 2TiB 的磁盘上以 BIOS 模式启动,最好还是使用 MBR,因为有些 BIOS 对从 GPT 磁盘启动反应不佳。这类问题通常可以解决,但一开始就避免遇到问题会更容易。在基于 BIOS 的计算机上使用 GPT 还会阻止您在该系统上安装 Windows。但是,如果您知道自己在做什么并且想要使用 GPT,那么在 BIOS 模式下使用 GPT 安装 Ubuntu 是可行的,我不会阻止您这样做——但如果您遇到问题,您可能需要对其进行故障排除。

不过,由于大多数现代计算机都使用 EFI,因此 GPT 可能是半必需的——如果您以 EFI 模式启动。如果您在这样的计算机上使用 BIOS/CSM/传统模式,出于刚才提到的原因,坚持使用 MBR 仍然是更好的选择。FWIW,我目前的建议是,如果您有选择的话,禁用BIOS/CSM/legacy 支持,并在基于 EFI 的计算机上专门使用 EFI 模式。这简化了启动路径,并降低了您遇到问题的可能性。问题是,有很多错误的建议,建议您这样做,在我看来,这会产生比解决的问题更多的问题。(例如,在此网站上搜索会发现许多由跨模式操作系统安装引起的问题,以及与在基于 EFI 的计算机上使用 BIOS/CSM/legacy 模式相关的其他问题。)

如果你有超过 2TiB 的磁盘,你几乎必须使用 GPT。主要的例外是如果磁盘使用 4096 字节逻辑扇区大小,将 2TiB MBR 限制提高到 16TiB。一些外部磁盘这样做,我也听说一些高端内部磁盘也这样做。(请注意,许多磁盘具有 4096 字节身体的扇区和512字节逻辑扇区。它们与具有 512 字节物理和逻辑扇区的磁盘具有相同的 2TiB MBR 限制。

答案2

这对您来说没有任何区别。GPT 的优点是:

  • 大分区,超过 2 TB
  • 主分区数量不受限制

对于您来说,您不需要第一步。第二步可以通过创建扩展分区并在其中创建逻辑分区来实现。

对于 Linux,安装哪种类型的分区(逻辑分区或主分区)并不重要。但是使用 GPT 时,如果需要移动分区可能会更方便一些,因为它们都是主分区。

性能上没有任何差异。

GPT 的所有其他“优点”都很小,不值得一提。

答案3

几个月来我一直在思考这个问题。以下是 Windows 对你的问题的回答:在我看来,GPT 的速度明显更快。到目前为止,我还没有发现任何测试结果支持我下面的说法,尽管我发现很多人猜测除了启动时之外,性能差异可以忽略不计。我现在不太确定了。以下是我的看法:

我有一个 2TB 的三星 D3 USB 3.0 外置硬盘。我将其分成两个 MBR 分区,每个分区大约 1TB。我的 PC 是 Windows 10 64 位、华硕 Z97-P m/b、8GB 内存、i5 4460 CPU。在使用 MBR 格式化时,我对其运行了 3 次 CrystalDiskMark x64 测试,结果如下:

MBR 平均结果(所有 MB/s): - 读取 SEQ Q32T1 40 - 读取 4K Q32T1 1.47 - 读取 SEQ 142 - 读取 4K 1.22 - 写入 SEQ Q32T1 101 - 写入 4K Q32T1 8.7 - 写入 SEQ 112 - 写入 4K 8.5

由于有大量的空闲时间,我备份了数据(约 750GB),重新格式化为 GPT,在本例中为单个 2TB 分区,将数据复制回磁盘,然后再次运行测试:

GPT 平均结果(所有 MB/s): - 读取 SEQ Q32T1 165 - 读取 4K Q32T1 1.83 - 读取 SEQ 170 - 读取 4K 1.5 - 写入 SEQ Q32T1 135 - 写入 4K Q32T1 8.7 - 写入 SEQ 138 - 写入 4K 8.6

因此,SEQ Q32T1 的结果使用 GPT 要高得多,并且所有其他结果使用 GPT 都要高得多,尽管并不总是显著的。

我当然不是这些差异在实际日常意义方面的专家,但只要我认为可以避免使用 GPT(即避免使用无法读取它的旧操作系统),我现在就倾向于使用 GPT。

相关内容