LBA 和扇区大小

rub*_*buc 11 hard-drive formatting partitioning

即使驱动器被格式化为 4K 扇区,LBA 是否总是将扇区指定为 512 字节?因为我读到您应该格式化分区边界,以便 4K 集群与 4K 扇区对齐。我假设如果磁盘被格式化为 4K 扇区,但 LBA 每 512 字节分配一次,就会出现这个问题。这是原因吗?此外,逻辑驱动器几何结构与物理驱动器几何结构不同的原因是为了保持与旧标准的向后兼容性以及对 CHS 的限制吗?如果驱动器报告的几何结构不准确,为什么分区仍然需要从扇区开始?63(如果这不再总是正确的柱面)?

集群是否与分区的开头或磁盘的开头对齐?

Mik*_*hik 10

  • 即使驱动器被格式化为 4K 扇区,LBA 是否总是将扇区指定为 512 字节?

是的,世界上很多代码都是在独占 512 字节扇区的时代编写的。此代码无法处理任何其他扇区大小,因此无论实际扇区大小如何,BIOS/磁盘硬件始终模拟 512 字节扇区。否则,95% 的操作系统根本无法从此类磁盘启动。

  • 此外,逻辑驱动器几何结构与物理驱动器几何结构不同的原因是为了保持与旧标准的向后兼容性以及对 CHS 的限制吗?

CHS寻址系统中存在边界。1 ? ? 63, 0 ? H ?255(有时是 0 ? C ? 1023)。这就是逻辑几何存在并不同于物理几何的原因。

  • 如果驱动器报告的几何结构不准确,为什么分区仍然需要从扇区开始?63(如果这不再总是正确的柱面)?

从 Windows Vista 开始,FDISK在 LBA 扇区 2048(1M 对齐)上创建第一个分区。它可能有任何 CHS 坐标;他们不再重要了。

在 Windows XP 和以前的版本中,第一个分区创建在 CHS 扇区 (C=0,?H=1,?S=1) 上,通常映射到 LBA 扇区 63(如果该磁盘的逻辑几何结构每个磁道有 63 个扇区) . 一些 USB 闪存驱动器具有每个磁道 32 个虚拟扇区的逻辑几何结构,因此第一个分区从 LBA 扇区 32 开始。无论如何,所有这些都与实际磁盘几何结构、性能原因等无关——这是一个纯粹的传统,在 ​​Vista/Windows 7 中终止。

  • 簇是与分区的开头对齐还是与磁盘的开头对齐?

簇总是与分区的开始对齐。因此,如果分区是在 Vista 之前创建的FDISK并且本身未对齐,则它们在磁盘上可能未对齐。


shf*_*301 6

LBA 本身可以适用于任何扇区大小,但硬盘驱动器扇区大小自 PC 启动以来一直是 512 字节,并且所有硬件和软件都已根据该假设进行了硬编码。因此,与其等待新系统和操作系统支持 4K 扇区,该驱动器将在外部显示为 512 字节扇区驱动器。

自 2003 年推出 LBA48 以来,CHS 已经过时。CHS 限制为 128?GB,因此每个大于该大小的驱动器都不支持 CHS(看看现代驱动器;它不会在标签)。在所有硬件和操作系统都已经更新的情况下(Windows 98 添加了对 LBA 的支持)。

即使使用 CHS,物理驱动器特性也与 CHS 值不匹配。说真的,从来没有硬盘有 255 个磁头。驱动器的控制器会在内部将 CHS 值转换为 LBA。

分区不必从扇区开始?63 – 这是旧的 DOS 限制。DOS 要求分区不分割柱面边界,而 CHS 有 63 个扇区作为柱面。微软直到 Windows XP 都决定保持与 DOS 的兼容性(可以在 FAT32 分区上双启动 Windows 98、ME 和 XP)。在 4K 扇区之前,它没有问题。

最后,回答您的问题:集群与分区的开头对齐,而不是磁盘。这就是为什么您的分区在扇区边界上正确对齐很重要。