在 NTFS 中,删除并不是抹除。当一个文件被删除时,操作系统只是把该文件 MFT 记录条目头中的 使用中 标志位翻转,然后更新父目录索引。记录的其余部分完全照旧。
还留着什么
一条被删除的 MFT 记录通常保留:
$STANDARD_INFORMATION—— 四个时间戳、文件标志位、安全 ID$FILE_NAME—— 原始文件名、父目录引用、逻辑大小与物理大小$DATA—— 对小文件来说是完整内容(常驻);对大文件来说是指向尚未被覆盖的簇的 runlist
你可以按记录号枚举已删除文件,仅靠 $MFT 本身就能重建一个被删除文件几乎完整的身份信息。
它什么时候才会真正消失?
被删除的记录会一直保留,直到 NTFS 需要把这个槽位让给新文件。在下一次文件创建时,系统可能会复用最早可用的空闲槽位。在繁忙的卷上,被删除的记录通常几小时就会被回收;而在使用率低的系统上,它们可以保留数月。
MFT 本身只会增长,不会缩减 —— 正是这一点让它成为如此丰富的取证产物。
互相印证,才看到完整图景
$MFT 告诉你「哪些记录存在」。$UsnJrnl(Update Sequence Number Journal)告诉你「它们身上发生过什么」,包括翻转使用中标志位的那些删除事件。$LogFile 在其上再叠加一层事务历史。
把这三者结合起来排查,常常不仅能复原「什么被删除」,还能复原「何时」与「以什么顺序」。本站的解析器读取 $MFT,另外两个日志则是非常合适的下一步目标。