硬盘数据恢复的原理是什么?固态硬盘可以数据恢复吗?

硬盘数据恢复原理

今天一个女性朋友哭着打电话找我求救,说她不小心把公司的客户资料删掉了,而且还清空了回收站。因为是小公司,资料都在一台电脑上,也没有备份,主要是整个公司里没人重视数据安全性这个问题。(整个公司基本都是女的,都是电脑小白,装个系统、连个打印机都不会的那种)突如其来的数据不小心删掉了,整个公司的人都束手无策,如果老板知道了,她肯定吃不了兜着走!

数据丢了不要着急
硬盘数据丢了不要着急

其实她自己认为已经无药可救了,抱着试试的态度打电话给我。我先安慰了一下她,问她你不知道数据恢复这个东西吗?她一听像是找到了救星一样蹦起来了,说道我就知道你肯定有办法的!公司其他人开玩笑说我给她弄好了让她以身想许。(啧啧啧,我可是有家室的人,我媳妇比她还漂亮好不好)玩笑归玩笑,还是帮她搞搞吧,我告诉她数据恢复是有一定机率找回被删除的文件,但不是百分百的,也有可能是恢复不了的。给她捣鼓了一下午,功夫不付有心人,客户资料恢复了!我这朋友也总算松了口气,顺便教她平时怎么备份自己常用的重要文件,防止今天的悲剧重演。事成之后她非要请我吃海鲜,可我有老婆孩子了,单独跟她去吃饭还真有点不自在,唉,还是回家吃面条吧。

大部分情况下的数据丢失都会找回来的
大部分情况下的数据丢失都会找回来的

关于数据恢复这个东西大多数人可能只是有所耳闻,并不知道硬盘数据恢复的原理是什么?还有一部分人认为数据恢复只能对机械硬盘行的通,对固态硬盘不起作用。那,固态硬盘可以数据恢复吗?下面就跟大家聊聊关于硬盘数据恢复的话题吧。

当我们想删掉一个文件时,通常的操作是先右击鼠标点删除,再清空回收站。(图)不太懂电脑的人可能认为这样数据就已经彻底清空掉了。然而事实并不是这样的,当我们完成删除一个文件并清空回收站这个操作后,电脑内部是怎么运作的呢?

一、机械硬盘数据恢复的原理

要知道数据在磁盘当中都是以二进制的形式进行存储的,就像这样01010011,这些0和1通过FAT表让系统知道哪部分数据是文件1,哪部分是文件2。FAT表的作用是描述文件系统内存储单元的分配状态以及文件内容前后链接关系的表格。当我们执行清空回收站的操作后,系统内部执行的操作是把要删除的文件在FAT表当中的记录删除掉,也就是说我们删除文件后,系统并没有马上清空数据,只是在FAT表中标记这个文件已被删除,数据还是保留着的,所以就留给我们数据恢复机会了。

记录硬盘信息的FAT表
记录硬盘信息的FAT表

有的人会问为什么删除文件只删除FAT表而不直接清空数据呢?那是因为机械硬盘工作原理就是这样的,写入新数据前并不执行清除操作,而是直接把旧数据覆盖。如果写入数据前先把数据清空那就会多占用一定的磁盘性能,而且这个操作也没啥意义。所以删除文件就只是把文件的FAT表记录标记为已删除,再写入新数据时直接把这个文件的旧数据覆盖掉就可以了。

磁盘存储FAT表的是按照一定的算法进行的,我们根据算法逆推回原来的FAT表后数据不就回来了吗,当然了,这要借助数据恢复软件操作。数据恢复的软件百度一搜一大堆,这里面有收费的,有免费的,收费的功能肯定强一些,至于哪个好用哪个不好用,大家自己试试就知道了,我就不做广告了。即使FAT表因为某些原因不能恢复,也可以通过其他技术找回数据,比如用磁隧道显微镜可以直接在硬盘表面上找出0101的数据。数据恢复行业里有很多这方面的黑科技,即使硬盘被破坏被火烧也有一定的机率找回数据的。但是,数据恢复并不是百分百能成功的,是有一定机率的,所以对于重要数据而言还是提早及时备份才是关键。

以上讲到的数据恢复原理是针对机械硬盘的,如果是固态硬盘呢?有的朋友说固态硬盘只要一坏数据全丢,跟本找不回来。真的是这样吗?

二、固态硬盘数据恢复的原理

不同于机械硬盘的是固态硬盘在写入数据时必须这块区域不能有任何数据,如果有数据在写入数据前先把旧数据全部擦除,不像机械硬盘那样直接往旧数据上覆盖。因为每次写入数据前先进行擦除这样就会浪费一定的磁盘性能,降低了硬盘的写入性能,为避免擦除工作而浪费的磁盘性能,因此固态硬盘有个特殊功能TIM回收指令。在我们删除数据后,如果硬盘处于空闲状态的话就会开始擦除之前我们删除的数据,数据删除完了这块区域变成空白区域了,待下次进行写入操作的时候就可以直接把数据写入这块区域中,不必先执行擦除之后才去写入了。

TIRM指令在Win7之后的系统中才被添加进来,像是XP、2000都不支持TIRM的,所以在XP、2000下固态硬盘真的是越用越慢。而Win7之后的系统则会贴心的在电脑空闲的时候帮我们磁盘进行TRIM回收。

这里教大伙怎么查看自己的系统有没有开启TRIM回收指令。打开命令提示符(以管理员身份进行)输入fsutil behavior query disabledeletenotify回车,如果返回DisableDeleteNotify=0则表示是打开的,如果返回DisableDeleteNotify=1则是关闭的。系统默认都是打开TRIM的。

查看TRIM有没有开启的方法
查看TRIM有没有开启的方法

如果要手动打开TRIM,打开命令提示符(以管理员身份进行)输入fsutil behavior set disabledeletenotify 0回车就可以了。同样的如果要手动关闭TRIM则输入fsutil behavior set disabledeletenotify 1回车就可以了。

手动开启TRIM的方法
手动开启TRIM的方法
手动关闭TRIM的方法
手动关闭TRIM的方法

当我们使用固态硬盘并且开着TRIM的话,我们删除了数据,系统又执行了TRIM把数据擦除了,所以这时候数据想找回来几乎不可能了。

三、误删了重要文件的正确做法

1.当我们使用的是机械硬盘时,误删了文件,想要进行数据恢复的正确操作是:把我们的电脑停止一切操作,防止新数据写入覆盖旧数据,从另外一台电脑下载好数据恢复软件,放到U盘里再插到我们的电脑里去运行,这样大部分的情况下都可以找回原文件的FAT表的,就可以进行数据恢复了。

2.当我们使用的是固态硬盘,而且还开着TRIM,误删了文件再想找回来,除非系统正在执行其他操作还没有进行TRIM回收。一但执行了TRIM回收操作,想找回数据基本上是不可能的了,除非我们找专业的数据恢复公司单独为我们开发软件来进行数据恢复。

四、总结

数据恢复确实是一款良好的后悔药,但它不是特效药。我们不能仰仗着靠数据恢复来维持数据的安全性,我们用机械硬盘也并不是为了它的数据恢复能力才被用,只是因为机械硬盘容量大、价格便宜。我们用固态硬盘也不会为了能够数据恢复而去关闭TRIM,这样会影响固态硬盘的读写性能。关于数据的安全性,请大家记好三点:备份!备份!备份!

浏览次数 12,721