打个通俗易懂的比方,文件在磁盘上的存储就像是一个链表,表头是文件的起始地址,整个文件并不一定是连续的,而是一个节点一个节点的连接起来的。要访问某个文件时,只要找到表头就行了。删除文件时,其实只是把表头删除了,后面的数据并没有删除,直到下一次进行写磁盘操作需要占用节点所在位置时,才会把相应的数据覆盖掉。数据恢复软件正是利用了这一点。所以,就算你误删了文件之后又进行了其他写磁盘操作,只要没有覆盖掉那些数据,都是可以恢复的。
文件之所以能被恢复,须从文件在硬盘上的数据结构和文件的储存原理谈起。新买回的硬盘需分区、格式化后才能安装系统使用。一般要将硬盘分成主引导扇区、操作系统引导扇区、文件分配表(FAT)、目录区(DIR)和数据区(Data)五部分。在文件删除与恢复中,起重要作用的是“文件分配表”的“目录区”,为安全起见,系统通常会存放两份相同的FAT;而目录区中的信息则定位了文件数据在磁盘中的具体保存位置——它记录了文件的起始单元(这是最重要的)、文件属性、文件大小等。在定位文件时,操作系统会根据目录区中记录的起始单元,并结合文件分配表区知晓文件在磁盘中的具体位置和大小。实际上,硬盘文件的数据区尽管占了绝大部分空间,但如果没有前面各部分,它实际上没有任何意义。人们平常所做的删除,只是让系统修改了文件分配表中的前两个代码(相当于作了“已删除”标记),同时将文件所占簇号在文件分配表中的记录清零,以释放该文件所占空间。因此,文件被删除后硬盘剩余空间就增加了;而文件的真实内容仍保存在数据区,它须等写入新数据时才被新内容覆盖,在覆盖之前原数据是不会消失的。恢复工具(如FinalData等)就是利用这个特性来实现对已删除文件的恢复。对硬盘分区和格式化,其原理和文件删除是类似的,前者只改变了分区表信息,后者只修改了文件分配表,都没有将数据从数据区真正删除,所以才会有形形色色的硬盘数据恢复工具。那么,如何让被删除的文件无法恢复呢?很多朋友说,将文件删除后重新写入新数据,反复多次后原始文件就可能找不回啦。但操作起来比较麻烦,而且不够保险。