零磁道概念问题,涉及硬盘的物理结构和CHS 3D寻址方法。老硬盘一个磁道上分63个扇区,更老的还没63个扇区,物理磁头也就6-8个吧(3-4片盘片),再多硬盘里就装不下了。使用8位寻址方式,8位二进制数的最大值是256(0-255),用于表达磁头数;但实际只用255来表示磁头数。而扇区只有63个(1-63),用6位就可以表达了,还有二位就给柱面去用了,柱面数用10位来表达,达到1024(0-1023)。这也就是所谓的C(柱面)H(磁头)S(扇区) 3D参数。一般书写时按照CHS的次序来做,如0,0,1第一个0是0柱面,第二个0是的磁头(盘面)第三个1是1扇区。硬盘的实际物理磁头只有4个或6个,现在有些硬盘只有一个磁头,仅用一面。如果有块硬盘正好符合上面的8位寻址方式的最大值,可以想象这个硬盘有128片盘片,每个盘面上有1024个磁道,每个磁道上有63个扇区。这就是它的CHS 3D参数。顺便说一下由于受8位寻址的限制,采用8位寻址时的最大寻址空间为8.4G。(1024*255*63*512/1024/1024)目前主板的BIOS已采用28位寻址,最大寻址空间137G,最前沿的主板BIOS采用48位寻址,已突破了137G的瓶颈。每个虚拟盘面上同一位置的磁道就称为柱面。如0,0,1,表示:第一个0,0柱面,是指位于128个盘片上的零磁道,但没讲是在那片盘上;第二个0,0磁头对应于0盘面,其实用盘面来理解更确切,1,1扇区,现在定位已完成。0,1,1,在刚才位置的反面。其实这些是不要我们操心的,硬盘内部的参数和主板BIOS之间会达成协议,正确发出寻址信号,正确定位磁道和扇区位置。
0,0,1指的是MBR所在的主引导扇区,零磁道从0,0,1-0,0,63,为真正的零磁道,它的位置一般做好后就不能用一般软件来修改了,如果要改变,必须在固件区做相应修改,但这已不是一般用户能做的事,且需要用特殊的工具。它的读取是主板中BIOS通过INT19去读它的信息。0,1,1是DBR所在位置,这个扇区坏了,MS的OS就会说是“零磁道”损坏,其实这并不是零磁道,都是MS闯的祸。它坏了是可以用PCTOOLS等软件来修改这一起始位置,从而避开这一扇区。如果坚持0,1,1为0磁道,那岂不是要有255个0磁道?至少物理盘片的开始要称作零磁道吧。如果是这样定义叫硬盘怎样去找扇区?那就要大乱了。
老硬盘由于每磁道上只有63个扇区,甚至少于63个扇区;因此,外圈疏,内圈密,没有很好地利用盘面资源,现在磁盘内外圈密度相同,圈子上也不再是63个扇区了,不再用CHS 3D参数,一般都用LAB逻辑寻址方式,也有称作为线性寻址。传统意义上的零磁道,只是磁道上的一小段了,但有一点是相同的,一个硬盘必须有一个唯一的起点,那就是LAB 0扇区,对应于CHS的0,0,1。它坏了一般的软件就没办法了,但有些零磁道损坏的硬盘是可以通过用PC3000或别的软件来进行维修的,经物理扇区和逻辑扇区重定位,重新确定一个新的起点。圆方数据恢复中心在这方面有成功的例子,对某些品牌的硬盘分别使用了PC3K和其它软件成功修复了真正的零磁道损坏。但是也不是所有硬盘都能支持重定位。归根到底还是要硬盘本身支持才行。以前有文章称用PCTOOLS等软件来修复零磁道损坏的硬盘,其实这些软件改的并不是真正意义上零磁道,这一错误的观点一直在误导读者,流毒甚而为广深。不过这个错误的根源还在于M$的错。特别说明:在零磁道前还有负磁道,但它是厂家的硬盘参数区,一般使用者不能访问,更不能修改。