::香农::青岛数据恢复中心::

专业硬盘检测工具MHDD中文手册说明 - 使用MHDD

文章首页
专业硬盘检测工具MHDD中文手册说明
关于MHDD项目
如何工作
系统平台和支持的硬件
获取MHDD
准备使用
MHDD软件包内容
第一次运行:一些重要的信息
使用MHDD
全部页面

使用 MHDD

获取磁盘驱动器信息。

IDEID 指令显示磁盘驱动器的详细信息。
见 ATA/ATAPI standard

IDshift[F2]

 Maxtor 5T030H3  LBA: 60,030,432 BIOS: 80H
 SN: T3D3N8WC  FW: TAH71DP0 CACHE:512KN  Size = 8063MB

EID

 Supports: HPA DLMC LBA MS16 DMA (UDMA2,MWDMA2) EID
 SMART: Enabled EID
 Size=8063MB

PORTshift[F3] 检测磁盘驱动器并显示 磁盘选择菜单。

CX 测试读取时间

 Init drive: Done
 Seel&Read test
 Press <>ESC> to finish...
 Start: hh:mm:ss
 Average Access Time:
 16.87 
This is continueously averaged and updated until you press [ESC].
 Maximun: 35.03
 Done: hh:mm:ss

SMART 属性

SMART ATT[F8]

不同的厂商以及不同的型号提供的信息是不同的。

  • #5 重分配扇区数量(Reallocated Sectors Count) 这是最重要的一项。这个参数显示了硬盘重新分配的扇区数量。 好硬盘数值应该为 0 。如果大于50 —— 你的硬盘就存在问题,可能是由于电源不好,硬盘受到震动或过热。
  • #194 温度(Temperature) 最佳值是 20 到 40 之间。
  • #199 CRC 错误率 这个数值的含义是,在IDE/SATA数据电缆传输数据时发生的错误,好硬盘应该为 0 。

如果不更换数据线,这项数值会越来越大。请参看 ATA/ATAPI standard (PDF) 来理解 SMART ATT 指令显示的信息的含 义。型号不同的磁盘,属性可能是不同的。

 HDD: Maxtor 5T030H3; FW: TAH71DP0; SN: T3D3N8WC
             Name                        Val Worst Raw
 Att #   1 : Read error rate           : 253  252  94
 Att #   3 : Spin up time              : 210  208  16970
 Att #   4 : Number of spin-up times   : 240  240  27451  
 Att #   5 : Reallocated sectors count : 253  253  0  
 Att #   6 : Read channel margin       : 253  253  0  
 Att #   7 : Seek error rate           : 253  252  0  
 Att #   8 : Seek time performance     : 252  245  53387  
 Att #   9 : Power-on time             : 216  216  64096  
 Att #  10 : Spin-up retries           : 253  252  0  
 Att #  11 : Calibration retries       : 253  252  0  
 Att #  12 : Start/stop count          : 252  252  432  
 Att # 187 : Unknown                   :  35   46  35  
 Att # 189 : Unknown                   :  35   46  35  
 Att # 190 : Unknown                   :  35   46  35  
 Att # 194 : HDA Temperature           :  35   46  35  
 Att # 196 : Reallocate event count    : 253  253  0  
 Att # 197 : Current pending sectors   : 253  253  0  
 Att # 198 : Offline scan UNC sectors  : 253  253  0  
 Att # 199 : Ultra ATA CRC Error Rate  : 199  199  0  
 Att # 200 : Write error rate          : 253  252  0  
 Att # 201 : Unknown                   : 253  172  794 
 Att # 202 : Unknown                   : 100  253  0

SMART 指令

SMART off | on

SMART AAS enable | disable 自动保存属性

SMART DATA 读取数据
如果在50秒之内没有显示,那么硬盘可能会失去响应。
如果指令超时 MHDD 不会显示 出错提示。

MHDD指令:S.M.A.R.T.  指令

SMART ErLog 将出错日志导出到文件(可能会花费1-2分钟)
在MHDD 查询SMART日志时 ERRABRT 指示 灯会闪亮。

MHDD指令:S.M.A.R.T.  错误日志

这里是有坏扇区时的 错误日志 示例文件。

