总有人觉得删文件像把纸扔进碎纸机。不是。删除更像把图书馆的目录卡片抽走,书还在架上,只是没人知道在哪一排。
在 NTFS 上删一个文件,系统做两件事:把文件记录里的「使用中」标志改成「未使用」,再把这部分簇标记为空闲。
内容一个字节都没动。所以删完之后立刻扫盘,能原样读出来,连文件名都在。

删完、装了软件、存了电影,三段覆盖
这也解释了为什么「清空回收站」不等于「彻底删除」。清空只是把这些记录从回收站目录里摘掉,簇还是那些簇。
NTFS 有个主文件表,简称 MFT,每个文件在表里占一条记录。记录里最要紧的是三样:文件名、起始簇号、文件长度。
恢复软件干的事,就是扫这张表,找那些标成未使用的记录,按起始簇号和长度把内容读出来。
记录被新文件复用了怎么办?那就只能按簇扫,靠文件头特征去猜类型。这就是「深度扫描」慢的原因,它不看目录,一个簇一个簇地认。

文件名、起始簇号、文件长度
猜出来的文件没有名字,只能按簇号命名,所以你看到的是 f0001、f0002 这种。
文件不是连着存的。一个 100M 的视频,可能被拆成几百段,散在盘的不同位置,这叫碎片。
拆成多少段,取决于盘上还剩多少连续空间。盘快满了碎片就多,一段几十兆的视频能拆成一两百段,恢复的时候要一段段找回来。
碎片多的时候,恢复软件要把这些段按顺序拼起来。拼错一段,整个视频就打不开,或者只能播前几秒。
所以恢复大文件之前,先看碎片程度。机械盘用了五六年、经常删改的,碎片会很厉害,成功率自然低。
写新文件的时候,系统会优先用那些标成空闲的簇。正好压在旧文件上,旧内容就被替换了。
替换是不可逆的。硬盘的写入是直接改磁畴方向,没有「旧版本」可以回退,这也是恢复软件救不回被覆盖文件的原因。

没写过的能完整导出,覆盖过的只剩碎片
部分覆盖最麻烦。一个文件前半段还在,后半段被别的文件占了,扫出来能打开,但内容缺一块,或者干脆打不开。
固态没有磁畴,靠浮栅存电荷。删除之后,主控会在空闲时执行 TRIM,把这些块整块擦掉,为后面的写入腾地方。
TRIM 一执行,数据就真没了,跟覆盖一样不可逆。快的话删完几分钟就擦完,慢的挂一晚上也擦干净了。
擦除是按块来的,一个块 512K 到几兆。块里只要还有一格有效数据,整块就不能动,主控得先把那点数据搬走,再把整块抹掉。这个过程全在后台,你感觉不到。

拔电越早,剩下的越多
所以固态上的误删,时间是按分钟算的。拔电、别再用,是唯一能做的。
为什么有的文件删了很久还能恢复
因为那块地方一直没被写。只存不改的盘,空闲簇长期没人用,一两年后照样能扫出来。老照片、旧备份盘常见这种情况。
恢复出来的文件为什么打不开
三个原因:内容被部分覆盖、碎片没拼对、导出过程被截断。按这个顺序查,先换导出位置,再换工具重扫。
删除只改目录标记,内容留在簇里。写入才会真的覆盖,写入越多,能找回的越少。