WD一般修盘流程

本文档来源于MRT固件实验室

更多信息请访问我们的网站 http://www.mrtlab.com

 

大家好,今天我们来看看WD盘的一般修盘流程。

       可以看到,现在连接的这快盘状态是错误的。

       我们现在进入程序看看,发现设备识别失败,也就是通常所说的“不认盘”

       先直接进入普通模式看看是什么症状。我们发现以下问题:

       1. 硬盘信息框中信息显示不全了,可以说是没有

       2. Zone allocation table,读取失败

       3. 配置模块读取失败(02模块)

       通常情况下,模块目录应该也是读取失败的。

      

       我们来分析一下:

       一般来说,根据第12点,我们就可以判断,11模块(主要的微代码模块)没有启动为了应对这种情况,程序中,有一个“加载LDR”的功能,它在2个地方

可以启动。

       我们来看看,可以看到,家族选择框,与主界面2个地方提供了此功能,我们来试试看。

       额,完了,这里有几套固件,有些用户甚至有更多的固件,那么我们该如何去选择相匹配的11进行加载呢?

       我们先操作看看,进入普通模式,可以看到ROM版本:21.7SM,启动流程中有些日志,这些日志中发现有一条“ROM Firmware version”:0021007S。一般来说,我们需要打开11模块,查看一下11模块的版本信息,是否和以上2个信息相同或者相近。如Winhex中打开的,西数盘(三角板),每个模块的版本信息都是从第二排开始的8个字节。

当然,这需要每排是F个字节才行。为了方便,我们程序中,将每个盘的ROM版本信息放在固件目录的末尾,刚刚有心的人可能已经发现了。可以发现,在末尾会有这样的信息。

 

       我们来加载试试,加载LDR成功,软件会有提示。不过有时候,加载后,主界面左上角的硬盘信息栏里并没有出现像现在这样的信息。那种情况代表着加载的LDR没有生效。可以重新试试其它11模块。

       这里,我们加载了LDR,但是启动流程中“Zone allocation table”,怎么还会有错?我们再来看看。

实际上,加载了LDR,左上角看起来也有信息,不过,11模块还是没启动,这是一种特殊情况。

判断是否启动,可以在静态模块里读取(实际是读取的内存)看看能否读取成功。也可以看看,容量,我们看到,这里的容量(它实际是最大LBA)只有1,这其实也是没有启动的症状。

那么,加载LDR还是不行,该怎么办呢?

       我们继续看看。我再次试了一下加载LDR,还是不行。有时候,可能是ROM并不与盘匹配,我们显示的ROM版本自然有错,某些情况,可以在试试其它与之相近版本的11模块。这里我们就不做此事了。

此时,我们可以试试,我们的诊断模式了。关于诊断模式的详细使用讲解,之前已经在另一视频中说过了,此处就不再啰嗦。

       可以看到,经过诊断模式的处理,进入后,左上角的硬盘信息栏中也有信息了,并且容量并不等于1。我们打开模块列表,可以发现之前许多不能读取的模块现在也能够读取了,这是我们最乐于见到的情况。

 

       我做了一个读写测试,这表明了磁道方式读写都正常。有时候,我们主要是为了测试磁头的好坏,那么就可以把测试长度填到最大。我们可以观察,如果以最大长度测试,在日志中全部的扇区地址都报错了,那么很可能是磁头坏了,或者,某个磁头,能读不能写,或者能写不能读,但其它磁头正常,那么有报错的那个磁头也可能是坏了。或者某个磁头只要写哪个扇区,那个扇区就坏了,数据读不出来了,那么也可以判断大概是磁头

有问题。、

       可以看到,磁头1,写数据OK,但是读数据的时候,有2个扇区报错,这相对于840来说,是一个很小的数字。此时,我们可以认为,这并不是磁头坏了,而是这里有坏扇区,坏块,或者说坏道。

       为了确认磁道方式能够正确的读写,我刚刚用读写磁道的方式,再次进行一次测试,其实和那个磁头测试做的一样的操作,只是亲眼看到数据变化显得比较可靠。

 

       那么,能够正常读写固件了,接下来该做什么呢?

       一般来说,主要是做2个测试。

       1. 硬件模块检测

       2. SA模块结构检测

       曾有客户问到:这2种检测有何区别,这里简要作答一下:

       硬件模块检测,是由硬盘自己的微代码程序所进行的一种测试。

       SA模块结构检测,是有Mrt程序读取模块,然后检测模块的头部数据是否损坏,从而大体判断此模块是否是正确的。

       相对来说,硬件模块检测比SA模块结构检测更要严格一些,毕竟,硬盘自己最清楚自己是吧。就像人一样,谁身上哪里不舒服,只有他自己知道的最清楚。

       下面我们来做一下测试看看。

       可以看到,02有错误,11,COPY0是好的,copy1是坏的.实际情况中, 一个模块只要有一个备份是好的,那么它就可以正常工作。那么11为何没有启动?肯定是有其它模块导致它没有启动,根据经验,一般是020304等模块有问题,也会导致11不启动。

       我们在看看所说的那几个模块。020304都有个备份是好的,按理说,它们都应该正常工作啊。

有些情况是隐藏的很深,这个时候就是对我们技术的考验了。其实,这个地方之所以出现这种症状,还是我把03弄坏的。

之前本来准备直接把11弄坏来做这视频的,结果发现它太简单,代表性也不广泛。还有一些长出现的情况导致11不能启动。

那就是02030411等任何一个模块所在区域恰好有坏扇区。导致它们数据错误。甚至有时候做远程时,还发现01模块

有坏扇区的情况。

       针对这种坏扇区的情况,我们程序做了一个模块偏移的功能,我们只要在模块列表中点击右键,就可以看到此功能的菜单开关。可以观察到,如果您想偏移哪个模块,就在哪个条目上点击右键打开此功能就行。注意01模块可不是随便可以进行

偏移的。某些功能的讲解,我们留到以后。

       现在,先把今天这个完结吧。

       把之前备份的03写进去,发现盘好了。

      

       本节主要讲解的是修盘的大概流程。其中也掺杂了一些Mrt西数模块常用功能的讲解。至于其它功能,我们下次再见。

 

要访问更多资料,请点击http://info.mrtlab.com