对磁盘修复软件mhdd一些概念的纠正

mhdd是一款很流行的磁盘检测和修复软件,虽然早已停止开发,但使用面仍然非常广泛,网络上的资料也非常多。我在学习的时候,偶然发现有些资料居然是错误的(或者说不准确),而且以讹传讹流传甚广。我参考了俄文资料,把我的心得写下来。

  • MHDD最新版为4.6,从3.x开始移除了CHS模式(只500M以下的老硬盘有效)
  • MHDD绕过BIOS直接操作硬盘,甚至不需要在 BIOS 设置中定义驱动器,所以能识别不被BIOS识别的硬盘,甚至可以在使用中热插拔硬盘。
  • MHDD不会关注分区、文件系统和 BIOS 限制等“小事情”。
  • 注意:检测的 IDE 硬盘 必须 设置为 主(master)(使用硬盘跳线),同一硬盘线上不要安装其它硬盘 。

运行scan命令(或按F4)之后会弹出一个菜单,这是scan命令的选项:

其中Remap和Erase Delays *DESTRUCTIVE*这2个参数的差别曾经让我百思不得其解,后来查阅俄文和英文资料才知道其中的道理。

预备知识:

什么是“块”?

1个"块"包含255个扇区。

判定坏块的标准是什么?

读取延迟超过Timeout(sec)设定的阈值即判定为坏块。

坏块是怎样产生的?

软坏块(逻辑坏块):磁盘是用磁场记录信息的设备。由于时间太久或者其它原因,磁盘表面某些位置的磁场强度降低,导致磁头读取数据异常(比如延迟太高或者读取错误),从而判定为坏块。

硬坏块:因为物理损坏无法读取数据导致的坏块。

解决之道?

由于软坏块是磁场强度降低导致的,所以只要加强磁场强度就可修复,这可以通过写入数据来实现,因为写入本身就是再磁化的过程(对于MHDD就是写入0,也就是erase命令)。

对于硬坏块,使用磁盘的备用扇区替换掉坏扇区,同时将替换关系登记到G表。

总结:有2种坏块的成因,也有2种对应的修复方法。

Erase Delays *DESTRUCTIVE*参数:

读取延迟超过Timeout(sec)设定的阈值即是坏块,修复硬盘,方法是擦除——对坏块写0

当出现坏块,既有可能是磁盘表面磁信号太弱导致的弱扇区(软坏块),也有可能是物理损坏(硬坏块)。

当开始擦除,会向每个扇区写0,然后开启Remap扫描。写0可以增强磁场强度从而修复扇区(不登记到G表),Remap扫描会将备用扇区替换掉坏扇区(登记到G表)。
所以Erase Delays修复硬盘的策略是先软件修复后硬件修复,能修复的软坏块就尽量修复,不能修复了才用备用扇区替代,比单纯的Remap效果更好。
所以坏块被Erase Delays修复之后,SMART 05项的Raw值(替换扇区数)可能不变,也可能增加。

官方建议的修复步骤:ERASE全盘→Scan+Erase Delays ON→Scan + Remap ON

Remap 参数:

读取延迟超过Timeout(sec)设定的阈值即是坏块,修复硬盘,方法是用备用扇区替换坏扇区,坏扇区地址登记到G表不再使用

Remap不写0,直接替换坏扇区

总结:

不破坏原有数据修复硬盘,使用scan命令(或按F4):

置 Remap ON 或 Erase Delays *DESTRUCTIVE* ON,但两者不可同时ON。

处理有数据的硬盘用此命令。Remap只替换坏扇区,坏几个扇区就损失几个扇区的数据;Erase Delays损失范围更大,会以255个扇区为单位擦除数据。就是说只坏1个扇区,也要顺带擦除前后共254个扇区的数据。

除此以外,这2个参数不会擦除其它区域的数据,这也就是“不破坏原有数据”这句话的由来。

破坏数据修复硬盘,使用erase命令:

erase命令会擦除用户选择范围内的所有数据(修复软坏块),再启用Remap扫描(修复硬坏块)。

全盘写0会重新计算扇区的校验值,同时全盘增强磁场强度,是从磁场层面刷新了一次机械硬盘,相当于一次保养,但之前的数据都被销毁了,所以使用本命令要慎重。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值