刪除文件並清空回收站後找回數據的原理

清空回收站後數據就徹底消失了?

答案:不。


數據刪除與恢復的原理

電腦是用2進制進行存儲和計算數據的,磁盤同樣也是利用2進制進行存儲數據,無論是電腦上的磁盤還是手機上的內存顆粒都是這樣。

假設一塊磁盤可以存儲64字節的數據。這時候64個格子裏什麼數據都沒有,默認就全部是0:

現在假設有這麼一組大小是13個字節的數據他們合起來叫文件A:

這時把這13個字節存入到這塊磁盤:

但是系統不知道哪些數據是文件A的,所以用紅框框出來:

告訴系統紅色的框就是一個整體的文件,這個紅框就叫FAT表。

FAT表:用來描述文件系統內存儲單元的分配狀態和文件的內容前後鏈接關係的表格。

有了FAT表後,磁盤才知道哪些數據合起來是一個文件。


磁盤數據是如何恢復的?

一般刪除文件就是ctrl+D,然後該文件就到回收站裏。

回收站就是一個另類的文件夾而已,刪除的文件並不會直接消失而是先放入文件夾讓我們有“反悔” 的機會。

然後很多人還會把回收站清空,清空回收站執行的操作就是刪除該文件在FAT表中的記錄。

也就是說執行徹底刪除,刪除並清空回收站或shift+del不進入回收站的刪除,系統完成的操作就是在FAT表中標記這個文件已經被移除了。然後把紅框從磁盤上拿掉了。但是文件那些0101的數據本質上還是存在的。

這就是數據刪除了可以被恢復的原因,因爲我們的數據本質上並沒有消失,還存在我們的磁盤裏,只是FAT表中的記錄沒了。

爲什麼刪除文件只是刪除FAT表呢,而不是直接把那一塊區域全部清空?

原因是機械硬盤的工作原理比較特殊。在寫入新的數據的時候可以直接往舊的數據上去覆蓋。所以,刪除舊的數據的時候拿掉FAT表就可以了,下次還要往裏寫入數據的時候直接往上覆蓋就OK。

如果刪除數據以後還需要全部填充回默認的0000那就會佔用一定的磁盤性能,而且反正能直接覆蓋上去填充回0又有啥意義。

所以,機械硬盤不小心刪除的數據是可以通過一定的方法去進行恢復的。刪除文件以後只是刪除了FAT表當中記錄,數據還是存在磁盤表面。

磁盤存儲FAT表時是按照一定的算法進行的,只需要利用軟件根據算法逆推回原來的FAT表,數據就可以被找回了。

而數據找回軟件百度一大片。

就算FAT表不能進行恢復,數據恢復行業還有很多黑科技,例如磁隧道顯微鏡可以直接在硬盤表面上找0101 的數據,很多的機械硬盤被火燒、幾十層樓掉下去摔碎了磁盤變形了、盤表面被劃了,都是有一定機率找回數據的。

就數據的安全性講,機械硬盤可以給我們留更多的後路。

提早及時備份纔是王道。

 

上面是對於機械硬盤而言,對於固態就不適用了。固態硬盤在寫入新數據的時候必須要保證那一塊的區域是空的,如果不是空的,就需要先進行擦除操作,再進行寫入。固態硬盤不像機械硬盤那樣直接往舊數據上覆蓋。也正是這個原因,固態硬盤內部的特殊功能:TRIM回收指令。

假如有個固態硬盤,用了一段時間然後刪掉了一些數據,下一次再進行寫入數據的時候剛好用到這一塊區域。因爲需要先進行擦除操作就會浪費一定的磁盤性能,所以寫入的速度就會發生下降。這就是爲什麼固態硬盤用久了就會發生降速的現象。降速不只是只需要擦除數據這一個原因導致的。

爲了避免出現固態硬盤降速的情況,固態硬盤的廠商久搞了TRIM回收指令。在刪除數據以後,如果系統檢測到我們當前沒有進行數據讀寫,硬盤處於空閒狀態,就會開始擦除之前刪除的數據,當數據刪除完後那塊區域久空了,下一次再寫入的時候直接往上寫就OK了。

古老的Windows XP,系統不支持TRIM回收指令,機械或固態硬盤在系統內部都是一樣的,所以那時的固態是越用越慢。

win7後就加入了TRIM指令。

如果開着TRIM,使用的還是固態硬盤,那麼清空數據後系統也執行了TRIM擦除,數據就幾乎不可能找回了。

總之,使用的是機械硬盤,不小心刪除了某個文件,立馬停止一切操作,防止系統寫入新的數據覆蓋了舊數據,找一個別的電腦下載數據恢復軟件裝進U盤到你的電腦運行。大概率是可以找回源文件的FAT表的。

或者馬上斷電,然後進入PE,用DG找回。

但是如果使用的是固態硬盤,還開着TRIM指令,那就呵呵了。打錢給數據恢復公司吧。

用機械硬盤不是上面的原因,只是剛好數據恢復的特性,便宜容量大。

不要本着數據安全去買機械硬盤。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章