迈拓硬盘903400D2的维修思路
迈拓硬盘型号为:903400d2。故障现象为用任何分区软件都不可以分区,任何低格软件都不可以低格,用mhdd检测显示全部的“s”,用任何检测软件检测为“idnf”错误。
这个硬盘型号在3k里是不支持的,我用pcmx_dsp.exe的模块勉强可以进入,但很多的选项不可以使用。幸运的是尽管有提示出错的信息但还是可以对固件区进行读写。
用3k将好盘和坏盘的mod和ram进行备份,有错误的提示信息忽略,ldr根本无法备份。
对备份的mod进行比较分析,发现很多的模块都是0字节,有容量的模块内容也大多数为0。
没有找到什么线索就只有对ram文件进行比较分析。因为ram中包含dsp的可执行程序,所以一定可以找到线索。
果然不出我所料,终于发现了可疑之处!在下面的地方:
好盘:
0008af0 | 5441505f4c4f30200200d7f16500be55 | tap_lo0 ....e..u
坏盘:
0008af0 | 5f55494c545333300200250000000000 | _uilts30..%.....
看到这个地方似乎有些眼熟,好像见过,到mod里查找,很快就在 01b3000a.rpm找到了痕迹。
0000000 | 5441505f4c4f30200200d7f16500be55 | tap_lo0 ....e..u
比较ram里地址0008af0到0009ed0和01b3000a.rpm模块中数据一模一样。看来是这个文件在ram里有整个文件的备份。
比较坏盘的01b3000a.rpm模块中的数据竟然不相同。
0000000 | 4f4e475f494c5453000000006500d556 | ong_ilts....e..v
哈哈。。。看来我找到出问题的地方。
这个文件是做什么用的?有经验的朋友一眼就看出来是记录用户级的缺陷表的文件。
查看坏盘的文件头信息是什么:no_glits.难道是作了不可用的标记?
既然找到了问题就好做了,把好盘的01b3000a.rpm文件刷到坏盘或者清空坏盘的g-list表,问题就解决了!
我想通过手动更改这个表,但没有成功,可能是效验的问题。这个盘就是因为g列表满,造成内部检测机制超出检测范围的值,而使硬盘不可使用。
至于smart和硬盘的重定向的问题我会在以后多跟大家讨论,也请有关这个方面心得如各种型号硬盘的检测机制、smart程序如何在ata指令中的调用的朋友多发表意见,共同讨论。
这个盘在清空g表后,要对全盘扫描,清空smart表,这样硬盘就算是修好了!
站长注:本文为网络收集,作者未知,如作者看到或者有知情者,请发布评论注明姓名,我们将予以添加。谢谢支持。