文件系统取证总览
拿到一块镜像,问"里面有什么"表面上是文件恢复,实际拆开是三层:镜像 → 卷(分区 / LVM / RAID)→ 文件系统。只有第三层才决定"文件叫什么、多大、什么时候改过、删到哪里去了"。
NTFS/FAT/exFAT/APFS 结构、卷影副本、文件恢复、时间戳语义与删除痕迹。
从下级知识节点继续浏览。
该知识空间中已整理并公开的 10 篇文档。
拿到一块镜像,问"里面有什么"表面上是文件恢复,实际拆开是三层:镜像 → 卷(分区 / LVM / RAID)→ 文件系统。只有第三层才决定"文件叫什么、多大、什么时候改过、删到哪里去了"。
用户和操作系统看到的是"这是一个 .jpg",但磁盘上真正决定它"是什么"的,是文件开头那几个字节。扩展名是文件名的属性,不是文件的属性。
文件雕刻(file carving)是在完全不使用文件系统元数据的前提下,仅凭文件内容的字节模式(魔数与结束标记)从磁盘中"切"出文件。 它解决的问题很具体:文件的目录项被删了、文件系统损坏了、元数据库被格式化了——但数据块还在盘上,而且它们的字节排列没变。
NTFS 的 MFT 解析回答的是现状:某个条目现在有哪些属性、哪些流、什么时间戳。"这个条目原本是什么,是谁在什么时候改掉的"是另一个问题。现状写在 $MFT 的当前字节里,日志型文件系统还会另写一份"改动过程"——NTFS 的这份记录就是 $LogFile(MFT 记录 2)与 $UsnJrnl。
NTFS 上"一个文件"并不等于"一份内容"。同一个文件对象可以挂载多个独立的 $DATA 流:一个是匿名流(文件名能看到的那份),其余全是命名流(Named Stream),通过 文件名:流名 访问。
1980 年的 FAT 至今还在服役。它对取证教学的价值恰恰来自"简单"——整卷的簇分配表摊平成一张线性数组放在卷首,元数据只有一张 FAT 表加定长目录项,没有间接层。
Windows 默认文件系统,真实案件里出现频率最高的就是它。最突出的设计特征是把每个文件或目录的全部元数据集中存放在一张固定大小的表里——$MFT(Master File Table),每条记录 1024 字节。
F2FS 是三星为 NAND 闪存设计的文件系统,Android 手机上见到的多半是它。
NTFS 把所有元数据集中在一张定长表($MFT)里,ext 系相反:元数据分散在成百上千个 inode 和索引节点中。
APFS 分析需要区分容器与卷,并结合 B-tree、快照和写时复制机制定位文件。容器布局、快照状态及加密配置会影响可提取的数据范围。