SMART TEST 执行内部测试

 -=- -=- SMART Execut OFF-Line immediate (tests) -=- -=-
 ------------------------------------------------------------
 0   Execute SMART off-line routine (off-line)
 1   Execute SMART Short self-test routine (off-line)
 2   Execute SMART Ext.  self-test routine (off-line)
 3   Execute SMART Conveyance s.t. routine (off-line)
 4   Execute SMART Selective s.t. routine (off-line)
 5-63 Reserved
 64-126 Vendor specific
 127 Abort off-line mode self-test routine
 128 Reserved
 129 Execute SMART Short self-test routine (captive)
 130 Execute SMART Ext.  self-test routine (captive)
 131 Execute SMART Conveyance s.t. routine (captive)
 132 Execute SMART Selective s.t. routine (captive)
 133-191 Reserved
 192-255 vendor specific
 ------------------------------------------------------
 Select a test (0-255, blank or any symbol for cancel):
 Starting routine n, press "Y" to process: 

captive 一直等待测试完成
off-line 立即返回MHDD控制,但是测试由硬盘继续运行。在这种 情况下可以切换到其它硬盘,同时启动多个硬盘的off-line测试。用 SMART DATA 指令查看 off-line 测试的状态。

按下 Y 后, BUSY 指示灯在测试完成之前会一直亮起。使用 SMART DATA 指令可以查看测试的剩余 % 百分比。


扫描磁盘(Scanning)

只有在使用 IDEID 指令检测到硬盘之后才能使用Scanning指令。

MAKELOG 扫描硬盘并创建日志文件。
假如使用CD光盘启动MHDD,可能RAM磁盘上没有足够的空间来容纳日志文件。

如果被扫描的硬盘容量小于10GB,只需一张软盘就可以容纳日志文件。

在硬盘上保存日志文件的方法:
(必须使用FAT分区)。

  • mkdir C:\MHDD 或者在其它分区上创建MHDD目录
  • COPY MHDD\*.* C:\MHDD 将MHDD目录下的文件从RAM磁盘(或光驱)拷贝到硬盘上
  • C:
  • CD C:\MHDD 进入MHDD目录然后启动MHDD

直接运行 SCAN[F4] 则不创建日志文件。

在下面的菜单中你可以调整 起始LBA结束LBA
开启 Remap 可以将坏扇区重新映射,如果坏扇区的数量少于100个,那么 Remap 对于硬盘上的数据是安全的 。
更改 Timeout 设置,Spindown after scan, loop test/repair 和
Erase Delays(数据将被清除)。

MHDD扫描参数设置

上面显示的是默认设置。
建议将Timeout 设置为 500。

按下 [F4] 开始扫描。
块大小为 255 个扇区 (130,560 bytes)。

扫描的工作原理:

  1. MHDD 向硬盘发出 VERIFY SECTORS 指令,然后将 BUSY 寄存器置位。
  2. MHDD 开启计时器
  3. 硬盘执行完 VERIFY 指令后,重置 BUSY 寄存器
  4. MHDD 计算指令的执行时间,并在屏幕上打印

 

MHDD扫描硬盘

硬盘寄存器显示在屏幕的顶部。

50  ERR INDX CORR DREQ DRSC WRFT DRDY  

BUSY       AMMF TONF   ABRT INDF UNCR BBK 00

IDE/SATA 硬盘会返回 DRIVE READY 和 DRIVE SEEK COMPLETE,因此 DRDYDRSC 标志位是蓝色的。
BUSY 当硬盘在执行指令时(例如读或写指令)。
当硬盘和主机之间要传 输数据时 DATA REQUEST (DREQ) 标志位点亮。
WRITE FAULT 和 TRACK 0 NOT FOUND 标志位已经废弃,因此他们永远不会被点亮。
INDEX 也已经被废弃,但是有时它们会闪亮。

如果 ERROR 标志位 (ERR) 被点亮,你可以通过检查错误寄存器来查看具体故障。在ATA/ATAPI标准中可以找到更多有关寄存器和指令的 信息。

屏幕上色块的亮度表示读取扇区花费的时间。

? TIME
VERIFY command did NOT complete
within the timeout
x UNC
data is uncorrectable.
! ABRT
command was aborted
* BBK
Bad Block
S IDNF
sector ID cannot be read or not as expected
A AMNF
Data Address Mark Not Found
0 TONF
Track 0 was not found
during drive recalibration

蓝色色块表示正在进行扇区remapping。
AVG (average) 表示平均传输速率,AVG旁边显示的是已经完成的比率。

