欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

迈拓硬盘903400D2的维修思路

程序员文章站 2022-04-05 17:22:17
迈拓硬盘903400D2的维修思路  迈拓硬盘型号为:903400D2。故障现象为用任何分区软件都不可以分区,任何低格软件都不可以低格,用MHDD检测显示全部的“S”,用任何检测软件检测为“IDNF”错误。  这个硬盘型... 10-09-08...

  迈拓硬盘型号为: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表,这样硬盘就算是修好了!

  站长注:本文为网络收集,作者未知,如作者看到或者有知情者,请发布评论注明姓名,我们将予以添加。谢谢支持。