西部数据Western Digital 4F ROM模块恢复模式
朋友们,大家好!大家都知道,PC-3000 可以通过外部(在单独的芯片中)和内部(在 MCU 中)ROM 从旧的 Western Digital Marvell 驱动器中恢复 ROM。然而,从较新的系列(如HubbleLT,FBLite或Shrek)恢复ROM是一个问题,因为它们的特殊ROM结构包括4F ROM模块中的一些独特信息。
在本文中,我们将讨论如何使用新的PC-3000 v7.3功能从服务区恢复此类驱动器的ROM,即ROM模块4F恢复。
我们有一个 Western Digital 驱动器,PCB 损坏(烧毁)。当然,ROM芯片也被烧毁了,无法从中读取任何数据。
带有捐赠者 ROM 的捐赠者 PCB 已连接到我们的驱动器,然后我们将驱动器连接到 PC-3000 便携式。驱动器长时间保持忙碌,这与读头能力有关,因为ROM不是原装的,有错误的磁头自适应参数和其他参数。然后驱动器终于准备就绪。
在驱动器ID中,我们可以看到错误的型号和容量。这是因为供体ROM取自完全不同的型号,具有不同的容量和固件版本驱动器。此外,ROM中的Dir地址也不同,因此ROM在这些系列中非常独特。
在日志中,我们还可以看到叠加层和配置数据尚未从表面上传。这意味着磁头现在无法从驱动器读取任何服务信息。
但为什么脑袋不读书呢?众所周知,ROM 包含许多不同的参数,其中之一是头部自适应:描述头部滑块位置以及与盘片物理读数相关的其他值的特殊参数。
这些独特的磁头自适应参数存储在ROM中,或者更确切地说,存储在ROM模块4F中。让我们在 PC-3000 资源查看器中打开此模块:
当 4F 打开时,我们可以使用一个名为 Mdl 4F data 的特殊插件:
在打开的窗口中,我们看到两个轴 X 和 Y 的一些偏移量,用于此 ROM 中描述的两个磁头。对于每个驱动器,这些偏移量非常独特:
因此,如果我们想让磁头在我们的驱动器中读取,我们必须找到这些偏移量并将它们写入供体 ROM。
在此步骤中,我们将运行PC-3000中的新功能,使用ROM->ROM模块4F恢复:
此选项基于 Western Digital ARC 测试。它允许使用不同的读取参数读取表面,以尝试找到最佳参数。
默认情况下,我们可以保留这些设置,从 -1 Cylinder 开始搜索。
我们还需要选择兼容的捐赠者资源,因为此功能需要加载器上传到 RAM。为此,建议使用捐赠者ROM备份文件夹。
一旦我们按下 OK 按钮,该过程就会开始。
该过程并不快,可能需要 25 到 40 分钟,有时甚至更长,搜索时间取决于头部读取能力和表面状况。此外,实用程序需要时间来查找具有所请求参数的扇区。
在开始后不久,我们可以看到开始偏移量,搜索开始的地方:
在这个阶段,我们可以在日志中看到磁盘DAM错误,这意味着当前参数不够好,实用程序尝试调整其他参数。
最后在日志中我们看到该过程已完成,新的 4F 模块已保存在配置文件文件夹中,并已写入当前 ROM:
如果我们现在在ROM中刷新模块4F,我们会看到它已经改变了,ROM固件版本不同,取自表面的出厂值:
此外,我们还可以在 4F 插件中看到正确的值:
在下一步中,我们重新打开驱动器的电源,并再次从捐赠者备份文件夹上传加载程序。
接下来,我们转到使用ROM->从SA数据构建ROM选项:
但是从这里开始,我们将尝试不是从服务区模块构建新的ROM,而是从隐藏的(未翻译的)服务区构建新的ROM。选择“从 HDD SA 读取”,然后仅选择 ROM 模块:
在下一个选项卡中,我们将看到隐藏区域中的所有模块都已成功上传:
但是在我们开始新的ROM构建之前,我们必须为新的ROM找到一个基础。原始模块 109 对此很有帮助,因此我们转到 Tools->Utility Extensions->Modules Search in SA 菜单:
使用活动的“搜索嵌套模块”复选框执行搜索:
搜索结束后,我们在列表中选择模块 109,打开它并另存为109.bin在我们的配置文件文件夹中:
然后返回模块搜索选项卡并选择已保存的109.bin:
现在我们必须仅选中代码部分复选框:
之后,我们按下“构建 ROM”按钮来创建新的 ROM:
并将其保存到配置文件文件夹中的新文件中。
在最后一步,我们将新创建的ROM写入驱动器:
一旦 ROM 被重写,我们就可以重新打开驱动器电源并刷新驱动器 ID,并检查 LBA 访问:
以下是整个过程的视频: