固態硬碟檔案刪除後可以恢復嗎(固態硬碟誤刪資料恢復方法)

誰也沒法保證一定不會有誤刪或者刪完檔案又後悔的時候,其實在DOS時代開始微軟就提供了Undelete命令來恢復已刪除的檔案,Windows開始提供了回收站體系,刪除的檔案不會直接從硬碟上抹除,而是先進入回收站,待回收站空間用滿或手動清空時才實際執行刪除操作。

不過即便如此也避免不了有手滑的時候,熟練的電腦使用者可能會利用Shift Del快捷鍵來不經回收站直接刪除檔案,而很多處女座使用者也有隨時清空Windows回收站的強迫症。已從回收站清空的檔案可以藉助Handy Recovery一類的工具來嘗試恢復。

這一招在機械硬碟時代百試不爽,只要是剛剛刪除的檔案,還未被其他資料覆蓋之前恢復成功率幾乎百分百。

而到了固態硬碟裡,各種資料恢復軟體全部啞火,即便能顯示出檔名,恢復出的檔案內容也全部是空白的。

之所以會發生這種現象還要從兩種硬碟的儲存原理說起,機械硬碟使用帶有磁性塗層的碟片記錄資料,刪除操作只修改檔案頭或檔案分配表,在被實際覆蓋寫入前資料不會被清除。而固態硬碟使用了快閃記憶體作為儲存介質,速度更快延遲更低,不怕震動沒有噪音,但諸多優勢之外有一個與磁性記錄不同的特點,那就是資料寫入之前快閃記憶體必須先進行擦除。

東芝Q300固態硬碟使用的原廠15nm eTLC快閃記憶體顆粒,在耐久度測試中被證明擁有高達3000PE的擦寫壽命,達到了近似於MLC水平:

為了滿足隨時寫入和磨損均衡等需求,寫入固態硬碟的資料在快閃記憶體內的存放位置並不是與外部存取地址一一對應的,而是由一張叫FTL的動態連結串列來維護。要想通過實際地址來恢復資料無異於刻舟求劍。

為了保障固態硬碟內隨時有空白位置可直接寫入,作業系統使用了名為Trim的指令,在刪除檔案時會通知SSD的主控哪些地址的資料已經沒用了,可以回收重利用。

SSD主控收到Trim資訊後會將這些位置的資料放入固態硬碟內的“回收站”,並在空閒時將對應的快閃記憶體進行擦除,這樣資料就再也不可能被恢復出來了。

即便固態硬碟內的“回收站”一時還沒有清空,SSD主控也會在FTL表中將這些位置標註為全零空白,通過外部軟體也無法恢復SSD中已Trim過的資料。如果關閉固態硬碟的Trim功能,可以用管理員身份執行命令提示符,然後輸入fsutil behavior set disabledeletenotify 1並回車,這樣就可以在作業系統層面禁用Trim,讓固態硬碟表現出機械硬碟一樣的資料可恢復性。當然這樣做會對SSD效能產生一些不利的影響,如何權衡還要看大家的選擇了。