软件能够修复硬盘吗?——硬盘损坏全分析
对于普通用户来说,如果真的能把有物理坏道的硬盘修好,那么就可以省下买新硬盘的钱了;对于二手硬盘销售商来说,一个有坏道的硬盘和一个没有坏道的价格差很多,如果能把有坏道的摇身一变成为没有坏道的,可以多挣很多利润;对于专门修理硬盘人的来说,有了这些软件就可以用一台计算机一张桌子开店了,平均每修理好一个硬盘收40元那也是非常好的生意;而对于销售这些软件的代理来说,每销售一套就是7000~8000元人民币的利润,更加是肥得漏油的生意。因此,在种种力量的促使下,各种不同的群体怀着不同的目的开始了一系列的宣传,使这些软件变得更加瞩目。由此,在很多以硬盘维修、二手硬盘和硬盘技术为主题的论坛上引发了很大规模的讨论甚至骂战。
那么,软件能够修复硬盘吗?要弄清楚这个问题,必须先从硬盘内部的结构谈起,先搞清楚硬盘损坏的原因和机理。
硬盘的结构
关于硬盘结构的文章已经非常多了,不过真正要说清楚的话,就算专门出一本书也说不完,因此这里就不再从头细细讲述了。只是要讲明白一点,到目前为止,在很多文章、技术资料甚至教科书里面讲述的硬盘结构模式,已经是非常老式的硬盘结构了。对于现在的新硬盘来说,都已经全部不采用这样的结构,而是采用了更为复杂、也更加科学的结构方式。
(图2,硬盘内部结构)
在老式硬盘中,采用的都是比较古老的CHS(Cylinder/Head/Sector)结构体系。因为很久以前,在硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数,由此产生了所谓的3D参数(Disk Geometry),即是磁头数(Heads)、柱面数(Cylinders)、扇区数(Sectors)以及相应的3D寻址方式。
(图3,CHS结构体系)
其中:磁头数表示硬盘总共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);柱面数表示硬盘每一面盘片上有几条磁道,最大为1023(用10个二进制位存储);扇区数表示每一条磁道上有几个扇区,最大为63(用6个二进制位存储);每个扇区一般是512个字节,理论上讲你可以取任何一个你喜欢的数值,但好像至今还没有发现取别的值的。
所以磁盘最大容量为: 255×1023×63×512/1048576=8024MB(1M=1048576Bytes) 或硬盘厂商常用的单位: 255×1023×63×512/1000000=8414MB(1M=1000000Bytes)
由于在老式硬盘的CHS结构体系中,每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间(软盘也是一样)。为了进一步提高硬盘容量,现在硬盘厂商都改用等密度结构生产硬盘。这也就是说,每个扇区的磁道长度相等,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。而为了与使用3D寻址的老软件兼容(如使用BIOSInt13H接口的软件),厂商通常在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式可以对应不同的3D参数,如LBA、LARGE、NORMAL)。而随着磁盘密度的增加、机构的进一步复杂、功能和速度上的提高,如今的硬盘都会在磁盘里面划分出一个容量比较大的,称为“系统保留区”的区域,用来储存硬盘的各种信息、参数和控制程序,有的甚至把硬盘的Fireware也做到了系统保留区里面(原来这些信息都是储存在硬盘控制电路板的芯片上的)。这样虽然可以进一步简化生产的流程,加快生产速度和降低生产成本,但是从另一方面,却又大大增加了硬盘出现致命性损坏的几率和缩短了硬盘的使用寿命。我十几年前的200MB硬盘和8年前的1.2GB硬盘到现在还用得非常好,别说是坏道,连运行时的声音都是没有的,但是到后来的4.3GB、6.4GB、10GB、20GB硬盘,都没有能用超过4年的,全部坏掉了。 |