本帖最后由 JDCTS5 于 2024-8-15 16:05 编辑
适用于HDD的PC-3000。在WD Marvell硬盘上使用5.X版本的内部ROM,根据服务区(SA)数据建立ROM镜像 该方法可用于恢复原始ROM映像,然后在原始PCB损坏、丢失或原始ROM丢失时将其写入配件PCB。
在PC-30006.0软件版本中,对“建立服务区(SA)数据的ROM映像”工具进行全面修订,因此该过程与5.X版本不同。
我们还有另一篇关于PC-3000 v6.X的过程的文章,可以在论坛中找到。 该程序允许恢复原始ROM和所有ROM模块的完整映像。
该程序适用于几乎所有带内部(集成到处理器中)ROM的WD Marvell结构驱动器,该ROM具有服务区(SA)模块102、103、105、107和109。一些固件具有服务区(SA)模块109,该模块不包含必要的数据——ROM映像。如果我们在HEX-editor中打开这样的109模块,我们会看到它被零填充。在这种情况下,实用程序无法构建映像,并出现错误。
此过程不适用于带有外部ROM IC(U12)的驱动器以及经典WD Caviar结构的驱动器(非Marvell)。
为了执行该程序,服务区(SA)和至少一个系统磁头应为正常的。
模块102、103、105、107和109是执行该过程所必需的。
在这个例子中,我们恢复了WD1600AAJS-60PSA0(Sequoia家族)驱动器但没有使用原始PCB。驱动器已就绪,但无法访问服务区(SA),也无法访问其用户区域。
配件PCB与原始PCB相似(编号为2061-70144)
步骤如下: 请特别注意,此过程仅适用于带有内部ROM的驱动器(PCB上没有U12 ROM IC)
让我们给驱动器通电
等待它准备好(DRD+DSC)。主轴电机现在应该旋转了。
如果电机没有开始旋转,驱动器没有准备好(总是处于BSY或ERR中),这意味着PCB或ROM版本有问题,完全不兼容。您可以尝试通过BootCode写入不同的ROM或尝试其他PCB。
现在我们可以启动WD Marvell实用程序了。
按“自动检测”按钮可检测家族。 并检查是否正确的检测到驱动器家族。推荐在内核模式下操作这一步。
现在我们可以看到PCB初始化正确。但HDD ID不可用。因此无法访问服务区(SA)。
因此,我们尝试从表面手动加载DIR和永久覆盖。
确保选中“从HDD SA加载”和“上传LDR”选项,然后按“确定”。
我们可以看到驱动器无法从表面读取覆盖和DIR。
因此,我们从文件中手动加载从配件驱动器(从PCB中取出)保存的覆盖层。
我们到配件驱动器模块所在的文件夹,双击模块11并选择“作为永久覆盖层”。
正如我们现在所看到的,覆盖已经加载。
驱动器用“标准”ID初始化。
因此,现在我们再次尝试从服务区(SA)加载DIR模块。
现在我们可以取消选中“上传LDR”选项,因为覆盖已经加载到RAM中。
但是驱动器仍然不能从表面读取DIR。
无法检测到服务区(SA)SPT。
读取DIR和其他模块的另一个机会是“服务区(SA)的搜索模块”。
当驱动器准备就绪时,我们按下“开始搜索”按钮。
这个过程需要很长时间,有时会获得好的结果。 但现在我们将使用另一种方式。 方法是写入另一个不同固件版本的ROM镜像。
现在我们按下停止来中断这个过程。
现在ERR指示灯亮起。
我们向驱动器发送软重置命令,使其准备就绪。
当驱动器准备就绪时,我们可以从数据库写入映像。我们的想法是找到一个与原始版本更相似的。
在这里,我们可以选择所需的固件(FW)版本。
这里我们应该记住序列号,因为在下一步,我们将从同一组写入ROM模块。
现在我们检查书写过程是否正确完成。
并在下一步之前重新给驱动器供电。
当驱动器准备就绪时,我们可以与上一步的ROM映像相同的集合中写入ROM模块。
在这里,我们选择与上一步相同的固件(FW)版本。
并检查序列号是否相同。
检查改组中的所有ROM模块,然后按OK。
在这里我们可以看到ROM模块是正确写入的。
现在我们需要重新给驱动器供电。
此外,推荐重新启动WD实用程序。
与平时一样,按自动检测,检查家族和模式。
现在,我们再次尝试从表面加载覆盖和DIR。
现在我们看到DIR已经成功加载!
因此,现在我们可以尝试通过ID读取服务区(SA)模块。
要做到这一点,我们需要在正常模式下重新启动WD实用程序。
按下检测服务区(SA)SPT按钮。
并查看它现在是否被检测到。
现在加载了原始DIR,所以让我们尝试读取其他模块。
检查是否选择了“按ID”读取中方法。
然后按下“开始测试”按钮。
正如我们所看到的,所有重要模块(A和B类)都是正常的(不是所有模块现在都在屏幕上)。
以下是我们需要重建ROM映像的模块
现在我们需要读取并保存所有模块。
选择新HDD配置文件的名称。在这个例子中,我选择“123”。
我们应该使用“ID模块读取”的方法。
保存模块后,我们可以从服务区(SA)模块开始建立ROM映像。
我们导航到保存模块的文件夹(保存模块时创建的配置文件),然后检查模块102、103、105、107和109。然后按下构建按钮。
现在ROM映像建立完成了。
所以我们可以将它们写入PCB
导航到保存模块的配置文件。在本例中,它是\123\Data\ROM\neneneba构建
然后选择ROM映像。
在这里我们可以看到映像写入是正确的
现在我们需要给驱动器重新供电
当驱动器准备就绪时,我们可以写入ROM模块。
选择全部模块,然后按OK。
现在我们看到ROM模块已经成功写入。 再次为驱动器供电。 然后重新启动WD实用程序。
按下自动检测按钮后,我们可以看到HDD ID显示,实用程序检测到正常模式。
服务区(SA)可用,HDD已完全初始化。
因此,让我们使用扇区编辑工具检查用户区域的访问。
用户区域完全可用,因此现在我们可以复制用户数据。
|