什么是分区对齐?为什么?它与两个逻辑分区之间的 2048 个扇区间隙有关吗?
答案1
新型硬盘的制造采用 4 千字节扇区,而不是传统的 512 字节扇区。
这样做是为了更有效地利用硬盘上的物理空间,因为每个扇区都有一小批纠错数据,而每个扇区从 0.5 千字节增加到 4 千字节意味着可以大大减少硬盘上浪费在这些纠错数据上的空间。为了说明我的意思,这里有一张来自 Wikipedia 文章的图片高级格式驱动器:
必须对齐磁盘的原因在于软件的交互作用,该软件被设计为在具有 4 KB 扇区的驱动器上工作时需要 512 字节扇区。如果软件需要 512 字节扇区,那么它可能会尝试写入它认为是簇的“第二个”扇区,但实际上是 4 KB 扇区的第二个 512 字节。
问题在于,“高级格式”驱动器会向操作系统模拟 512 字节扇区,但实际上内部使用的是 4 KB 扇区,因此只能“一次性”写入一个扇区。为了写入第二个 512 字节区域,必须读取整个 4KB 扇区,然后将其重新写回到驱动器,而这个过程比简单地告诉驱动器重写整个 4KB 扇区要慢。
即使操作系统知道 4KB 扇区,它也必须正确对齐驱动器,以便扇区之间的边界与驱动器所说的位置和操作系统认为的位置一致。
然后是 SSD,它们有类似的问题,因为它们可以逐字节写入,但只能以大块(通常为 256KB 或 512KB)擦除。这样,为了最大限度地提高性能,您必须将分区(以及扇区)边界与其中一个 256 或 512KB 块对齐。
因此,许多现代分区工具只是将整个驱动器沿 1MB 边界对齐,从而无需检测您是否拥有多种类型的驱动器,无论是 512 字节扇区、4KB 扇区还是具有任意块大小的 SSD。
-=编辑=-
要判断你的驱动器是否正确对齐,有多种方法可以检查,如Lifehacker 上的这篇文章提到。该建议主要适用于 SSds,但同样适用于确保正常硬盘正确对齐:
要查看分区是否正确对齐,请点击“开始”菜单并输入
msinfo32
。输入Msinfo32
并转到Components
>Storage
> 磁盘。在列表中查找您的 SSD,并找到“分区起始偏移量”项。如果此数字可以被 4096 整除(即,如果将其除以 4096 等于整数而不是小数),则您的分区已正确对齐。如果没有,您需要重新对齐它。幸运的是,使用 Gparted live CD 可以很容易地做到这一点。如果您身边有 Ubuntu live CD,那也可以,因为它在系统 > 管理下有 Gparted。