长见识了: 一篇文章带你看懂 硬盘数据恢复软件的原理

 

有用过数据恢复软件的小伙伴都知道,硬盘或者存储卡里面不小心删除或者格式化的文件都是有机会找回来的。大家知不知道这是个什么原理呢?

不管是我们的硬盘、U盘还是存储卡,其实都是相当于一个仓库。我们需要什么东西就去仓库里面拿,或者把东西存到仓库里面。比如说我们要在硬盘里面存一部小电影,硬盘会先记录下这个文件的详细信息,比如文件名、格式、大小,以及在仓库具体在什么位置。当我们下次要用到这个文件的时候,就可以快速在仓库里面找到这个文件并提出来。这里把硬盘比喻成仓库,既然是仓库,那么就会有一个仓库管理员。当我们储存东西的时候就相当于入库,仓库管理员就会对文件名、格式、大小,以及在仓库具体在什么位置这些信息的登记。当要读取时就相当于出库,管理员会根据之前的登记表去仓库里面找。

现在我们了解了文件储存和读取的过程,再看一下删除。删除文件一般有两种方式,一种是右键删除,把文件拖入回收站,如果需要的时候文件还可以从回收站里面还原后来。另外一种就是彻底删除文件,比如用shift+delete,还或者说清空回收站,这就算是彻底从电脑删除这个文件了。

先看第一种到回收站的情况,我们的硬盘也就是前面说的仓库,仓库管理员会在登记表上的备注栏上写上“已删除”。然后再更新一下这个仓库的容量,这样就算完成了删除的工作。这个时候如果我们要把文件还原回去,管理员只是把备注栏上的“已删除”擦掉,再把仓库容量更新一下就好了。

 

但是这里大家要注意的是,我们要把文件删除到回收站,或者从回收站里面还原,仓库里面的文件依旧还是在那个地方,并没有发生任何变化。

然后再看第二种情况,彻底把文件从电脑上删除。这时候仓库管理员是直接把这个文件信息从仓库登记表上擦掉,然后再更新仓库的容量,这样就算彻底删除了。但是这时候我们就会发现,不管是我们是删除到回收站或者彻底删除,仓库管理员也只是在登记表上的操作,仓库里面的文件一直没给扔掉,其实那个文件还是一直存在,原封不动放着。为什么仓库管理员不把东西直接扔掉呢?如果想一下你是仓库管理员,有人说仓库第三排第一列的东西不要了,你也不可能马上去找到这个东西拿去扔掉,只是记录这个地方是空的可以放东西,等下次有东西需要往这个位置放的时候再一起把旧的扔掉,这样才可以提高工作效率。硬盘的操作也是这个道理。

现在看看数据恢复是个什么原理。我们知道其实所谓的删除文件只是把登记表上的信息删除掉,东西本身还是在仓库里面的。用恢复软件,其实就是相当于在货架上查找上面有些什么东西。

我们在报废电脑、手机、U盘之类的,通常为了保护隐私会把里面的内容删除掉甚至是格式化。但是知道了这个原理之后,其实里面的内容仍然存在,是有机会给轻易恢复回来的。那么我们怎么才能保证里面的内容真正给清空呢?我们可以放硬盘里面存入一下无关重要的文件,把硬盘存满,但这样比较麻烦。可以用软件给全部写入,例如常见的硬盘测试软件HD Tune 就有这个功能。

或者常用的硬盘分区软件DiskGenius,清空扇区功能。这样数据就很难给恢复了。如果不放心可以重复几次

知道这个原理后,想给误删除的文件恢复,最重要的是不要再给硬盘其他操作了,这样会大大增加成功率。

不同分区格式也对数据恢复成功率有影响

FAT或者FAT32分区,删除或者格式化后,比较大的文件或者经常编辑修改的文件,恢复成功率要低一些,比如经常编辑修改的XLS或者CDR文件就很难完整恢复。那些文件拷进去后就不动的文件,恢复成功率比较高,比如PDF或者JPG,MPG等不经常修改的文件,恢复率还是比较高的。这是因为FAT和FAT32分区使用文件分配表来记录每个文件的簇链碎片信息,删除或者格式化后簇链碎片信息就被清空了,那些经常编辑修改的文件由于它们的文件长度动态增长,在文件系统中一般都不会连续存放,所以文件碎片信息就无法恢复,文件恢复也就不完整了。

NTFS分区的恢复概率比较高,一般删除或者格式化后绝大部分文件都是可以完整恢复的。某些文件有时候无法恢复,例如一些文件名很长或者某些经过很长时间的编辑、修改的文件,这些文件会形成很多的碎片信息,在删除文件后,这个文件就无法知道文件长度,很难恢复了,例如一些使用很多年的数据库文件,删除后用数据恢复软件扫描到的文件长度是0,无法恢复。定期做磁盘碎片整理可以减少这种情况的发生,但是直接做磁盘碎片整理也有风险,磁盘碎片整理出错,会将丢失后的数据回复难度加大。