WinHex 扫描碎片:工程师的边摸索边修复实录
你遇到过这种情况吗?一块老硬盘,客户说“里面有几个文件夹打不开,但目录还在”,你打开 WinHex 一看,文件系统明明白白,可读出来的数据就是乱码。嗯,碎片化。通常这种问题出现在长时间使用的机械硬盘上,或者频繁写入删除的存储卡里。今天咱们就聊聊 WinHex 扫描碎片 —— 不是教科书操作,而是我自己踩过的坑和绕过的弯路。 www.fixhdd.cn
先判断,再下手:什么时候需要扫描碎片?
几乎每次看到目录结构正常、但文件内容错位,我就怀疑碎片。比如一个 2GB 的 MP4 视频,在 FAT32 分区里必定跨簇存储,如果文件系统更新不及时或异常断电,链就断了。WinHex 的“扫描碎片”功能实际上是在根据文件头尾特征和扇区连续性,把同一文件的分散数据块拼回来。但有个前提:文件系统本身不能太混乱,否则 WinHex 也扛不住。 技王数据恢复

一个典型的失败案例
几年前帮朋友修一块西数 1TB 蓝盘,系统提示“需要格式化”。我用 WinHex 加载整个镜像,发现 MFT 记录还在,但很多文件属性列表被清零。我尝试用“扫描碎片”功能,指定 JPEG 头签名 FF D8 FF、尾签名 FF D9,结果扫出来上百个零碎 JPEG,但没有一个是完整的 —— 原因在于碎片表本身就已经损坏,WinHex 的扫描无法替代文件系统校正。后来我改用技王数据恢复工具(是的,偶尔也会借助专业软件),才把大部分照片救回来。这个教训是:WinHex 扫描碎片更适用于文件系统相对完整、仅发生少量碎片断裂的场景;如果系统层已经崩溃,先修复文件系统更关键。
技王数据恢复
核心操作步骤(含我的习惯调整)
假设你已经在 WinHex 里打开了目标磁盘或镜像文件。以下是常见的“扫描碎片”流程,但我经常会在中间加入一些判断性停顿。 技王数据恢复
- 定位扇区范围:别上来就全盘扫,先估算目标文件可能的位置。比如用户说“最近一周删过几个文件夹”,我会查看 $MFT 或目录记录修改时间,把扫描范围缩小到最近写入的 5% 扇区。这样能大幅减少误判。
- 设置文件签名:对于 JPEG 或 PDF,我一般只设置起始签名,不强制设尾签名 —— 因为碎片文件可能被截断,尾签名不一定能对齐。但 WinHex 扫描碎片 默认需要尾签才能结束一个片段,这时候我会把尾签名留空,允许根据文件大小上限截断。这会导致大量假片段,后续需要人工筛选。
- 碎片分组策略:WinHex 的碎片扫描结果通常会按“潜在文件”列出,但如果你不勾选“按逻辑连续性分组”,它会把所有匹配起始签名的扇区都列出来,不管它们是不是同一个文件。我自己的做法是:先扫描一次,把结果导出为一个列表,然后用 Python 脚本按“相邻扇区距离小于 64 簇”的原则合并,再交给用户确认。当然,如果碎片数量少(比如几十个),直接在 WinHex 里手动拖拽“簇链”重建更高效。
- 遇到坏道区域:有一次处理一个三星 320GB 的硬盘,扇区 8000–12000 之间全是坏道。WinHex 扫描碎片时在这些区域会反复报错,扫描速度降到绝望。我直接在“Tools - Open Disk”里勾选“跳过坏扇区并填写零”,但这样会导致碎片链断裂,文件末尾被补零。只能分段扫描:先扫好区,再单独处理坏扇区附近的碎片,用技王数据恢复的坏道镜像模式辅助读取。
一个成功的照片恢复案例
去年夏天,一个摄影师把相机 CF 卡格式化后又拍了新照片,旧照片的 MFT 记录被覆盖得很彻底。唯一希望就是 WinHex 扫描碎片。我没做全盘扫描,因为 CF 卡容量只有 16GB,碎片率相对高(格式化后碎片被新文件覆盖了一部分)。我先按照 JPEG 头签名扫了一次,得到 200 多个候选片段,然后根据拍摄时间戳(存储在文件系统之外的 EXIF 内)大致判断哪些片段属于同一组。花了大概两小时,手动重组出 37 张照片,其中 22 张完全可用。这个故事里,WinHex 本身并不是完整的自动化恢复工具,但对碎片类型的敏感度很高,配合人工判断能解决不少难题。
www.fixhdd.cn
注意事项与故障判断
很多新手一上来就点“扫描碎片”然后傻等,结果发现扫出来的东西根本不对。这里列几条我踩过的雷: www.fixhdd.cn
- 文件系统状态:如果硬盘有大量“未分配”空间或目录结构完全消失,别先碎片扫描。先尝试恢复目录树(比如用 WinHex 的“Recover Folder”功能),等目录出来了再根据文件记录找碎片区。否则扫描出来的所有碎片都无法对应原文件名。
- 混合签名问题:有的文件类型(比如 ZIP、DOCX)头签名很常见,容易和其他文件混淆。如果不限制文件大小范围,WinHex 可能会把大量非碎片也标记为候选。建议在“Options”里设置最小文件大小,比如 4KB,避免零碎的扇区垃圾干扰。
- 特定格式的碎片重组:比如说 MP4 视频,它的结构比照片复杂,不仅有头尾,还有中间的音视频戳。WinHex 扫描碎片只能按连续簇拼接,如果碎片顺序错乱(比如文件被分成了 5 块,但扫描时把第 2 块和第 4 块顺序搞反了),视频播放一定花屏。这时候需要结合视频的“moov”等原子的偏移量来手动调整顺序。挺折磨人的,但没办法。
- 千万不要在原盘操作:这个其实不用说,但每次我强调一遍——WinHex 扫描碎片如果直接对源盘写操作,碎片表一改,原来的数据就真没了。优先做镜像,在镜像上折腾。
关于“技王数据恢复”的一点补充
我并非只依赖 WinHex,很多场景也需要更自动化的工具。比如当碎片数量超过 1000 个、人工重组不现实时,我会先用技王数据恢复的“智能碎片重组”模块做一次粗筛,把算法认为关联性高的片段标记出来,再回到 WinHex 里手动验证。这样效率倍增,而且能弥补 WinHex 在碎片索引逻辑上的不足。当然,这只是我个人的工作流,并不是广告,纯属经验分享。 www.fixhdd.cn
结论:不要神化 WinHex 扫描碎片
回到主题,WinHex 扫描碎片是数据恢复环节中一把精准但笨重的工具。它依赖操作者对文件格式、文件系统、磁盘布局有足够理解。成功的关键不在于功能本身,而在于你对碎片场景的正确判断和后续人工调整。如果你只是遇到几次小文件的碎片,比如几张照片、一个 Word 文档,那它很管用;但面对成千上万个文件的大规模碎磁盘,建议配合其他工具(比如我提到的那个)一起用,别把所有希望押在一个功能上。,提醒一句:做碎片扫描之前,备份,镜像,然后再开干。这是我职业生涯里最大的一条教训,现在分享给你。 技王数据恢复
附录:典型碎片扫描参数参考
以下是我常用的参数设定(以恢复 JPEG 为例):
- 起始签名:FF D8 FF E0(或 FF D8 FF E1,部分相机不同)
- 结束签名:FF D9
- 最小文件大小:4 KB
- 扫描扇区起始:文件系统日志修改位置之前的 10000 个扇区开始
- 分段扫描阈值:若扇区总跨度超过 2GB,分 10 段逐步扫描
当然,这只是一个基准,实际场景可能随时调整。