Jor*_*vis 4 boot bootloader mbr gpt ata
通过MBR / GPT我对从 MBR (2^32) 到 GPT (2^64) 的过渡有点困惑。
而保存地址的磁盘和内存数据结构中的条目大小通常为 32 或 64 位。
这是基于处理器 (32/64)....
那么阻止 MBR 寻址 (2^64) 的原因是什么?
虽然没有任何限制计算机对所有 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 字节)格式存储开始扇区和结束扇区,以及以 LBA 格式(每个 4 字节)存储分区的开始扇区和大小。GPT 取消了这个约定,而是存储两个 LBA(8 字节)值,代表该分区的开始和结束扇区,包括在内。
归档时间: |
|
查看次数: |
1221 次 |
最近记录: |