
1. 为什么一块机械硬盘值得你花时间做坏道检测手里攒了几块老机械硬盘的人大概率都遇到过这种情况系统突然卡死、文件复制到一半报I/O错误、开机自检越来越慢、某个分区动不动就提示“无法访问”。这些症状里十有八九藏着同一个元凶——坏道。机械硬盘用久了盘片上的磁性介质会自然老化磁头长期读写也会带来磨损再加上偶尔的断电、震动、高温坏道几乎是必然产物。问题在于很多人直到硬盘彻底罢工才意识到严重性而那时候数据往往已经取不出来了。MHDD就是在这个场景下被反复提起的一个工具。它是一款运行在DOS环境下的硬盘底层检测软件能绕过操作系统直接对硬盘的物理扇区进行读写测试把每一块扇区的好坏、响应速度都摸得一清二楚。和Windows里那些“表面扫描”工具不同MHDD拿到的是最原始的数据它不关心文件系统、不关心分区表只看扇区本身能不能正常读写、响应时间是多少毫秒。这种底层视角恰恰是判断一块机械硬盘还能不能继续用的关键依据。不过MHDD原生是DOS程序现在大多数人手头只有Windows系统怎么在Windows环境下把它跑起来、怎么解读它给出的结果、检测出坏道之后又该怎么处理这一整套流程才是真正卡住新手的地方。这篇内容就是围绕这条完整链路展开的从制作启动环境、进入MHDD、读懂扫描结果到针对不同严重程度的坏道采取对应的修复或隔离手段。适合手里有老机械硬盘、想自己动手判断硬盘健康状况的普通用户也适合做数据恢复或二手硬盘买卖、需要快速筛查盘况的从业者。哪怕你之前完全没接触过DOS工具跟着走一遍也能上手。2. 检测前的整体思路与工具选型2.1 为什么非得用MHDDWindows自带工具不够用吗Windows下常见的硬盘检测手段无非这么几种系统自带的chkdsk、厂商提供的诊断工具、CrystalDiskInfo这类读取SMART信息的软件还有HD Tune之类的表面测试。它们各有用途但都存在一个共同的局限——它们都运行在操作系统之上检测过程要经过文件系统层、驱动层拿到的结果是被“加工”过的。chkdsk主要针对文件系统的一致性它能发现逻辑错误、修复文件索引但对物理坏道基本无能为力顶多把坏扇区标记出来。CrystalDiskInfo读的是硬盘固件记录的SMART参数比如重映射扇区计数、待映射扇区数这些是硬盘自己统计的“体检报告”能反映趋势但没法告诉你坏道具体在哪个位置、有多严重。HD Tune的Error Scan能扫表面但它同样跑在Windows下扫描速度和准确性都会受系统干扰而且它只能告诉你“这块区域有问题”给不出响应时间分布这种更细的信息。MHDD的价值就在于它跳过了所有这些中间层。它在DOS下直接调用硬盘的ATA指令集对每一个LBA扇区发起读写请求记录响应时间把结果以颜色块的形式直观呈现。响应时间小于3毫秒是正常3到10毫秒算偏慢10到50毫秒就要警惕超过50毫秒基本可以判定为坏道或即将坏道而直接报错显示为红色叉号或问号的就是已经损坏的扇区。这种颗粒度是Windows下的工具给不了的。2.2 在Windows环境下运行MHDD的几种可行方案MHDD是DOS程序要在Windows机器上跑核心思路就是给这台机器临时引导一个DOS环境。目前比较靠谱的做法有这么几种我按推荐程度排一下。第一种是用U盘制作一个DOS启动盘把MHDD的可执行文件放进去。这是最干净、最接近原生体验的方式因为DOS直接接管硬件MHDD能拿到最真实的硬盘访问权限。制作工具可以用Rufus配合DOS启动镜像或者用一些专门的DOS启动盘制作工具。U盘容量不用大128MB都绰绰有余但要注意制作过程会清空U盘数据提前备份好。第二种是通过光盘引导。如果你的机器还有光驱刻一张DOS启动光盘也行原理和U盘一样。不过现在带光驱的机器越来越少这个方案逐渐被淘汰了。第三种是在虚拟机里跑。用VMware或VirtualBox建一个DOS虚拟机然后把物理硬盘以“物理磁盘”的方式挂载给虚拟机。这个方案的好处是不用重启主机、不用折腾U盘但缺点也很明显虚拟机对物理硬盘的直通访问在某些主板上不稳定而且USB转接的硬盘在虚拟机里识别率不高。我实测下来如果是主板SATA接口直连的硬盘虚拟机方案基本可用如果是USB硬盘盒里的盘还是老老实实用U盘启动。注意不管你用哪种方案检测前一定要确认目标硬盘已经接好、供电稳定。检测过程中断电或松动轻则扫描中断重则加重坏道甚至导致磁头划伤盘片。2.3 检测前必须做的两件事备份和记录在正式动手之前有两件事必须先做而且顺序不能反。第一件是备份数据。坏道检测本身是只读操作理论上不会破坏数据但一块已经有坏道的硬盘它的状态是不稳定的。扫描过程中磁头反复经过坏道区域有可能导致坏道扩散或者让原本勉强能读的扇区彻底失效。所以只要盘里还有你在乎的东西先想办法拷出来。如果系统已经进不去可以用PE环境或者把盘挂到另一台机器上做数据提取。数据比硬盘值钱这个顺序不能乱。第二件是记录硬盘的基本信息。包括型号、容量、SN序列号、当前SMART里的重映射扇区数和待映射扇区数。这些信息在检测前后各记录一次对比一下就能看出这次扫描有没有导致新的扇区被重映射。如果扫描后重映射数明显增加说明这块盘的状况比想象中更糟要慎重考虑是否继续使用。记录SN还有个用处如果你同时检测多块盘不会搞混结果。3. MHDD核心操作与扫描结果解读3.1 制作DOS启动盘并进入MHDD先说U盘启动盘的制作。我习惯用Rufus因为它对DOS镜像的支持比较直接。打开Rufus设备选你的U盘引导类型选择“FreeDOS”或者加载你准备好的DOS镜像文件分区类型选MBR文件系统选FAT32然后点开始。等进度条走完一个可引导的DOS U盘就做好了。接下来把MHDD的文件拷进U盘根目录。MHDD通常是一个压缩包解压后里面有MHDD.exe以及一些配置文件。全部拷到U盘根目录就行不用建子文件夹DOS下路径越简单越好。然后重启目标机器进BIOS把启动顺序改成U盘优先。不同主板进BIOS的按键不一样常见的是Del、F2、F12开机时留意屏幕提示。进入BIOS后找到Boot菜单把USB设备调到第一位保存退出。机器从U盘启动后会进入DOS命令行。这时候先别急着运行MHDD先确认一下硬盘有没有被正确识别。输入fdisk /status或者直接用MHDD自带的硬盘列表功能看一眼。MHDD启动后会自动扫描IDE/SATA通道上的硬盘把它们列出来每块盘前面有个编号从0开始。你要记住目标硬盘对应的编号后面所有操作都基于这个编号。提示如果你的硬盘是SATA接口但BIOS里把SATA模式设成了AHCIDOS下可能识别不到。进BIOS把SATA模式改成IDE或LegacyMHDD才能看到盘。检测完再改回来就行。3.2 MHDD命令速查与扫描参数设置进入MHDD主界面后你会看到一个黑底白字的命令行界面顶部显示当前选中的硬盘信息。MHDD的操作全靠命令常用的就那么几个我整理成一张表方便对照。命令作用使用场景PORT切换当前操作的硬盘多块盘时先选对目标盘ID读取硬盘识别信息确认型号、容量、SNSCAN启动表面扫描核心检测命令SMART查看SMART参数检测前后对比ERASE擦除指定扇区修复逻辑坏道REMAP重映射坏扇区将坏道加入G-listSTOP停止当前操作扫描中途想终止EXIT退出MHDD检测完毕重点说SCAN命令。输入scan回车后MHDD会弹出一系列参数让你设置。第一个是扫描起始LBA默认从0开始一般不用改。然后是扫描结束LBA默认到硬盘最大容量也不用改。接下来是扫描模式有LBA和CHS两种选LBA因为现代硬盘都用LBA寻址。再往后是几个关键选项我逐个解释。Remap选项开启后MHDD在扫描过程中遇到坏道会自动尝试重映射这个功能要慎用后面会详细说。Timeout是超时时间默认值就行。Loop test/repair是循环测试一般关掉。Erase waits是擦除等待也关掉。最后是扫描块大小默认255个扇区一块这个值影响扫描速度和精度保持默认即可。设置完按F4或者直接回车开始扫描。屏幕上会出现一个进度条下面是一排排彩色方块每个方块代表一个扫描块。颜色含义是这样的灰色是未扫描白色是响应时间小于3毫秒优秀浅灰是3到10毫秒良好绿色是10到50毫秒偏慢橙色是50到150毫秒警告红色是150到500毫秒危险红色叉号是读取错误坏道问号是无法识别的扇区。3.3 读懂扫描结果颜色块背后的硬盘健康状况扫描跑完之后屏幕上会留下一张彩色的“地图”这张图就是这块硬盘的健康画像。怎么解读我按颜色从好到坏说一遍。白色和浅灰占绝大多数说明这块盘状态很好绝大多数扇区响应迅速。偶尔出现几个绿色块问题不大可能是盘片边缘区域或者出厂时就略慢的扇区不影响使用。但如果绿色块成片出现或者集中在某个区域就要留意了那可能是盘片局部介质老化或者磁头在该区域读写吃力。橙色和红色块是明确的警告信号。橙色意味着响应时间超过50毫秒这个延迟在正常硬盘上几乎不会出现说明该扇区读写已经非常吃力虽然还能读出数据但随时可能变成坏道。红色更严重响应时间超过150毫秒基本处于“读得出但快挂了”的状态。这两种块如果数量少且分散可以暂时观察如果数量多或者集中说明盘片该区域已经严重退化。红色叉号是已经损坏的扇区MHDD读不出任何数据。问号是扇区无法定位或响应异常。这两种就是真正意义上的坏道。坏道分两种逻辑坏道和物理坏道。逻辑坏道是扇区数据校验出错但介质本身没坏通过擦写可以修复物理坏道是盘片磁性介质真的损伤了无法修复只能隔离或重映射。判断逻辑还是物理有个简单办法用MHDD的ERASE命令对坏道所在区域擦除一次然后重新扫描。如果擦除后坏道消失说明是逻辑坏道已经修复如果擦除后依然报错那就是物理坏道没救了。注意ERASE命令会彻底清除目标扇区的数据操作前务必确认该区域没有重要数据或者数据已经备份。擦除是不可逆的。4. 坏道修复与隔离的实操流程4.1 逻辑坏道的擦除修复ERASE命令的正确用法逻辑坏道的成因通常是突然断电、非正常关机、写入过程中断导致扇区的校验信息与数据不匹配。硬盘固件在读取时会发现校验失败于是报告读取错误。这种坏道的特点是“假性”的介质本身完好只要重新写入一次正确的数据扇区就能恢复正常。MHDD的ERASE命令就是干这个的。操作步骤是先用SCAN定位坏道的大致LBA范围记下起始和结束LBA。然后退出SCAN在命令行输入eraseMHDD会提示你输入起始LBA和结束LBA。把刚才记下的范围填进去回车确认MHDD就会对该区域逐扇区写入零。擦除完成后再用SCAN扫一遍这个区域如果之前的红叉变成了白色或浅灰说明逻辑坏道修复成功。这里有个细节要注意擦除范围不要开得太大。有些人图省事直接把整个盘从头擦到尾这没必要而且耗时极长。一块500GB的盘全盘擦除可能要几个小时。精准定位、小范围擦除效率高得多。另外擦除前最好把该区域的数据备份出来虽然逻辑坏道区域的数据往往已经损坏但万一有能恢复的片段呢。我自己的经验是逻辑坏道擦除的成功率大概在七成左右。如果擦除一次没效果可以再擦一次但不要反复擦同一个区域超过三次否则可能把原本只是逻辑问题的扇区真的写坏。擦完还是报错的就按物理坏道处理。4.2 物理坏道的重映射REMAP的利与弊物理坏道没法修复只能隔离。隔离的手段有两种一是靠分区工具把坏道所在区域单独划成一个分区然后隐藏二是用MHDD的REMAP命令把坏道加入硬盘固件的G-list增长缺陷列表。REMAP的原理是这样的硬盘出厂时有一份P-list永久缺陷列表记录了出厂时就存在的缺陷扇区。硬盘还有一部分预留扇区作为备用。当MHDD对某个坏扇区执行REMAP时硬盘固件会把该扇区的LBA地址重定向到一个备用扇区以后所有对该LBA的读写请求都会自动转到备用扇区上。对操作系统来说这个LBA依然可用只是实际读写发生在别的位置。听起来很美好但REMAP有代价。第一备用扇区是有限的一般也就几百到几千个用完了就没了。第二重映射会改变硬盘的固件记录操作不当可能导致硬盘变砖。第三如果坏道是磁头划伤盘片造成的坏道会持续扩散今天重映射了100个明天可能又冒出200个备用扇区很快耗尽。所以我的建议是REMAP只用于坏道数量少、位置分散、且确认不再扩散的情况。如果扫描发现坏道成片出现或者重映射后短时间内又出现新坏道说明硬盘已经进入快速衰退期这时候应该考虑的是数据迁移和换盘而不是继续修。REMAP的操作和ERASE类似在SCAN过程中开启Remap选项MHDD会在扫描到坏道时自动执行重映射。也可以扫描完后单独对特定LBA执行REMAP命令。操作前务必确认硬盘的SMART里备用扇区还有余量如果“可用备用扇区”已经很低就别再重映射了。4.3 坏道区域的分区隔离不碰固件的保守方案如果你不想动硬盘固件或者坏道数量不多但REMAP风险太大还有一个更保守的办法用分区工具把坏道区域隔离出去。具体做法是先用MHDD扫描记录坏道的起始LBA和结束LBA。然后进PE系统用DiskGenius之类的分区工具把坏道区域前后的正常区域各划成一个分区中间坏道区域留空不分配。这样操作系统就不会去读写那块区域坏道也就不会影响日常使用。这个方案的优点是零风险不碰固件不消耗备用扇区。缺点是会浪费一部分容量而且如果坏道扩散到隔离区之外还得重新调整分区。另外隔离区最好留出一定的余量比如坏道前后各多留1GB的缓冲防止坏道边缘的“亚健康”扇区被误用。我一般建议普通用户优先用这个方案。除非你是做数据恢复的需要尽可能榨干硬盘的最后一点可用空间否则没必要冒险去REMAP。5. 常见问题排查与避坑经验5.1 MHDD识别不到硬盘怎么办这是新手最常遇到的问题。MHDD启动后硬盘列表是空的或者只有光驱没有硬盘。原因通常有三个。第一个是BIOS里SATA模式设成了AHCI。DOS环境下的MHDD只认IDE/ Legacy模式AHCI它看不到。解决办法是进BIOS把SATA Configuration改成IDE或Compatibility保存重启再进MHDD。第二个是硬盘接在了第三方SATA控制器上。有些主板除了芯片组自带的SATA口还有额外的第三方芯片提供的SATA口比如某些扩展卡上的接口。MHDD对第三方控制器的兼容性不好尽量把盘接在主板原生SATA口上通常是最靠近CPU的那几个。第三个是硬盘本身没被BIOS识别。如果BIOS里都看不到盘那MHDD更不可能看到。这时候要检查供电线、数据线是否插紧换一根线试试或者把盘接到另一台机器上确认是不是盘本身的问题。5.2 扫描速度异常慢或卡死正常情况下一块500GB的机械硬盘MHDD全盘扫描大概需要一到两个小时具体取决于转速和坏道数量。如果扫描速度明显偏慢比如几个小时才走了百分之几或者进度条长时间不动通常有几种可能。一是硬盘本身坏道太多磁头在坏道区域反复重试导致扫描停滞。这时候可以按ESC中断扫描看看已经扫过的区域是不是大片红色。如果是这块盘基本可以判死刑了。二是硬盘进入了降速保护模式。有些硬盘在检测到大量错误后会主动降低转速或限制读写速度导致扫描变慢。这种情况重启一下MHDD或者断电重启硬盘有时能恢复。三是数据线或电源线接触不良。劣质线材在长时间读写时可能出现信号衰减导致传输错误和重试。换一根质量好点的SATA线电源线也检查一下。5.3 检测后硬盘反而更糟了这个情况虽然不常见但确实会发生。有些盘在检测前只是偶尔报错检测后坏道反而增多了。原因在于MHDD的扫描是全盘逐扇区读写磁头要反复经过坏道区域。如果坏道是盘片划伤造成的磁头经过划伤处时可能被进一步磨损或者把划伤处的碎屑带到其他区域造成新的划伤。所以对于已经明确有物理坏道的盘扫描要适可而止。不要为了“扫得彻底”而反复全盘扫描。扫一遍记录坏道位置然后直接做隔离或迁移数据。反复扫描只会加速硬盘死亡。另外检测过程中如果听到硬盘发出规律的“咔咔”声或者“吱吱”声那是磁头反复寻道失败的声音说明坏道区域已经严重到磁头无法正常定位了。这时候应该立即停止扫描断电把盘取下来。继续扫下去可能让磁头彻底卡死到时候连数据都取不出来。5.4 常见问题速查表现象可能原因处理方式MHDD看不到硬盘SATA模式为AHCIBIOS改IDE/LegacyMHDD看不到硬盘接在第三方SATA口换到主板原生SATA口扫描速度极慢坏道过多导致重试中断扫描评估坏道分布扫描中途卡死磁头寻道失败立即停止断电取盘擦除后坏道仍在物理坏道改用隔离或重映射重映射后新坏道不断盘片持续退化停止修复尽快迁移数据检测后坏道增多磁头磨损或碎屑扩散停止扫描做数据抢救5.5 几个容易被忽略的实操细节第一个细节是MHDD的版本。网上流传的MHDD版本很多有些是修改版有些带病毒。尽量找原版或者口碑好的汉化版文件大小通常在几百KB到1MB左右。下载后先杀毒再拷进U盘。第二个细节是DOS下的键盘布局。有些机器的USB键盘在DOS下可能不识别尤其是无线键盘。尽量用PS/2接口的键盘或者有线USB键盘。如果键盘没反应进BIOS看看有没有“USB Legacy Support”选项开启它。第三个细节是扫描时的电源管理。有些主板在DOS下会触发节能模式导致硬盘供电不稳。进BIOS把C-State、EIST之类的节能选项关掉保证扫描期间供电稳定。第四个细节是记录扫描日志。MHDD支持把扫描结果输出到文件命令是scan设置完后按F2还是什么快捷键我记不太清了反正可以保存。把日志存到U盘上方便后续对比。如果没有日志功能用手机拍下屏幕上的彩色地图也行至少能看出坏道分布。6. 检测之后的决策修还是换扫描做完、坏道定位了、该擦的擦了、该隔离的隔离了最后要面对一个现实问题这块盘还能不能用我的判断标准是这样的。如果坏道数量在个位数且都是逻辑坏道擦除后恢复正常那可以继续用但重要数据不要只存这一份。如果坏道数量在几十个以内位置集中隔离后不影响其他区域可以当个临时存储盘用放些不重要的东西。如果坏道数量超过一百个或者成片出现或者重映射后新坏道不断冒出那就别犹豫了这块盘已经进入生命末期赶紧把数据迁走然后让它退役。机械硬盘的坏道有个特点一旦开始出现往往意味着盘片介质或磁头已经进入老化阶段坏道会越来越多、越来越快。今天修好了十个下个月可能又冒出五十个。与其反复折腾不如趁数据还能读出来的时候赶紧转移。我自己的做法是凡是检测出物理坏道的盘一律降级为“临时盘”只放一些下载缓存、临时文件之类丢了也无所谓的东西。重要数据永远保持至少两份分别放在不同的物理硬盘上。这个习惯帮我躲过了好几次硬盘突然暴毙的灾难。最后分享一个小技巧如果你经常需要检测机械硬盘可以专门准备一个DOS启动U盘里面放好MHDD和几个常用工具再放一个PE系统。这样一块盘拿过来先PE里看数据能不能读能读就先备份然后重启进DOS跑MHDD一套流程下来行云流水。比每次现做启动盘省事得多。