Western Digital Green从512字节扇区(跳线)驱动到4k字节扇区(跳线的删除)


10

我在使用WD20EARS驱动器,其针脚7和8跨接,以便在不支持4k扇区的操作系统上使用它。但是现在,我想将该硬盘驱动器转移到具有4k扇区支持的操作系统上。

我删除了跳线,将其连接到Windows Server 2008 R2,并执行了快速格式化。但是,DiskCheckup报告“每个扇区的字节数”属性仍为512。

为了将该驱动器用作4k扇区驱动器,我还需要做什么?


肯定不会采用快速格式化吗?尝试完整格式?
Sirex

Answers:


15

我认为这是正确的行为。4k磁盘仍在接口侧报告512字节扇区。尽管它们在内部以4k块为单位寻址扇区。

大多数驱动器中的跳线仅使扇区移位。在大多数驱动器上,它将扇区寻址移位1。其原因是不支持4k的操作系统,例如Winodws XP。为了理解,您需要知道Windows XP确实创建了从扇区63开始的第一个分区(是的,这不是错字)。

在大多数情况下,Windows将使用具有4k分配单元(NTFS群集)的文件系统。因此,您将假定从传统驱动器读取NTFS群集时,它仅需读取8个物理块。非常简单。

现在,驱动器也将使用4k扇区大小。这是完全可以的,因为OS永远不会读取小于4k的群集,因为这是最小的分配单位(假设您在格式化期间未强制使用较小的FS群集)。在我撰写本文时,出于兼容性原因,驱动器仍在接口级别公开512字节的扇区。但是,如果您仅读取一个512字节块,则驱动器内部无论如何都会读取4k扇区,然后将其拆分为仅通过电缆接口发送512字节。

那么问题出在哪里呢?###

Windows XP的问题在于,默认情况下,分区与框63对齐。这会导致NTSF群集与物理块的对齐错误。我创建了一张小图来说明这一点:

集群对齐

如您在Windows XP上的图片中所见,逻辑群集未与物理4k块对齐。因此,如果Windows读取逻辑NTFS群集,则它要求驱动器读取两个块,而不仅仅是一个块。更糟的是,如果您只需要一个NTFS群集,它将读取两个扇区并必须合并它们,以便仅将请求的数据返回给OS。

对于写操作,甚至更糟。在这种情况下,驱动器必须读取两个物理4k扇区,然后将它们的内容与新NTFS群集的内容合并,然后才能将两个扇区都保存回磁盘。这意味着驱动器必须读取8k,合并到缓冲区并写入8k,而不仅仅是通过覆盖硬盘来替换扇区。这大大减慢了写操作的速度。

为了防止不必要的合并,HDD制造商添加了可通过跳线启用的“兼容性” hack。它只是将每个512字节的扇区地址增加1。因此,Windows创建的第一个分区将从扇区64开始,并且映射如下所示:

在此处输入图片说明

现在,对逻辑4k NTFS块的任何读/写都会导致精确地读/写一个物理扇区。

当然,如果您已经创建与4k扇区边界对齐的分区,则根本不需要此解决方法。例如,在Linux上,您可以简单地使用它fdisk来定义分区从哪个块开始。因此,在此处使用8的倍数是一个好主意。

Windows从Vista开始在扇区2048 AFAIR上启动第一个分区。因此,这里不再发生此问题。

警告:如果仍在支持4k的操作系统(如Vista,Win7或Win2k8 R2)上使用跳线解决方法,则这实际上可能会破坏扇区对齐。原因是驱动器随后将再次将扇区地址增加1,从而导致第一个分区与扇区2049对齐,这又导致性能下降。

因此,请确保在使用支持4k的操作系统之前,先将跳线删除,然后再对驱动器进行分区。在您的特定情况下,我认为一切都应该没问题,只要您确实在卸下跳线的情况下重新分区了驱动器即可。格式化驱动器与扇区对齐和4k寻址无关。在格式化期间,您唯一需要确保的是,不要使用小于4k的群集大小,因为2k NTFS群集只会导致要求为从OS进行的每个HDD访问仍然读取完整的4k扇区。顺便说一句:使用8k NTFS群集仍然完全可以,因为磁盘只需为每个NTFS读/写操作读取2个扇区。


真好!感谢您提供详细的答案,尤其是在最后警告有关在支持4k的OS上使用跳线的警告。
tgxiii 2011年

马克:是的,但是我见过的每个人都属于“企业”产品类别。它们的价格至少是512e驱动器的价格/ TB的2倍,因此在大型服务器机房之外不太可能看到。
Jamie Hanrahan 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.