在扫描正在进行时,
按左箭头可以向前跳过 10,000 扇区 上箭头向前跳过 250,000 扇区
下箭头向后跳过 10,000 扇区 右箭头向后跳过 250,000 扇区

扫描日志记录在 log/mhdd.log 文件中。

如果扫描后发现有一些 UNC 错误该怎么办?
先保存扫描日志!然后使用指令
smart att 

显示的结果如下: 

#5 Reallocated sectors count: 144 139 1109 this should be zero! 
#194 HDA Temperature perhaps there's an answer here! 
#195 Hardware ECC recovered 253 252 731 Watch for astronomical number 
#196 Reallocate event count 1 1 982 This looks bad! 
#197 Current pending sectors 144 139 1109 Not good either! 
#198 Offline scan UNC Sectors 1 1 11090 Looks like offline selftesting found errors too (same ones??) 
#199 Ultra ATA CRC error rate 199.198 1 THis has to be BAD! 

然后运行 

smart errlog 

这时最好保存硬盘上的文件! 

重复运行 Scan 仍然会得到形同的结果,实际上硬盘硬件(固件)早已经检查到扇区错误。

MAKELOG 在软盘上创建 advlog.bin 文件。advlog.bin 可以用来使用其它程序进行进一步的分析。advlog.bin文件可能会很大(例如:扫描 6GB的硬盘生成的日志文件为800KB)。

日志文件示例:

9A 00 00 00 hex header
VER:2
MODE: IDE
DEVICE: Maxtor 90648D3
F/W: GAS54112
S/N: A30V0VFC
SECTORS: 12,656,448
SECTOR SIZE: 512 bytes
SCAN BLOCK SIZE: 255 sectors
              address    milli seconds           
0000 0000 0000 0000 0000 0000 0000 302a 
0000 0000 0000 ff00 0000 0000 0000 694c 
0000 0000 0000 fe01 0000 0000 0000 5a1f 
0000 0000 0000 fd02 0000 0000 0000 2b1f 
0000 0000 0000 fc03 0000 0000 0000 6122 
0000 0000 0000 fb04 0000 0000 0000 8c1c 
...  
0000 0000 0000 1f1f c100 0000  0000 c80b 

0000 0000 0000 0a            

49,633 blocks of 16 bytes for a 6GB drive

使用Erase指令可以将硬盘上的数据逐扇区的清除

然后开启 REMAP 参数 运行 SCAN 指令。 
如果扫描时所有的扇区全都出错,立即停止!这种情况下硬盘的故障是由固件引起的,MHDD无能为力。
这时最好联系厂商返修硬盘或直接报废硬盘。

将扇区数据导出到文件

TOF 将扇区数据导出到文件

你可以部分扇区或整个硬盘导出到一个文件或拆分成多个文件。

ATOF (自动拆分文件) 可以创建多个文件。

MHDD 可以跳过坏扇区

将文件中的数据写到硬盘扇区

FF 将文件中的数据写到硬盘扇区。输入起始扇区和要写入的扇区数。

噪声管理

AAM 调整噪声管理设置。注意:降低噪声会减小寻址时间!

设备配置

CONFIG 查看或设置 UDMA 模式,安全机制(Security),SMART, LBA48 模式,噪声管理(AAM) 和 HPA ,等等。某些厂家使用 Device Configuration 指令更改硬盘容量。

显示所有 PCI 设备

PCISCAN 扫描 PCI 并保存到 MHDD_PCI.log 文件。例如:

 MHDD PCI SCAN LOG 

NAME-----------------------CLASS--SUBCLASS--VENDOR--DEVICE--IO PORTS---------------------
Intel                       06     00        8086    7190    0008 0000 0000 0000 0000 0000 
Intel                       06     04        8086    7191    0000 0000 0100 D0D0 FCA0 F480 
Intel                       06     01        8086    7110    0000 0000 0000 0000 0000 0000 
Intel PIIX4 EIDE Controller 01     01        8086    7111    0000 0000 0000 0000 FFA1 0000 
Intel                       0C     03        8086    7112    0000 0000 0000 0000 EF81 0000 
Intel                       06     80        8086    7113    0000 0000 0000 0000 0000 0000 
                            04     01        12EB    0001    0000 EFA1 EF69 0000 0000 0000 
VIA                         0C     00        1106    3044    F800 EC01 0000 0000 0000 0000 
                            0C     03        1045    C861    E000 0000 0000 0000 0000 0000 
