为什么 MBR 磁盘上只有 4 个主分区?

为什么 MBR 磁盘上只有 4 个主分区?

我正在阅读 CentOS.org 上的文档

在第 25.1.2 节中。分区:将一个驱动器变成多个,有如下语句:

分区表分为四个部分或四个主分区。主分区是硬盘上的分区,只能包含一个逻辑驱动器(或部分)。每个部分可以保存定义单个分区所需的信息,这意味着分区表最多可以定义四个分区。

我不明白为什么只能有四个分区。这难道只是一开始设计的方式吗?真的只能有 4 个主分区吗?

答案1

难道一开始就是这么设计的吗?真的只能有 4 个主分区吗?

是的,就是这样。MBR 磁盘(与 GPT 样式磁盘相反)前面的分区表具有非常严格的数据结构,这种结构可以追溯到 20 世纪 80 年代,当时空间非常宝贵。当时的设计决定是只允许四个分区,但允许其中一个分区是“扩展”分区,它是指向磁盘上可以包含更多“逻辑”分区的另一个位置的指针。

(这也是为什么 MBR 格式的磁盘在使用 2TB 以上的磁盘时会出现问题的原因。512 字节大小的簇和包含分区大小簇计数的 32 位字段 = 最大磁盘大小为 2TB。4KB 簇大小会将问题推到一边。)

GPT 是一种处理分区的更新方法,它没有这些限制。

答案2

只有四个,因为MBR 分区表仅允许四条记录描述分区:

您可以创建嵌套在所谓的“扩展分区”定义中的附加分区表,但其中定义的分区传统上称为“逻辑”分区。请记住,这是此特定实现的限制。其他分区类型,如GUID 分区表,不分享这个限制。

答案3

主分区是一个低级概念 - 它与机器的初始启动过程有关,并且基于一组定义良好的规范。因此,更改主分区的数量实际上非常困难,因为许多磁盘和主板制造商必须同意实施新标准。

但从实践上讲,这是一个没有实际意义的问题 - 它与“启动时”有关,首先启动操作系统,但仅此而已。存在扩展分区,允许在磁盘上设置更多分区。但您无法从它们启动。

更根本的是 - 大多数操作系统使用更多的磁盘抽象 - 逻辑卷管理器 - 这意味着实际的磁盘拓扑基本上无关紧要。 (事实上,对存储池进行分段通常是不可取的)

答案4

不确定我是否迟到了,但情况如下:

分区表大小设计为 64 字节,每个分区表为 16 字节。16 * 4 = 64,因此分区表中没有更多空间用于其他任何条目。

为了解决这个问题,第四个条目提供了一个扩展分区条目,该条目可以有指向其他扩展分区的连续指针。

https://docs.microsoft.com/en-us/windows/win32/fileio/basic-and-dynamic-disks

相关内容