恢复FAT16下文件夹,实际上就是恢复该文件夹下所有的文件,最终仍然是遍历至各个文件目录项,根据目录项中记录的文件起始簇和文件大小恢复文件。文件的可恢复性仍然是取决于该文件存储的连续性。
对于一个被删除的文件夹,如何确定其目录内有多少个子目录或文件是一个重要的问题。
恢复被删除的文件时,可以假定它是连续存储的,根据它的起始簇及文件大小进行恢复,恢复一个被删除的文件夹,首先要确定这个文件夹下有那些子文件夹或文件,也就是要读取为其分配的簇空间,从簇空间中读取下一级子目录或文件的目录项 。
文件夹的目录项与文件目录项不同的是,它只记录该文件夹的起始簇,并不记录它的大小。也就是说,分配给一个文件夹的簇空间到底是多大、是那些簇,只能根据它的FAT表链来确定。
然而,文件夹被删除后,它的FAT链也就不存在了,将无法确定一个文件夹的簇空间是一个簇还是多个簇。尤其当一个有多个簇的文件夹,如果它的后续簇不是与起始簇在一次性复制过程中连续分配的,而是在长时间使用过程中逐渐想问加你家中添加内容导致起始簇的空间不够使用而追加分配的,这种情况下后续簇与起始簇一定不是相邻的。
如果只是根据目录项中提供了起始簇好读取该簇中目录项,就会丢失后续簇中存储的所有文件目录项指向的文件以及文件夹目录项指向的各个子目录,同时各个子目录以下的所有内容都将会丢失。
一款较好的数据恢复软件应该能够对某些特征值进行判断以确定这些内容是否可能是目录项,且又无父目录项指向这个位置,就将该位置作为一个“孤目录”看待,单独为其建立一个目录树,并向下遍历它的下级子目录及文件。 |