PROMISE FastTrak100         01     80        105A    4D30    EFF1 EFE5 EFA9 EFE1 EE81 0000 
                            02     00        10EC    8139    E801 F700 0000 0000 0000 0000 
ATI                         03     00        1002    4C42    0000 D801 F000 0000 0000 0000 

清零扇区或整个硬盘

ERASE

如果在BIOS中可以认到硬盘,MHDD 会使用BIOS函数清零硬盘。可以附加 /DISABLEBIOS 参数来禁用BIOS函数。

运行ERASE指令后,MHDD 首先显示硬盘ID,然后调用Fast Disk Eraser程序。

Fast Disk Eraser v4.4 (LBA28/48/BIOS/ASPI) 
Type start sector to write [0]: 
Type end sector [16514063]:
tart : 1785
End  :1786
[] Continue? (y/N)

Start: 23:40:02

Sectors done: 2, 0Mbytes completed
End  :23:40:02

cmrr.ucsd.edu/people/Hughes/SecureErase.shtml 下载或者在Ultimate Boot CD上的HDDerase,可以使用硬盘内部的 SECURE ERASE 指 令一次性清零整个硬盘。这种方法是最快的清零方法但是不能中途终止。

如果在运行SECURE ERASE指令后,在它完成之前给硬盘断电,硬盘再次启动之后就会被锁住。

如果不对硬盘进行解锁,硬盘就会继续清零进程。

相关说明可以在 CMMR.UCSD.edu和ATA/ATAPI标准中找到。

修改硬盘容量

RHPA 显示硬盘出厂容量
HPA 减小硬盘容量。输入MaxLBA数,单位为sectors。
NHPA 恢复出厂容量

在使用NHPA之前要先断电再重启硬盘。
根据ATA/ATAPI标准,在硬盘运行时只能使用一次HPA指令。

--------------------------------------------------------------------------------

安全机制指令(Security)

在使用加密/解密指令之前,查看BIOS中的设置是否支持硬盘密码。如果主板不支持在硬盘启动时输入密码,那么要访问设置了密码的硬盘,就必须使用MHDD取消密码。

PWD 使用用户设置的密码锁住硬盘。根据ATA/ATAPI标准,硬盘在断电重启之后密码设置生效。

有两个指令可以解锁硬盘:UNLOCKDISPWD
UNLOCK 解锁硬盘,但是在断电重启之后硬盘仍然是被锁住的。
要清除密码,先用 UNLOCK 指令解锁硬盘,然后用 DISPWD 指令清除密码。
在使用 UNLOCKDISPWD 指令时必须输入有效的密码。
UNLOCKDISPWD 可以更改 master 或 user passwords。 例如,可以用 PWD 指令设置USER password。

Master password 由厂商设置,用来在不知道USER password的情况下解锁硬盘。


批处理

作为参考,在BATCH目录中有一个批处理文件的例子。
按下 [F5] 运行一个批处理。
注释文本以 ; 开始,注释文本在运行时不显示。
批处理文件中除注释文本以外的第一行 (非注释) 必须是主程序的版本号。
V1.1
指令:

ASK_ON/ASK_OFF 在执行指令前询问
  默认设置是 ASK_OFF
SOUND frequency, NOSOUND, BEEP seconds, ENDSND_ON / ENDSND_OFF 
HALT_ON / HALT_OFF 当有错误时是否挂起
PAUSE seconds
REPEAT n 
  重复执行下一行 n 次。
  [ESC] 可以终止循环。 
DEV_SELECT (从菜单中心选择), 
DRV-PORT p 
 (1 代表 Primary Master... 3 代表 Secondary Master, 6 代表第一个 PCI 通道)
(请查看 SHIFT+[F3] 的输出),
DRV_SCAN {startLBA | MIN } { endLBA | MAX } {0 | 1 | 2 } 
(0 是 scan, 1 是 scan and remap, 2 是 scan + Erase Delays)
DRV_WAIT 等待硬盘准备就绪
DRV_ID, DRV_RESET, DRV_STOP, 
DRV_NHPA 恢复硬盘原始容量 (Host Protected Area) 
DRV_SEEK 测试秒数
DRV_ERASE {startLBA | MIN } {endLBA | MAX } 

可以在一些含有数值参数的指令后面添加注释,例如 

