![LBA 和扇区大小](https://linux22.com/image/1313048/LBA%20%E5%92%8C%E6%89%87%E5%8C%BA%E5%A4%A7%E5%B0%8F.png)
即使驱动器采用 4K 扇区格式,LBA 是否也始终将扇区指定为 512 字节?因为我读到您应该格式化分区边界,以便 4K 簇与 4K 扇区对齐。我假设如果磁盘采用 4K 扇区格式但 LBA 每 512 字节分配一次,就会出现此问题。这是原因吗?此外,逻辑驱动器几何形状与物理驱动器几何形状不同的原因是否是为了保持与旧标准的向后兼容性以及 CHS 的限制?如果驱动器报告的几何形状不准确,为什么分区仍需要从扇区 63 开始(如果这不再总是正确的柱面)?
并且簇是否与分区的起始处或磁盘的起始处对齐?
答案1
- 即使驱动器采用 4K 扇区格式化,LBA 是否也始终将扇区指定为 512 字节?
是的,世界上很多代码都是在 512 字节扇区独占主导地位的时代编写的。此代码无法处理任何其他扇区大小,因此 BIOS/磁盘硬件始终模拟 512 字节扇区,而不管实际扇区大小如何。否则,95% 的操作系统根本无法从此类磁盘启动。
- 此外,逻辑驱动器几何形状与物理驱动器几何形状不同的原因是否是为了保持与旧标准的向后兼容性以及 CHS 的限制?
CHS 寻址系统存在边界。1 ≤ S ≤ 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
并且本身未对齐,则簇在磁盘上可能未对齐。
答案2
LBA 本身可以适用于任何扇区大小,但自 PC 诞生以来,硬盘扇区大小就一直是 512 字节,所有硬件和软件都已根据这一假设进行了硬编码。因此,无需等待新系统和操作系统支持 4K 扇区,驱动器在外部将显示为 512 字节扇区驱动器。
自 2003 年推出 LBA48 以来,CHS 已不复存在。CHS 限制为 128 GB,因此每个大于该大小的驱动器都不支持 CHS(看看现代驱动器;它的标签上没有 CHS 值)。在这种情况下,所有硬件和操作系统都已更新(Windows 98 增加了对 LBA 的支持)。
即使使用 CHS,物理驱动器特性也与 CHS 值不匹配。说真的,没有硬盘驱动器有 255 个磁头。驱动器的控制器会在内部将 CHS 值转换为 LBA。
分区不必从第 63 扇区开始 - 这是旧的 DOS 限制。DOS 要求分区不分割磁柱边界,而 CHS 磁柱有 63 个扇区。直到 Windows XP,微软都决定保持与 DOS 的兼容性(可以在 FAT32 分区上双启动 Windows 98、ME 和 XP)。直到 4K 扇区,这都不是问题。
最后,回答你的问题:簇与分区的开始对齐,而不是磁盘。这就是为什么分区在扇区边界上正确对齐很重要。