前面 FAT16下被删除文件的可恢复性进行了分析。在FAT16下,被删除文件的目录项中残留的起始簇地址仍然指向文件内容的真正起始处,也就是说,起码可以保证能够从文件的起始处进行恢复。不过,由于被删除文件的FAT表链被清空,一个多簇存储的文件,其后续簇的正确恢复可能性取决于文件存储的连续性。
FAT32下对文件进行删除后,如果目录项中残留的起始簇地址仍然指向文件内容的真实起始簇,它的可恢复性与FAT16下被删除文件的可恢复性相同,都是取决于文件存储的连续性。
但FAT32下被删除的文件,要面临一个更严重的问题,就是删除文件时其目录相中的起始簇号高两位被清零的问题。如果一个文件的存储地址超出了低两位所能表示的范围而使用了高两位,该文件被删除后,其目录项中残留的地址将不再指向文件内容的真正起始处。文件起始簇号的高两位被清零后,残留的起始簇号指向了与原文件毫不相干的位置,如果仍然按照这个残留的起始簇号进行恢复,即便原文件是连续存储的,也无法正确恢复数据。这就是为什么有时候恢复出的数据文件名等信息都正确,却无法正常打开的原因之一。
由此可见,FAT32下删除的文件,如果原存储位置使用了簇号高两位,被删除后的恢复难度是比较大的。 |