修复而不是丢弃 过保硬盘固件维修实战
对于已过保修期的故障硬盘,绝大多数用户会选择丢弃或拆解玩耍。但对真正的diyer而言,选择修复故障硬盘才是“正道”。请放心,修复硬盘不一定得去外面花钱,自己动手也有一定几率令其复活。
通刷拯救“死刑”硬盘
笔者手头有一块西数故障硬盘,经过dlg软件检测提示无法修复(图1),联系厂家称过保硬盘已无法享受官方售后,至此该硬盘基本已被判处了“死刑”。好消息是,对于此类故障硬盘还有一线生机,那就是以“通刷”的形式“抢救”。
01
通刷需要工具软件和通刷固件的配合,以笔者的西数硬盘为例(小提示1),工具软件目前市面常用的有效率源科技的西数专修(由于涉及软硬件,故仅适用于西数专修用户)和wdr(国内开发的一款西数维修工具,可在chinafix等维修网站或论坛下载到该软件以及配套的通刷固件,覆盖面更广)。
扩展阅读:什么是通刷?
官方在修复硬盘时通常会使用“自动校准”来进行处理。自动校准的作用就好比是厂家的工厂测试程序,会自动对硬盘上的缺陷进行加表屏蔽。而我们所说的通刷,就是可以做自校准的固件,它是可以兼容同一电路板号和家族的维修固件。来源一般是用厂家返修好的盘,清除所有log和缺陷表,并生成工厂维修流程后备份下来的固件(小提示2)。此类固件因为是工厂用于维修所用,一般p表(小提示3)比原盘固件大得多,比如1640通刷固件p表两个头一共有25万的容量,而原盘一般几万就满了。
小提示1:目前品牌硬盘都可以做自校准,比如wd.st等,只不过每种品牌启动的方式不同,比如st就是通过com口采用指令启动即可(有机会我们会介绍st部分)。
小提示2:为什么是返修盘而不是市售硬盘,因为市售的大多数硬盘,其流程表大都已经被破坏掉了,这导致硬盘维修者开启校准后,硬盘的修复效果很低
小提示3:p表即永久缺陷表是硬盘出厂前由厂家生成的缺陷列表,在硬盘运行时会自动规避;与之对应的是g表,它是在硬盘使用过程中出现并记录的列表,也叫做增长缺陷表。每个硬盘都有p表和g表。
通刷前的准备工作
以wdr为例,通刷的基本流程为:备份原盘固件(rom和固件模块)→使用维修软件写入对应板号和家族的通刷rom,写后复位→写原盘rom中的47号适配模块,复位→固件模块回写(先写0001模块后再写其他模块),复位→设置dcm,复位→设置lba,复位→启动自校准→单独接电→校准完成后再次检测确认维修效果。
看起来很复杂,但我们只需把握住以下几个关键点即可顺利完成整套修复流程:
由于维修我们是基于电路板号和家族来进行的,所以需要提前确定故障硬盘的电路板号。电路板号在硬盘机身可见(图2),以笔者硬盘为例,1672就是它的板号。
02 通刷固件是依据电路板号和家族来区分的,电路板号可以参照红色下划线 部分
此外,硬盘家族可以通过wdr中的检测信息,不过最准确的是看固件中的c5模块,它包含家族号信息。在wdr备份的固件文件名为~id00c5.rpm,使用winhex或其它二进制编辑器打开c5模块就可以看到(图3)。考虑到待修的硬盘一般状态都有问题,可能会导致windows系统启动缓慢甚至出错,如果你想提修复高速度,不妨采用winpe来启动,会让我们省心不少。
03 图注:颜色标注部分的mariner5就是家族号信息
小提示
有时如果刷新了不正确的rom,可能会导致敲盘现象,此时是无法写入rom文件的。这时必须转到pcb模式(即电路板模式),即可重新写入正确rom文件。我们可以在开机时短接电路板这两点即可进入pcb模式(图4)。
04
实战问题硬盘通刷
在进行通刷之前,首先需要备份硬盘的原始flash和rom模块,rom之中包括0a;0b;0d;30;4f;47共六个模块(图5 ),从备份的rom文件中可以拆分出来。其中47模块通刷时我们会用到,它是固件区适配参数,原盘出厂的工厂适配参数肯定是最适合原盘的,接下来还需备份固件模块(图6)。
05 图注:按图示进行操作,“读出”即是备份
06 图注:将全部固件模块读出
就像重装系统时需要先格盘一样,在做完备份之后我们也需要格式化问题硬盘的固件区(图7 )。接下来需要写入对应板号和家族的通刷rom(图8 ),如磁头有改动(比如砍头),还需编辑磁头位置后写入,之后复位电源。写入通刷rom后,请返回flash操作窗口,写入原盘rom中的47模块(图9),之后复位电源。
07图注:按照图示操作即可,固件区又称保留区
08图注:这里需要根据原盘做出选择,比如原盘是0.1.2头,那这里依样选择即可
09
进行通刷模块时需先写0001号模块(图10 图注:有些电路板型号在写模块前,还需要加载引导模块,比如1640),接下来在写入剩余模块(图11),写入完成点电源复位,完成复位。
10
11 图注:选择后软件会全部写入
小提示
硬盘要想换固件就必须写模块。0001 号模块所在的硬盘固件区地址是固定的,而其它模块的地址是由0001模块规定的。如果写不进0001模块,要么就是磁头损坏,要么就是固件不能用。因此必须先写0001模块,之后才能写其它模块。
在进行自校准前我们还需设置dcm和lba。设置dcm后可以初始化磁盘密度和容量,只要点dcm出来再点确定即可,默认是1还是2都不用管(图12),之后复位电源。如果不设置lba校准过程中会出错,所以请确保lba0.lba1.lba2和hpa数值保持一致(图13)。同时型号和sn号也可做对应修改,比如可以改成电脑爱好者的拼音首字母+数字等,之后复位电源。
12
13
最后,点击开始自校准按钮(图14),此时pst还没开始跑起来,我们需要断电复位一次才能开跑。如果维修盘量比较大,此时就可以做离线了,方法是此时取下硬盘,接到单独电源上,挂盘跑校准。当然也可以在线跑,点复位后,一分钟左右开始跑起来。
14
小提示
离线跑好处是节能,坏处是无法看状态;在线跑好处是可以看状态,坏处是不够环保。至于校准时间,依据硬盘状态好坏不定,一般台式硬盘,160g所需时间3~5小时,320g所需时间6~10小时,以此类推,笔记本盘慢一半左右。
小结
过保it产品维修有时可能会花去我们不少时间,不过在这个过程中我们却会学到很多未曾接触到的知识,其实关键是这个维修过程,而不是最后的那个结果。