1. 程式人生 > >長見識了: 一篇文章帶你看懂 硬碟資料恢復軟體的原理

長見識了: 一篇文章帶你看懂 硬碟資料恢復軟體的原理

 

有用過資料恢復軟體的小夥伴都知道,硬碟或者儲存卡里面不小心刪除或者格式化的檔案都是有機會找回來的。大家知不知道這是個什麼原理呢?

不管是我們的硬碟、U盤還是儲存卡,其實都是相當於一個倉庫。我們需要什麼東西就去倉庫裡面拿,或者把東西存到倉庫裡面。比如說我們要在硬盤裡面存一部小電影,硬碟會先記錄下這個檔案的詳細資訊,比如檔名、格式、大小,以及在倉庫具體在什麼位置。當我們下次要用到這個檔案的時候,就可以快速在倉庫裡面找到這個檔案並提出來。這裡把硬碟比喻成倉庫,既然是倉庫,那麼就會有一個倉庫管理員。當我們儲存東西的時候就相當於入庫,倉庫管理員就會對檔名、格式、大小,以及在倉庫具體在什麼位置這些資訊的登記。當要讀取時就相當於出庫,管理員會根據之前的登記表去倉庫裡面找。

現在我們瞭解了檔案儲存和讀取的過程,再看一下刪除。刪除檔案一般有兩種方式,一種是右鍵刪除,把檔案拖入回收站,如果需要的時候檔案還可以從回收站裡面還原後來。另外一種就是徹底刪除檔案,比如用shift+delete,還或者說清空回收站,這就算是徹底從電腦刪除這個檔案了。

先看第一種到回收站的情況,我們的硬碟也就是前面說的倉庫,倉庫管理員會在登記表上的備註欄上寫上“已刪除”。然後再更新一下這個倉庫的容量,這樣就算完成了刪除的工作。這個時候如果我們要把檔案還原回去,管理員只是把備註欄上的“已刪除”擦掉,再把倉庫容量更新一下就好了。

 

但是這裡大家要注意的是,我們要把檔案刪除到回收站,或者從回收站裡面還原,倉庫裡面的檔案依舊還是在那個地方,並沒有發生任何變化。

然後再看第二種情況,徹底把檔案從電腦上刪除。這時候倉庫管理員是直接把這個檔案資訊從倉庫登記表上擦掉,然後再更新倉庫的容量,這樣就算徹底刪除了。但是這時候我們就會發現,不管是我們是刪除到回收站或者徹底刪除,倉庫管理員也只是在登記表上的操作,倉庫裡面的檔案一直沒給扔掉,其實那個檔案還是一直存在,原封不動放著。為什麼倉庫管理員不把東西直接扔掉呢?如果想一下你是倉庫管理員,有人說倉庫第三排第一列的東西不要了,你也不可能馬上去找到這個東西拿去扔掉,只是記錄這個地方是空的可以放東西,等下次有東西需要往這個位置放的時候再一起把舊的扔掉,這樣才可以提高工作效率。硬碟的操作也是這個道理。

現在看看資料恢復是個什麼原理。我們知道其實所謂的刪除檔案只是把登記表上的資訊刪除掉,東西本身還是在倉庫裡面的。用恢復軟體,其實就是相當於在貨架上查詢上面有些什麼東西。

我們在報廢電腦、手機、U盤之類的,通常為了保護隱私會把裡面的內容刪除掉甚至是格式化。但是知道了這個原理之後,其實裡面的內容仍然存在,是有機會給輕易恢復回來的。那麼我們怎麼才能保證裡面的內容真正給清空呢?我們可以放硬盤裡面存入一下無關重要的檔案,把硬碟存滿,但這樣比較麻煩。可以用軟體給全部寫入,例如常見的硬碟測試軟體HD Tune 就有這個功能。

或者常用的硬碟分割槽軟體DiskGenius,清空扇區功能。這樣資料就很難給恢復了。如果不放心可以重複幾次

知道這個原理後,想給誤刪除的檔案恢復,最重要的是不要再給硬碟其他操作了,這樣會大大增加成功率。

不同分割槽格式也對資料恢復成功率有影響

FAT或者FAT32分割槽,刪除或者格式化後,比較大的檔案或者經常編輯修改的檔案,恢復成功率要低一些,比如經常編輯修改的XLS或者CDR檔案就很難完整恢復。那些檔案拷進去後就不動的檔案,恢復成功率比較高,比如PDF或者JPG,MPG等不經常修改的檔案,恢復率還是比較高的。這是因為FAT和FAT32分割槽使用檔案分配表來記錄每個檔案的簇鏈碎片資訊,刪除或者格式化後簇鏈碎片資訊就被清空了,那些經常編輯修改的檔案由於它們的檔案長度動態增長,在檔案系統中一般都不會連續存放,所以檔案碎片資訊就無法恢復,檔案恢復也就不完整了。

NTFS分割槽的恢復概率比較高,一般刪除或者格式化後絕大部分檔案都是可以完整恢復的。某些檔案有時候無法恢復,例如一些檔名很長或者某些經過很長時間的編輯、修改的檔案,這些檔案會形成很多的碎片資訊,在刪除檔案後,這個檔案就無法知道檔案長度,很難恢復了,例如一些使用很多年的資料庫檔案,刪除後用資料恢復軟體掃描到的檔案長度是0,無法恢復。定期做磁碟碎片整理可以減少這種情況的發生,但是直接做磁碟碎片整理也有風險,磁碟碎片整理出錯,會將丟失後的資料回覆難度加大。