故障描述:
上星期三,老公打开电脑,上午还能正常使用,晚上再开机就找不到硬盘了。进入BIOS模式,仍然不能找到硬盘。正好家里还有块正常的硬盘,插上之后能识别,我俩心惊“坏了,里面的数据要危险了”。第二天,我将这块貌似坏了的硬盘,拿到单位,维修计算机的小伙子那里看了一下,还是不能识别,可是又没有什么异常的声音。我又打电话咨询了下,数据恢复的价格,貌似很贵,怎么也得千把块钱吧,还不一定能修好。
进展:
没办法,为了我们那500G的数据,主要是女儿和老娘那些可爱的照片们,上网搜索一下,原来也有人遇到过类似的情况,就是希捷所谓的“固件门”,只是人家那是发现的早,2010年的帖子了,我这个大概平时家里面电脑不怎么用,都三年了,2012年才发现。想想我的硬盘没有什么异常的声音,以前也没注意过有什么异常,我宁愿相信我的硬盘故障也是“固件门”所导致。
先用最简单的,下载了下相关型号的升级固件程序,并刻成光盘。第一步直接升级下固件试试,可惜行不通,我的硬盘还是不能识别,找不到硬盘。
于是,继续看相关的帖子,有一些很复杂的连接,然后用串口进行通讯,调试硬盘可以识别,最后升级固件搞定。大概就是这么个思路。我想咱怎么也是学自动化出身的,这些东西看起来貌似有些复杂,小CASE,再加上家里面照样有个自动化出身的高手,搞定这个应该没问题。于是很兴奋的打电话告诉老公,我们的硬盘估计有救了,大概是固件门原因,噼里啪啦说了一番。并且把有用的两个链接发布在我的新浪微博里,便于回家后和老公研究。
回家后,和老公根据帖子讨论了一番,认为具有可行性,于是讨论连接需要组成的配件。
我上网买了关键的232转TTL的转换模块,成本10块一个,为了以防万一,我买了两块作为备用,又花1块钱买了4个锂电池插座,后来老公弄来的3V锂电池有插座,没有用上。加快递费总成本27大洋。其他的USB转串口的线,我这里有,还有杜邦线以前调单片机的时候买的家里有,借了一套可以卸硬盘螺丝的螺丝刀工具。其中隔缘用的硬塑料卡,是老公曾经出席某会议的时候的胸卡套,剪成相应的大小。外加一台可以正常使用的电脑。基本上就这些材料。
解决:
星期六,我淘宝网上买的232转TTL的转换模块中午到货,下午吃完饭,就和老公迫不及待的实战操作起来。凭借老公的操作能力,这些连连线就是小菜一碟,经过各方测试基本上算是顺畅,跟帖子上描述的相符。
首先,根据帖子的描述进行连线,用杜邦线使得,硬盘的RX口连232转TTL的转换模块的TX端,硬盘的TX口连232转TTL的转换模块的RX端,使用3V锂电池给232转TTL的转换模块供电。
然后,使得USB转串口可以在计算机设备中识别出来。这个经过安装了相关的USB转串口的驱动,显示了出来。
其次,安装串口调试程序。我们开始用的WIN7,WIN7不自带串口调试模块。
再者,进行串口通讯调试。这个环节,折腾了好久,看了那两个帖子没找到实际解决的途径。开始我怀疑是不是电脑的操作系统问题,换了台windowsXP的问题照旧,串口通讯,发送过去,总是出现乱码,不能正常通讯。这把我跟老公困惑了半天,“难道硬盘真的坏了?”后来,我们把家里那块正常的硬盘接上去,发现乱码依旧,这让我们放心了,看来貌似坏了的硬盘还有希望。后来网上搜索如何触发串口通讯的办法,也按照相关帖子尝试了很多办法,譬如把硬盘tx旁边的口子绝缘等,仍不管用。发现一大侠的帖子非常有用,他提到“将硬盘的GND端和232转TTL的转换模块的GND相连”,这个对我们是个新启发。于是老公三下五除二,用杜邦线将硬盘的GND端连在3V锂电池的gnd端再连上232转TTL的转换模块的GND端。使用串口调试程序,波特率在38400,发送相应的字段,不出现乱码了按ctrl+z,启动触发了串口通讯,可以敲命令进行调试了。
最后,按照帖子上的命令进行调试,调试完毕,老公在那里很搞笑的,胸口画个十字,“阿门,我又相信上帝了”,我说“肯定没问题,还不如相信我的红宝典呢”果然,按照预期硬盘可以识别了。我们又将升级固件的程序,从光盘启动,升级了固件。完美结束。数据不仅没有丢,而且操作系统可以正常启动。
兴奋的老公赶紧进行测试,于是测试了他的电脑打了N久的游戏,黑暗3(大概是这个名字),一晚上外加第二天,基本上除了出去办事情、睡觉,就是在测试他的电脑了。每当听到他哎呀了一声,我就知道,他的游戏里面的号被a'du给踢下来了。
这是我们连接线的图,我们使用的机箱里面的SATA供电,不过,使用其他的专用工具供电可能问题也不大。其中,搜索帖子的过程中,还发现了一个专门用于数据恢复的工具pc3000,不过没试过。
附:
当时保存下来的两个帖子的链接,综合起来看。其中一帖子提到的效率源软件,我们没有用到。
http://dreamkeeper.com.cn/2010/01/repair-the-firmware-problem-of-seagate.html/comment-page-1
http://bbs.crsky.com/read.php?tid=1570923
下面指令请注意大小写!!!(以下指令是由“风里有梦”提供,我操作的时候有所出入,用纯红标注)
首先我们需要进入2级指令 。输入/2,回车:
F3 T>/2
F3 2>
(操作这一步前请等待20秒)接着,我们需要停止板卡的马达电路。输入Z,回车:
F3 2>Z
成功,将看到下面的字符出现:
Spin Down Complete
Elapsed Time 0.147 msecs
现在来到关键时刻,这个操作一定要注意,不要将T6锣丝刀碰到PCB的电路!!!
首先,抽出硬盘马达的纸片,小心的利用T6 六角锣丝刀紧上螺丝(注意,是所有螺丝,您拧松过的螺丝都要紧上),一定要紧上,然后输入U,回车。
F3 2>U
成功的话,你可听到一阵硬盘马达的转动声后,终端将出现:
Spin Up Complete
Elapsed Time 7.093 secs
接着,我们要继续。这个操作要进入1指令,输入/1。回车:
F3 2>/1
F3 1>
现在,让我们清除S.M.A.R.T。创建S.M.A.R.T扇区。输入N1。回车:
F3 1>N1
F3 1>
接下来的一步,是清除G-List,有人说这一步是可选的,如果我们这一步没有执行,修复完成后,如果硬盘没有再出现BUSY错误,这一步将不是必须的。但是,我还是为了保险, 执行了它:
清除G-List(修正检测链表),输入/T,回车:
F3 1>/T
F3 T>
进入T级命令后,输入下面的i4,1,22再回车:
F3 T>i4,1,22
来到关键时刻,拔掉硬盘的PC供电的SATA电源,终端上显示:(我拔下SATA电源时并没有显示Rstox20M,显示的还是F3T>)
Rst0x20M
接下来,我们不用做任何事,耐心计数等待10秒左右后(有网友建议最好等待数分钟),再插上SATA电源,将完成硬盘的重启!然后,在终端上,我们再次CTRL+Z,进入硬盘调试模式,终端显示:(我还是显示的是F3T>)
ASCII Diagmode
来到最后一步了,这个将帮你重建硬盘的索引区到固件内,以下的指令请仔细对照后,方按下回车执行。否则将可能导致数据丢失:
F3 T>m0,2,2,,,,,22
输入以上指令后,不用担心,如果没有问题,这个指令执行可能需要15~30秒钟左右(有网友反馈此命令运行超过十分钟,请大家耐心等待),终端将出现下列内容:
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level =14, Max Certify Rewrite Retries = 00C8
User Partition Format 10% complete, Zone 00, Pass 00, LBA00004339, ErrCode 00000080, Elapsed Time 0 mins 05 secs
User Partition Format Successful - Elapsed Time 0 mins 05secs
大功告成!!!