这里以4.7.8节分析的“sjhf.txt”文件为例,看看其被删除之后的底层变化及恢复的方法。

“sjhf.txt”文件的目录项及其文件内容可以参看4.7.8节的图4-554、4-555和4-556。现在我们将“sjhf.txt”文件彻底删除。

删除后再来看看它的目录项,如图4-557所示。

ExFAT文件系统删除文件的分析-数据恢复迷

图4-557 文件“sjhf.txt”删除后的目录项

经过与图4-554中该文件删除前的目录项对比,可以发现文件删除后只是每个目录项的首字节发生了变化,由原来的“85H”、“C0H”、“C1H”改变为“05H”、“40H”、“41H”,其他字节没有任何改变,文件的起始簇号、大小、文件名这些关键信息都完好地存在。

该文件原来存放在7号簇,现在跳转到7号簇,其内容如图4-558所示。

ExFAT文件系统删除文件的分析-数据恢复迷

图4-558 7号簇的内容

很明显文件“sjhf.txt”的内容还在这里,也就是文件删除并没有清空其数据区。

当然,因为文件“sjhf.txt”只占一个簇,不可能有碎片,所以其在FAT表中也就没有登记项,但该文件在簇位图文件中对应的位上会被清零,以表示文件“sjhf.txt”所占用的簇已被释放。

既然文件删除后文件名、起始簇号、大小及数据内容这些信息都没有损坏,所以只需要定位到这些信息并且另外保存就相当于恢复了删除的文件。

不过,如果文件原来没有连续存放,也就是存在碎片,那么该文件在FAT表中就有簇链。当文件删除后,这些簇链会被清零,所以有碎片的文件删除后也不容易恢复。