很多人以为删文件是把内容抹掉。其实系统只是在一张表上做了个记号,说这块地方可以用了。内容原地不动,直到有新东西写进来。
硬盘上有两套东西:一套是目录,记着文件名、大小、起始位置;另一套是内容,实实在在的数据。删文件只改目录,把那一行标成“未使用”,内容一个字节不动。
这张表在 NTFS 上叫 MFT,在 exFAT 上叫 FAT 表。名字不一样,作用一样:告诉系统这个文件从哪开始、有多长。
所以刚删完就恢复,成功率高得离谱。真正杀死文件的是后来的写入,新文件占了那些扇区,原来的内容才被盖掉。
这也是为什么有的盘“文件名全在,打开是空的”,有的盘“内容还在,名字全没了”。两种情况坏的不是同一套东西。

目录和内容,是两套东西
NTFS 上这套目录叫 MFT,每个文件占一条记录,1KB 左右。记录被新文件复用,名字就没了,但数据区可能还好好的,这时候按文件类型扫,能扫出一堆没有名字的文件。
两种坏法混在一起最麻烦:目录被复用,数据区也被覆盖,那才是真没了。分辨的办法不复杂,扫一遍看能不能列出原文件名和大小,列不出来、只剩一堆 f0001.jpg 的,基本是后一种。
分区表在盘的最前面,记着“哪一段是 C 盘、哪一段是 D 盘”。它坏了,系统就看不到分区,弹窗让你格式化。

分区表坏了,数据还在原处
这时候数据一点没少,只是没人告诉系统去哪找。分区表是整块盘最容易坏、也最容易救的地方,前提是别再格式化。搜分区、重建分区表,多数情况几分钟能找回来。
硬盘存的是磁信号的强弱,写入新数据会把原来的磁化方向改掉,改完就是新的状态,没有“底稿”可翻。这点和录音带一样,重录一遍,原来的声音就没了。
固态更彻底。开了 TRIM 的盘,删除之后主控会在空闲时主动擦除整块闪存,擦完连磁信号这种残留都没有。固态上删的东西,时间窗口比机械盘短得多。

写入越多,能救的越少
机械盘被盖过一次,理论上还有微弱的磁残留,专业设备能读出来,但那已经超出软件的范围,费用另算,成功率也不高。
读目录
把标记为空闲的记录捞出来,还原文件名和路径
目录没了
就按文件头特征扫,认出JPG、DOCX、MP4各自的起始标志
把碎片按顺序拼起来
拼不上的就成了打不开的文件
三件事都不写盘,所以叫只读扫描。真正会写盘的是“导出”,导到哪里很关键,导回原盘就等于把刚扫出来的又盖一遍。

软件做的三件事,都不写盘
按文件头扫有个天生的短板:不认碎片。一个视频分成二十段存在盘的不同位置,软件只认出第一段的头,导出来就是几秒钟的片段。所以视频恢复的成功率,永远比照片低。
格式化是不是等于全删了
快速格式化只重写目录,内容不动。不勾快速的那次会往每个扇区写零,那才是真的抹掉。
为什么有的文件恢复出来是花的
碎片没拼全。视频和照片最容易这样,文件越大越容易碎。
恢复软件会不会把盘弄坏
只读扫描不会。让盘反复通电、反复重试坏道才会,所以有异响的盘别用软件试。
删除是改标记,格式化是重写目录,覆盖才是真的没了。三种事,三种结局。