首页 > 其他分享 >为什么MBR分区表最大只能识别2T硬盘?

为什么MBR分区表最大只能识别2T硬盘?

时间:2023-02-19 13:45:28浏览次数:75  
标签:2T 寻址 32 扇区 分区表 硬盘 TB MBR

理解这个问题需要的基础知识:

1、机械硬盘的结构:盘片、盘面、磁头、磁道、柱面、扇区的概念。

2、硬盘的寻址方式:从 CHS 到 LBA。

上面的基础知识在网上搜索即得,不赘述了。

 

目前网上的很多解释都是把64Bytes的 DPT 明细列出来,列出每个字段的含义和占用的空间,我看了好几篇都没想通,这前后跟能不能识别2T硬盘根本就不挨着,没有逻辑关系。

后来看到微软某个页面的解释就或然开朗了,原文如下:

使用名为“逻辑块寻址 (LBA)”的方案来解决新式存储设备的管理问题。 该方案涉及的是构成媒体的逻辑扇区的排列。 “LBA0”表示设备的第一个逻辑扇区,最后一个 LBA 标定表示设备的最后一个逻辑扇区,每个扇区对应一个标签。 要确定存储设备的容量,请将设备内的逻辑扇区数乘以每个逻辑扇区的大小。 当前标准大小是 512 字节。 例如,要获得容量为 2 TB 的设备,则需要 3,906,250,000 个 512 字节的扇区。 但是,计算机系统需要使用 32 个信息位(1 和 0)来表示这样大的数。 因此,任何大于可使用 32 位表示的存储容量都需要一个额外的位。 也即 33 位。 此计算中的问题在于,大多数基于 Windows 的新式计算机所使用的分区方案都是 MBR(主启动记录)。 此方案为可用于表示逻辑扇区数的位数设置了 32 位的限制 2 TB 限制即是此 32 位限制的结果。 由于使用 32 位可表示的最大数字为 4,294,967,295,因此通过 512 字节的扇区可以换算为 2.199 TB(大约 2.2 TB)。 因此,使用 MBR 分区方案无法对超过 2.2 TB 的容量进行寻址。 要将更多位用于寻址,必须使用 GPT 初始化存储设备。 此分区方案允许在逻辑扇区中使用多达 64 个信息位。 它换算出的理论限制为 9.4 ZB(94 亿 TB)。 但是,影响 GPT 的问题是,当前大多数系统都是基于老旧的 BIOS 平台。 BIOS 仅支持经过 MBR 初始化的磁盘来启动计算机。 要从使用 GPT 初始化的设备重启,系统必须支持 UEFI。 默认情况下,许多当前系统可以支持 UEFI。 Microsoft 预计未来大多数系统都将具备此支持。 客户应咨询其系统供应商,以确定其系统能否支持 UEFI 和存储容量大于 2 TB 的磁盘。

 

红字部分一句话就全部解释清楚了。

跟 MBR 内的 DPT 没有什么关系,就是因为目前的硬盘使用的是 LBA 寻址方式,但是 MBR 分区表为 LBA 的地址编号设置了32位的限制,导致最大只能表示2^32个扇区,也就是4,294,967,296个扇区。

每个扇区大小512 Bytes,能寻址的总大小就是 4,294,967,296 * 512 = 2,199,023,255,552 Bytes

2,199,023,255,552 / 1024 = 2,147,483,648 KB

2,147,483,648 / 1024 = 2,097,152 MB,

2,097,152 / 1024 = 2,048 GB

2048 GB / 1024 = 2 TB.

 

到这里看明白了吗?

当然,也有按硬盘厂商的算法采用 1GB = 1000MB 这种换算方式的,那么结果就是 2.2T(2.19902T),这里就不列计算过程了。

标签:2T,寻址,32,扇区,分区表,硬盘,TB,MBR
From: https://www.cnblogs.com/polin/p/17134624.html

相关文章