diskdigger 中文文档 下载 App

Carving 模式的天生局限:不知道碎片存在

什么是 Carving(数据雕刻)?

Carving 是 Dig Deeper 模式的核心技术——逐扇区扫描磁盘的原始数据,不依赖任何文件系统,只靠已知文件类型的"签名"(magic number)来定位文件。

举个例子:JPG 文件的开头一定是字节序列 FF D8 FF,结尾是 FF D9。Carving 模式扫到 FF D8 FF 就知道"这里有个 JPG 文件开始了",然后一直往后扫到 FF D9,把中间的数据全部抓出来——这就是一个被雕刻出来的 JPG。

这个技术的好处是:完全绕过文件系统——格式化、分区表损坏、RAID 故障都不影响,只要磁盘的扇区能读到就可以雕刻。

但好处背后有一个天生的、无法克服的局限:Carving 模式不知道文件碎片存在。

Carving 模式的盲区

一个文件如果被文件系统拆成了 3 段:

Dig Deep(读文件系统索引的模式)能看到这 3 段的位置关系,恢复时把它们拼成完整的文件。

Carving 模式能看到什么?

  1. 扫到扇区 1000,发现文件头 → 开始雕刻
  2. 扫到扇区 2000,发现这个文件的结束标记(或者没找到就一直往后扫直到下一个文件头)→ 雕刻结束
  3. 然后 Carving 模式就去找下一个文件了——它根本不知道段 2 和段 3 还存在

结果:恢复出来的文件只有前 1/3,后面的全部丢失。

更极端的情况

如果文件的文件头(段 1)已经被覆盖了,Carving 模式连这个文件存在过都不知道——它找不到起始签名。这种情况下,这个文件就从恢复列表里消失了,仿佛从未存在过。

为什么官方不修复这个问题?

坦白说:目前没有任何消费级数据恢复工具能解决这个问题。因为 Carving 模式的本质就是"绕开文件系统",而只有文件系统知道碎片之间的关联。绕开了文件系统,同时也绕开了碎片拼接的可能。

解决碎片问题唯一的方法是:Dig Deep(文件系统感知扫描)能读到完整的碎片索引。但 Dig Deep 的前提是文件系统还完好——格式化、损坏后 Dig Deep 就失效了,只能靠 Carving。

这是一个技术上的两难:

什么情况下 Carving 模式还能工作?

尽管有这个局限,Carving 模式在很多场景下还是能完整恢复文件——因为不是所有文件都被碎片:

场景文件通常是连续的吗?Carving 恢复率
格式化 SD 卡后恢复照片✅ 相机通常顺序写入,照片是连续的很高(80-100%)
格式化 U 盘后恢复小文件✅ 小文件不容易被碎片高
恢复硬盘上最近创建的大文件⚠️ 不一定,取决于当时磁盘空闲空间情况中等
恢复长期使用的硬盘上的大文件❌ 硬盘碎片化严重低
恢复压缩包(ZIP/RAR)❌ 大压缩包几乎一定被碎片很低

总结:Carving 模式对照片、小文档等"天生连续"的文件恢复率很高,对大视频、大压缩包、长期存放的大文件恢复率很低。

Dig Deep 扫不到、Carving 又不完整的绝望时刻

如果你同时遇到:

  1. Dig Deep 扫不到(文件系统坏了、格式化了、索引表丢了)
  2. Carving 扫到了文件但只有第一段(大文件被碎片了)

那消费级工具就到头了。可能的后续:

思路 1:不同参数重新 Carving

DiskDigger 的 Carving 模式可以自定义某些参数(高级选项里)——比如调整"文件结束标记的容忍度"。有时微调这些参数能多挖出一点内容,但本质上治标不治本。

思路 2:多个 Carving 工具交叉扫描

不同 Carving 工具的签名库、扫描算法可能略有差异:

PhotoRec 对照片恢复的效果在某些场景下可能比 DiskDigger 好——因为它专门优化了照片类型的 Carving 逻辑。多个工具扫同一块盘,说不定能互补。

思路 3:专业数据恢复服务

专业恢复公司可能用硬件级的克隆工具(比如专业硬盘镜像设备)+ 自研的恢复算法来处理碎片——但价格跟物理损坏恢复一样贵。

总结:Carving 模式的正确预期

下一页讲数据丢失的预防——最好的恢复是不丢数据。