迈拓硬盘型号为: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表,这样硬盘就算是修好了!
脚本之家站长注:本文为网络收集,作者未知,如作者看到或者有知情者,请发布评论注明姓名,我们将予以添加。谢谢支持。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)