MBR 与 GPT(逻辑块寻址)

MBR 与 GPT(逻辑块寻址)

经历膜生物反应器/谷氨酰胺磷酸酶我对从 MBR(2^32)到 GPT(2^64)的过渡有点困惑。

如果你分解历史中枢性高血压-到-左心室射血分数寻址:

  • CHS(24 位)- 8GB 限制(1979 年 - 引入“固定块架构“)
  • CHS(28 位)- 128GB 限制(1994 年 - EIDE/ATA2)
  • LBA(22 位)- 2GB 限制(1986 - IDE)
  • LBA(28 位)- 128GB 限制(1994 年 - ATA-1)
  • LBA(48 位)- 144PB 限制(2002 - ATA-6)

----以下是 ATA 历史的细分---


维基百科(LBA):

而保存地址的磁盘和内存数据结构中的条目大小通常为 32 位或 64 位。

这是基于处理器(32/64)....

那么什么阻止了 MBR 寻址 (2^64) 呢?

答案1

虽然没有什么限制电脑逻辑寻址所有 2 64个地址的限制是由于 MBR 样式分区头的实现而产生的。在大多数 IBM 兼容计算机中普遍实现的标准 DOS 样式 MBR 中,每个 16 字节分区条目只能容纳 4 字节(32 位)LBA 扇区地址。

由于这仅允许寻址最多 2 32 个扇区,并且每个扇区为 512 字节,因此任何 MBR 样式分区可访问的最大可能范围为 2 32 x 512 字节,相当于 2048 GiB 或 2 TiB。使用扇区大小更大的驱动器(例如 4096 字节)将最大范围扩展到 16 TiB,但这需要计算机和操作系统兼容除标准 512 字节扇区以外的更大扇区大小。


维基百科文章中也简要讨论了这一点逻辑块寻址

当前的 48 位 LBA 方案于 2003 年随 ATA-6 标准一起推出,允许寻址高达 128 PiB。[...] 但是,常见的 DOS 样式主引导记录 (MBR) 分区表仅支持最大 2 TiB 的磁盘分区。对于较大的分区,需要用另一种方案替换它,例如 GUID 分区表 (GPT),它具有与当前 INT 13h 扩展相同的 64 位限制。

实际上,在 GPT 样式的分区中,有两个 8 字节字段指定该分区的起始和结束逻辑块地址,将可寻址范围扩展到 2 64个扇区。可以执行与上述类似的计算,通过将扇区大小(通常为 512 或 4096 字节)乘以 2 64来计算磁盘的最大分区大小。

最后需要注意的是,GPT 分区表在实现/布局方面也略有不同。MBR 样式的分区以 CHS(3 字节)格式存储起始和结束扇区,以及以 CHS(3 字节)格式存储起始扇区和结束扇区。尺寸分区的 LBA 格式(每个 4 字节)。GPT 摒弃了这种惯例,而是存储两个 LBA(8 字节)值,分别表示该分区的起始和终止扇区(含起始和终止扇区)。

答案2

向后兼容。

MBR 分区表中的分区条目有 4 个字节(32 位)用于存储分区的起始位置,另外还有 4 个字节用于存储分区的长度。如果您更改了这一点,那么现有软件将无法再读取 MBR。

如果您不太在意向后兼容性,那么为什么只改变这一点呢?MBR 还存在其他问题(仅限于 4 个主分区),那么为什么不制定一个新的、更好的标准呢?也称为 GPT。

相关内容