當前位置: 華文問答 > 數位

在硬碟中,我們刪掉的檔去哪裏了?而為什麽檔在專門的公司又能被恢復?恢復的原理是什麽?

2015-09-06數位

昨天的這個時候我還在為獲得了50贊而高興,結果今天就450贊了^_^

對答案做了一些修正,以答謝大家的支持。

建立檔:

蓋大樓(檔本體),同時制作一個指向樓的路標(指標)。使用者透過路標就能找到樓。

「刪除」檔(移動至資源回收桶):

在路標上寫一個「拆」字。

恢復檔(從資源回收桶恢復):

將路標上的「拆」字抹掉。

「完全」刪除檔(這裏的「完全」刪除指的是Shift+Delete直接刪除,或從資源回收桶刪除):

把路標拆了,樓先留著。這樣,只記路標位置的使用者就無法找到這個樓的具體位置了,而且也不會消耗太多的時間(畢竟拆路標比拆樓容易多了)。

此時,雖然樓還在原地,但是這塊地已經被系統認定為「空地」了——檔本體占據的空間被加入到硬碟可用空間中。

恢復檔(恢復「完全」刪除的檔):

因為廢棄的大樓還在原地,專業的搜救隊(數據恢復工具)還是有可能找到它的。然而樓附近很可能都是廢墟(被刪除數據),它們可能會幹擾搜救隊的判斷,造成搶救失敗。 一般來說,搜救隊會嘗試將樓1:1整體復制到其他場所 ,這樣如果搶救失敗了,使用者還有機會請求其他搜救隊的幫助;而如果原地搶救,萬一失敗,可能會對樓造成無法逆轉的破壞。

在英文維基百科上有一些搜救隊的聯系方式,如有需要可以參考:

List of data recovery software

恢復檔的原理:(評論區 陸濤 問起這個問題,於是補充一下)

從一片廢墟中找到目標大樓的「招牌」。找到之後,以找到的樓為原型,在其他地方建造一模一樣的新樓。

(招牌:絕大多數的檔都以特定內容開頭和結尾,比如GIF格式圖片一定是以GIF87a或者GIF89a開頭、十六進制數位「3B」結尾。只要定位到特定檔頭、檔尾,基本就能確定這部份數據屬於同一個檔,以及判斷出該檔的格式)

再建立檔:

施工隊到達施工現場後,發現這裏已經有大樓存在,但是這個大樓已經廢棄,於是把它炸了,蓋新的樓。這時候原來的樓就徹底找不到了,最多只能搶救出一部份殘骸。

(註:以上資訊僅對普通硬碟有效; 如果使用的是 SSD固態硬碟,且 SSD 硬碟本身和作業系統都支持 Trim 指令 ,則在執行 「完全」 刪除操作的同時, 立刻開始拆樓,因此刪除的數據無法找回 。感謝評論區

老趙

superheasy

補充)

-------------------

2015.9.17由於評論區有兩位朋友問到如何徹底刪除檔,補充一段。

「粉碎」檔(使用第三方工具,在普通硬碟上徹底刪除檔):

將原來的樓炸掉,然後在廢墟上搭建違章建築(全零、全一,或者隨機無用數據)。搭建完成後,將違章建築炸掉,再搭建新的違章建築。如此反復一定次數後,原來的樓就連渣都找不到了。

該操作需要在炸樓後蓋新樓(且可能會蓋好幾次),因此速度非常慢。

能夠完成此工作的工程隊(檔粉碎工具)有很多,請自行尋找。

請不要在SSD固態硬碟上使用檔粉碎工具,因為:

1.SSD硬碟的壽命與寫入數據的次數有關。檔粉碎工具會多次寫入數據,嚴重影響硬碟壽命。

2.由於耗損平均技術(

Wear leveling

),在SSD硬碟上無法強行指定寫入數據的位置,這一點與普通硬碟不同。也就是說,SSD硬碟上搭建的違章建築很可能和原來的樓位置完全不同,無法達到破壞樓的效果。

3.由於上文中提到的

Trim

指令,一般並不需要刻意執行「粉碎檔」操作。