WD常见的问题就是FW模块丢失,但是FW模块丢失的同时往往伴随着SA缺陷的产生,因为PC3000并不支持WD SA缺陷的隐藏。所以用常规的办法是没有办法修复的。幸好我们经过多时的探索终于找到了手动偏移SA的办法 首先检查FW模块文件,有丢失的做好记录。记录好该模块在负道上的位置,如:-8 29# 检查完了模块后 接下来要做的就是扫描SA 从-20到-1之间。也可以采用默认的-32到-1(可用的范围更加广些)。等扫描完了如果SA有缺陷也做好记录。(有的硬盘最大为-20。请注意。) 你就会发现往往模块文件坏的同时,其所在的负道也一起坏掉。如果你单纯的只是把丢失的模块重新刷一遍的话。那么基本上是不会成功的。重新检查FW问题依然。 现在我们要做的就是做SA的缺陷偏移。意思很明确就是要把丢失的模块写到SA没缺陷的地方去。如:29 2D模块的默认位置为-8。怎么来更改其在负道上的逻辑地址呢。 原来在WD的模块文件中DIR文件,也就是MOD文件夹里面的DIR文件(在HRT里是41文件)起到定位FW模块的作用。首先就是把硬盘里面的DIR备份下来。用16进值软件(推荐WINHEX)打开 你就会看见各个模块的地址,扇区,长度。。。。。如:29(模块号码)08 00 (所在的负道-8)00 19 01(所在扇区) 1A 00(文件长度) 现在我们就来具体修改模块的位置 如:29模块坏。我们直接就修改08 就可以了。改到什么地方呢,没有硬性的规定(通常我们只需要修改负道值就可以,像扇区,长度建议最好不要随便修改),请大家记住的要点有3: 1,要在负道的范围内(最大不能超过-32) 2,修改到必须没有缺陷的负道 3,不能和其他模块重叠,其他模块占用的地方不能定义过去。 其实WD 模块文件所在的位置一般都是-1到-8之间(用WINHEX可以证明这点。在3000里面也看的见)。-9到-32都是空白的磁道(不排除有特殊的情况)。所以你修改的范围比较大。应该说成功率也是比较高的。还有就是修改的时候前面不要加“-”1位数就用0X 如:09 2位数就直接输入 如:11 。 修改完毕后保存文件。进入3000 将DIR文件重新刷入硬盘,注意:只刷DIR文件。刷完了之后把损坏的模块文件刷进去。 断电,重新检查FW。恭喜你:你成功了!!!
二经验wd的砍头
关于wd的砍头,主要操作在rom里面。也就是更改磁头映射(head map)和sa的关系不太大。所以切记把rom文 件备份出来,否则哭都来不及了。(wd的rom可是型号很多的)可以在wd模块中,也可以在pc-prog里面(这里 面可是俄文的哟。)
1、备份完成后,把硬盘跳安全模式,(::│││)进入模块后,选择safe mode 。然后在进入Work with ROM
这是出现4个菜单。
Viewing ROM information
Changing heads map in ROM (不支持wd的Spartan系列.)
Reading ROM
Writing ROM (只能在使用并行flash的硬盘上使用.)
第一个选项Viewing ROM information可以显示此款bios的一些信息。下面以400bb的为例看一下:
Copyright 2001 WDC
ROM version : 06.40 G
ROM revision : 33
Links table version : 04.27
Supported models
WDC WD200BB
WDC WD400BB
WDC WD600BB
WDC WD800BB
WDC WD1000BB
WDC WD1200BB
Heads assignment data
Heads assignment : default
具体含义请参照wd说明书。(个人看法,前面3个参数,和固件匹配有关。)
注意最后一行,磁头参数:默认 下面我们就是要修改这个地方。
2、第二项Changing heads map in ROM(更改rom中的磁头映射)
进入此项,第一个是By default(就是上面看到的)按空格键切换到 by map ,下面的几行变为可选。
第二个是设置磁头总数。可以设置6个(最大值),也可以根据具体数目设置。
第三个是设置活动磁头的总数。当然是需要留下的磁头的数目了。
下面六个就是每个磁头的选项了默认是停止使用。可以切换成使用。注意,这里更改错误很有可能造成敲盘,这是寻找本来不存在的磁头,不过没有关系,重新更改就行了。
配置完毕后,回车,这是出现两个选项,一个是写入文件,存储为.bin文件,另一个是写入flash。
具体选择哪个,还要看盘的flash型号。如果是可写的,比如29,49系列的,就选择写入flash。如果是不可写的,如27系列,那就选择存储为bin文件。
3、选择第一个的情况,还得把不可写的27换为可写的29或者49一类的flash。这个在后面有详细说明。这里主 要说明一下第二种情况。选择第二种情况后,还会出现两个选择,loader - module 61h和an external *.lmc module,这里如果有备份的固件wd**mod文件夹,就是~id61.rpm ,如果没有,可以复制相同系列的固件里面的 ~id61.rpm更名为.lmc(必须位于pc3000文件夹下)作为引导文件。然后写入就可以了。
有些硬盘写入后,可以看到型号会改变,但是lba值不变或者其他的一些现象,这时,可以在标准模式下, 打开
Drive description,然后尝试着更改里面的set MODEL FROM ROM 改为yes或者切换为no。
本文书写仓卒,如果有错误,请指出。另外感谢lbpcwd老哥的支持。。。
三,编程器和风台的使用
2005年了修硬盘的工具现在已经不是PC3000,HRT等常规工具了
现在的硬盘要想修好它们,不得不动用手中的其他工具了
一是WINHEX,16进制编辑器 (网络上有下载)
二是热风台。把BIOS芯片吹下来也就是ROM,
三是编程器,把BIOS里的程序读出来,再写进去
要想砍WD的头的话首先要搞清楚你的硬盘主板上的BIOS是什么型号的
拆下电路板,看WD电路板正面写左上角的那个40腿的小芯片就是了
如果上面写的字开头是 29,28,39,49的就可以恭喜你了,那是不用拆的,是可以在PC3000里直接修改的,如:M29F102BB就可以直接修改
如果是27开头的,那么你就必须要焊下来了
方法是使用热风台,修硬盘电路板的朋友可能都会用,这个东西很好的,可以拆
换5247,43434等芯片。
然后你要做的就先把27的芯片吹下来,
然后把它通过适配器放到编程器上,先做个备份(编程器的使用方法很简单,请自己查阅资料)相关网:
[url=http://www.rebios.net]http://www.rebios.net[/url] [url=http://www.bios007.com]http://www.bios007.com[/url]
然后把一个29的芯片通过适配器放到编程器上,然后写入刚才备份的数据。
写好后这个29的芯片和刚才那27的就一模一样了
接下来,就是把这个29的吹到电路板上了,最好放一些松香。然后用电烙铁补焊一下每个腿,确保连通电路。出学者可能要练习多次,但是老手看来是很容易办的。腿比较细希望大家多加练习自己的基本焊接。
还有就是砍掉0头的修复了,砍掉0头可能要引起敲盘,这样在PC3000下无法通过自我检测,一直显示BSY。只有通过拆焊来修复了,前提是要备份原先的ROM信息,这个很重要刷写回原来的程序就可以不敲了
编程器是很有用的东西。如ST的BIOS坏了,也可以找个同样的BIOS文件写进去修复。
此外是WINHEX的用法了,编程器读出来的东西都是16进制的。固件模块的信息可以用
WINHEX查看。这也是以后固件研究的方向了