DRV_SEEK 10 ; expect 13.9 ms average

使用 MAN EN BATCH 查看指令帮助
例如:

 
;version - do not change
V1.1 
;confirmations: on
ASK_ON 
;terminate batch on error
HALT_ON 
;make sound after each line
ENDSND_ON 
beep 1 ;;;;; Please select drive with SN=Y2VSJQHE
;select a drive from the displayed list
DRV_SELECT 
;ATA reset
DRV_RESET
;Seek Test for 10 seconds
DRV_SEEK 10
; scan a little
DRV_SCAN 0 200 0  
ASK_OFF
;repeat NEXT command 2 times
REPEAT 2 
;scan whole drive without repair
DRV_SCAN MIN MAX 0

;stop spindle
DRV_STOP
;announce completion
beep 10

其它 MHDD 指令

EXIT, QUIT, HELP, CLS,
WAIT 等到驱动器不再 BUSY 然后蜂鸣
SCSIINFO,
PORT shift+F3,
INIT
RST[F3]
STOP
硬盘停转 shift+F4
RX 从缓存接收数据( 仅用于程序内部调试)
RPM 计算磁盘转速
SETCDSPEED,
SWITCHMBR 即, 开关 激活 | 不激活
CLRMBR

  • 保存到LBA0.MBR文件和 LBA 1 扇区(备份)
  • erase LBA 0 扇区
  • 设置为 非激活

FDISK 将整个硬盘划分为一个分区并写入 MBR 。
SCSIFORMAT
MAKEBAD
RANDOMBAD


命令行开关

如果从CD光盘启动,由于CD光盘上的AUTOEXEC.BAT自动启动MHDD,所以你需要退出MHDD然后重新运行MHDD来包含开关参数。

/NOPINGPONG 禁用声音
/DISABLEBIOS 禁止通过BIOS 来 ERASE
/DISABLESCSI 禁用 SCSI 引擎
/ENABLEPRIMARY 启用 Pimary IDE/SATA 通道
/RO (禁用日志,禁止创建临时文件)

环境变量

CDROM
LglDrv
RAMD RAM磁盘盘符
CONFIG

CFG/mhhd.cfg file

如下
注意: # 不是一个指令但却每行都有。

#AUTODETECT_ENABLED=FALSE
#DEVICE=3
#SCAN_ERASEWAITSDELAY=350
#SCAN_STARTLBA=0
#SCAN_ENDLBA=12656447
#SCAN_TIMEOUT=240
#SCAN_MENUX=20
#SCAN_MENUY=5
#SCAN_SLEEP=0
#PRIMARY_ENABLED=FALSE

常见问题

FAQ 网址:forum.hddguru.com/viewtopic.php?t=5


原作者: Maya Postrigan

Dennis German 修订
@shannon 翻译

版权 和 声明
本手册不得在任何地方出售或出版。由于我将不断的进行修订,因此最好使用链接引用本文而不是直接拷贝。

你可以在尊重版权的前提下发布 MHDD 。你也可以为了教学目的而反编译(反向工程)MHDD。不得出售MHDD或它的任一部分。

© 2005 Dmitry Postrigan

声明:MHDD 固然功能强大,但是它也是非常危险的程序,并且 没有人 对由 MHDD 导致的任何损坏或数据丢失负责。


© 2005 Hddguru.com — your source of information about Hard Drives
© 2008 Shannon.et.cn — 青岛香农数据恢复中心


点击这里 获取 D1699r6-ATA8-ACS.pdf.gz 1.8MB,
原始地址:T13.org/Documents/UploadedDocuments/docs2008(BIG).

本文修订于 7/31/07© 由 Dennis German 简历



相关文章 

随便看看 

  1. 数据恢复工程师谈如何选择笔记本硬盘
    现在,越来越多的用户开始选择小巧而又不是很贵的笔记本电脑来代替台式电脑。市场上有许多型号的笔记本电脑,从使用Intel C...
    阅读全文
  2. SQL Server 差异备份还原(图文)
    差异备份是指在对数据库进行完整备份后,从完整备份的时间点开始,针对数据库的每个修改操作进行备份。要还原差异备份需要先还原完...
    阅读全文
  3. 硬盘数据恢复时的故障诊断
    从硬盘恢复数据时首先要求精确的故障诊断,最好不要拆解HDA(盘体);同时避免对数据的进一步破坏的风险。
    阅读全文