外地客户如不方便将要进行数据恢复的储存设备(如硬盘,U盘等)送到我们数据恢复中心,可以通过快递至我数据恢复中心。

希捷F3系列B级批处理指令详解

希捷F3系列硬盘在启动一个指令后,会自动的跑一些测试过程,在此期间硬盘终端界面会显示出大量的信息,并不断的刷新。这个过程被大家称为 “B级自修复流程”。那么,所谓的B级自测试指令怎么使用呢,它主要是用来做什么用途呢?为此,MRT固件实验室制作了一个文档,详解B级自测试指令和其 使用方法。

大家以前用过 DOS 操作系统的可能知道有一种 BAT 批处理文件,用户可以事先定义好一些 DOS 命令,然后一起执行。DOS 下的批处理文件功能强大,不但可以批量执行命令,还定义了循环和条件判断语句,可以分条件执行和循环执行某一部分。实际上,在希捷 F3 系列硬盘的终端模式中也支持类似的批处理机制。这就是希捷F3的批处理系列指令。在硬盘数据恢复过程中有时我们使用此方法可以事办功倍,下面我们来了解下希捷F3终端系统中所有与批处理有关的指令:

第一个指令是6级下的“D” ,它用来显示出当前硬盘中存储的批处理文件的内容。每个批处理文件有一个编号,从十六进制的0x0到 0xFF,可以看出最多可以定义256个批处理文件。D命令有一个参数,就是要显示的文件编号。这就需要事先知道批处理的文件编号。D命令格式如下:

查看批处理文件内容     D[文件编号]

值得一提的是,希捷硬盘在出厂之前,工厂会预先定义一些批处理文件存储在硬盘中,所以每个硬盘都有一些工厂预定义的批处理文件。比如已知有一个编号为十六进制 0x16 的批处理文件是工厂预定义的,那么我们要查看它的内容的话,只需要在 6 级下面输入 D16,回车,然后批处理文件内容就会显示出来,下图是在 MRT 希捷程序终端窗口中的演示:

希捷F3系列B级批处理指令详解 1

可以看到编号为 12 的批处理文件一共有从 0x00——0x12 共 0x13 行,也就是 10 进制的 19 行,每一行都是
一个普通的终端指令。比如第0x4行的“/1” ,就相当于进入1级模式。
现在我们能查看一个已有的批处理文件了,那么,我们怎么建立一个自己的批处理文件呢?这需要用到6级
下的E 指令,格式如下:

输入批处理文件   E[文件编号]

这里要注意的是,由于工厂预定义的批处理文件已经占据了一些文件编号,所以用户自定义的批处理文件编
号范围只能是0——2。我们输入E,然后回车,这时候终端的命令提示符就会进入编辑状态,这时候我们可以输
入想要定义的批处理命令,每个命令末尾用一个回车来换行。当我们输入完所有的批处理命令后,怎么退出编辑
状态呢,也很简单,只需要输入一个管道符号“|”就可以了,也就是 Shift+“\” ,出来的就是符号“|” ,这样就退出了批处理编辑状态,硬盘会进行批处理语法检查,如果没有问题,会自动保存这个批处理文件。如果批处理
有语法错误,硬盘会给出出错提示。我们在MRT 的终端下演示下建立自己的批处理文件:

希捷F3系列B级批处理指令详解 2

上面建立的批处理文件, 先进入2级, 然后执行x指令查看段位表, 然后进入1级, 执行N1指令清除SMART
最后输入管道符号“|” ,退出编辑状态。硬盘显示出一段提示,然后回到命令提示符“F3 6>”下面。这里要注意,
用户自定义的批处理,断电后就会丢失的,所以硬盘会提示,用户自定义的批处理只能在不断电的状态下执行。
我们已经建立了自定义的批处理文件,现在怎么来执行它呢?这要使用6级下的B 指令。

执行批处理文件     B[文件编号],[执行选项]

第一个参数是要执行的批处理文件编号,第二个参数是一个位掩码,用来控制执行的细节,有如下可选的掩
码位:
0x08    失败时继续。
0x04    执行所有批处理
0x02    单步执行
0x01    执行时把批处理文件的内容显示出来

比如,我们要执行所有的批处理文件,就输入F3 6>B,4
这个指令会逐个执行所有的批处理文件,执行完一个文件后,会继续执行下一个文件,直到所有被定义的批
处理文件都被执行完。由于厂家出厂时预定义了很多批处理文件,所以全部执行完需要很长时间。
如果我们只想执行指定编号的批处理文件,那么就在第一个参数填上编号就行了。比如,在前面我们建立了一个编号为0x02的自定义批处理文件,那么,我们要执行它的话,输入  F3 6>B2  就可以了。下面是操作演示:

希捷F3系列B级批处理指令详解 3

我们看到,输入B2并回车后,终端显示Executing Batch File 02
然后就开始执行我们之前定义的批处理命令了。

如果要执行工厂预定义的批处理怎么办呢?工厂预定义的批处理都是从编号 0x10 开始的,也就是说我们输
入类似这样的指令:
F3 6>B10
F3 6>B11
F3 6>B12
就可以逐个执行工厂预定义的批处理。

以上就是批处理命令的常见用法。有时候,我们会看到工厂预定义批处理的内容里面含有一些逻辑判断和循
环控制标记,这就是批处理的高级功能。以下简单做一个介绍:

希捷F3系列B级批处理指令详解 4

上面的批处理内容中,第 9 行有一个“@”符号,这是用来标记行号的, “@”后面跟一个数字,这个数字
就是标签号,然后就可以用跳转指令跳转到这个行。主要用于批处理中需要分情况执行(分支执行)的地方。

那么像跳转啊,循环啊这些指令怎么表示呢?希捷里使用星号“*”来表示一个高级批处理功能。星号后面
跟一组参数,不同的参数就可以表示不同的操作。
星号指令只能出现在批处理文件中,它的格式是:

*[功能号],[参数1],[参数2],[参数3]

其中参数1、参数2的作用是由功能号决定的。
功能号有如下可选值:
0 –  无操作
1 –  暂停批处理执行,然后让用户按任意键继续
2 –  延时由参数1 指定的毫秒数。比如 *2,3000  就是延时3000毫秒
3 –  跳转指令,跳转到由参数1指定的标签处运行。
4 –  条件跳转指令。增加首地址,如果增加后没有环回,就跳转到参数1 指定的地方执行。
5 –  清屏幕。就类似DOS下的CLS 指令一样。
6 –  如果发生错误就停止执行
7 –  设置从参数2 到参数1 为循环次数
8 –  递减参数2指定的循环计数器,如果循环计数器不等于0,就跳转到参数1指定的地址执行。
9 –  清除执行错误信息
A – 用参数1指定的错误码更新批处理错误信息标记。最小计数由参数2 指定,最大计数由参数3 指定。
B – 显示活动错误日志并与批处理错误信息标记比较,以确定批处理是否失败。

在批处理中插入星号指令就可以让批处理执行循环,跳转,条件判断等高级用途。
最后还有一点,在批处理文件的执行过程中,如果想停止它的执行,只需要按下ESC 键就可以了。 最后列出一些指令使用示例:
执行所有批处理:  F3 6>B,4
执行 0x10号批处理:   F3 6>B10
显示 0x10号批处理内容:   F3 6>D10
创建用户自定义批处理,编号为0x2 :  F3 6>E2

本文系转载,如有侵犯版权问题,请通知。我们立即删除。

转载请注明:成都千喜数据恢复中心 » 希捷F3系列B级批处理指令详解

喜欢 (5)or分享 (0)

您必须 登录 才能发表评论!