快訊
2026-10-15
科技大小事

SSD 刪除檔案後為什麼更難救?TRIM 到底做了什麼

約 8 分鐘閱讀 · 14 次瀏覽
廣告

⚡ 本文重點

  • 文章屬性:科技冷知識 / 原理解析
  • 核心結論:TRIM 啟用的 SSD 誤刪後,救回機會比傳統硬碟低,但不是零(NVMe 的解除配置屬建議性質);不建議為了救援關閉 TRIM,能保住檔案的是事前備份。
  • 適用對象:用 SSD 的 Windows 使用者,以及剛誤刪檔案、想知道還有沒有機會的人

📌 快速答案

一句話答案:SSD TRIM 資料救援之所以困難,是因為 Windows 刪檔後會用 TRIM 通知 SSD 哪些位置已失效,SSD 可能在垃圾回收時抹除這些位置的資料,讀取結果也可能不再是原檔。

– 還在資源回收筒裡的檔案可以直接還原,不需要救援軟體

– 誤刪後要救就立刻動手,期間盡量別使用電腦、避免寫入新資料,救回的檔案存到另一顆磁碟


🔍 故事的起點:SSD TRIM 資料救援為什麼比較難

傳統硬碟刪掉的檔案,只要還沒被新資料蓋過,資料其實還留在原位;SSD 則會多收到一則叫 TRIM 的通知,情況就不同了。 微軟在 Windows File Recovery 的說明中提醒,救不回來時可能是可用空間已被覆寫,在固態硬碟(SSD)上尤其如此。想搞懂 SSD TRIM 資料救援為什麼這麼難,得先看 Windows 刪檔時做了什麼,以及 TRIM 讓 SSD 多知道了什麼。

如果你要找的是 SSD 日常保養(檢查 TRIM、4K 對齊、散熱),可以看SSD 壽命保衛戰:破除重組迷思與 NVMe 散熱極客術;這篇只談刪除之後,資料為什麼比較難救回來。


🧪 原理拆解:TRIM 與垃圾回收機制

Windows 刪檔只改檔案表,資料本身還在

刪除檔案時,Windows 只在檔案系統的內部表格把檔案標成已刪除,那塊空間變成可用,資料不會馬上被清掉。 Kingston 說明,在傳統硬碟上,這些失效資料會留在原位,直到被新資料直接覆寫;微軟也寫到,被刪檔案占用的空間只是標成可用,資料仍可能存在並被救回,但任何電腦操作都可能產生新檔案把它蓋掉。

這裡說的刪除,指的是清空資源回收筒之後的狀態。還在回收筒裡的檔案可以直接還原,微軟也把 Windows File Recovery 定位成用來救「無法從資源回收筒還原」的檔案;回收筒怎麼保存檔案,可參考Windows 資源回收筒到底把檔案放去哪?揭開 $Recycle.Bin 與 SID。

TRIM 做了什麼:把「這些位置沒用了」告訴 SSD

TRIM 是作業系統送給 SSD 的刪除通知,告訴它哪些位置的資料已經隨檔案刪除而失效。 微軟在 fsutil 文件中稱它為刪除通知(delete notification,也就是 trim 或 unmap),作用是把因刪除檔案而釋放的叢集告知底層儲存裝置;NTFS 預設啟用,除非系統管理員關閉。Kingston 指出 TRIM 是 ATA 介面的指令,並說明 Windows 7 之前沒有辦法標示 SSD 上哪些資料可以清除,之後的 Windows 版本會對支援 TRIM 的 SSD 自動執行。NVMe SSD 則有 Dataset Management 指令的「解除配置」(Deallocate)屬性,讓主機告訴 SSD 哪些範圍可以釋放。

為什麼 TRIM 之後更難救:讀回的可能已是全 0

救援軟體靠讀取「標成可用」的位置撈資料,而 SSD 收到解除配置後,回傳的內容可能已經不是原檔。 微軟的 NVMe 文件寫明,讀取已解除配置的範圍時,控制器會回傳全 0、全 1,或最後寫入的資料;若啟用了相關錯誤回報,讀取還會直接失敗。

廣告
SSD 刪除檔案後的四個階段:Windows 在檔案表標記刪除,送出 TRIM 通知 SSD 哪些叢集已釋放,NVMe 讀取已解除配置範圍可能回傳全 0、全 1 或最後寫入的資料,垃圾回收通常在閒置時搬走有效頁並抹除整個區塊

接著是垃圾回收。Kingston 說明,快閃記憶體不能直接覆寫舊資料,寫入以「頁」為單位、抹除卻以「區塊」為單位,控制器會把區塊內仍有效的頁搬到新區塊,再抹除整個舊區塊,這個過程稱為垃圾回收(Garbage Collection),通常在系統閒置時自動進行。有了 TRIM,已刪除檔案的頁就能在下次閒置時交給垃圾回收處理。

同一份 NVMe 文件也寫到,這道指令屬於建議性質,相容的控制器可以選擇不採取任何動作。所以 SSD 誤刪的救回機會比傳統硬碟低,但不能一概說成完全沒救。

TRIM 不只在刪檔當下:定期最佳化還會再補送

TRIM 不是刪檔那一刻送完就結束,Windows 的定期最佳化還會再對未使用的空間補送。 微軟說明最佳化磁碟機的排程預設每週執行,但 defrag 文件寫明,由排程執行時,SSD 的 retrim 每月進行一次,調整排程頻率也不影響這個節奏;Optimize-Volume 文件則寫明,支援 TRIM 的 SSD 預設執行 ReTrim,會對整個磁碟區所有目前未使用的磁區送出 TRIM 與 Unmap 提示。已刪除檔案所在的位置就屬於未使用磁區,誤刪後放著不處理,等於給這些機制更多時間。

HDD 與 SSD 的覆寫行為差異

項目傳統硬碟(HDD)SSD(TRIM 啟用)
刪除後的資料留在原位,直到被覆寫標為失效,之後可能由垃圾回收抹除
會不會收到刪除通知回報不支援 TRIM 的硬碟收不到支援 TRIM 的 SSD 會收到
讀取已刪除的位置未覆寫前仍是舊資料NVMe 可能回傳全 0、全 1 或最後寫入的資料
最佳化時做什麼重組TRIM(對未使用磁區送出提示)
  • 不支援 TRIM 的傳統硬碟,刪除只發生在檔案系統,資料要等到被覆寫才消失,救援軟體才有機會
  • SSD 多了 TRIM 這一步,讀取結果與背景抹除都讓舊資料更快拿不回來
  • NVMe 的解除配置在規格上屬建議性質,不保證每顆 SSD 都立刻清空,結果因硬碟而異
  • 排程最佳化會定期對未使用磁區補送 TRIM(SSD 為每月一次),誤刪後拖越久越不利

💡 總結:冷知識延伸

在 TRIM 啟用的 SSD 上,誤刪後救回的機會比傳統硬碟低,真正能保住檔案的是事前備份。 Kingston 提到,在沒有 TRIM 的年代,SSD 會一直保留失效資料,直到被要求在該位置寫入新資料,速度較慢也不利壽命;TRIM 本來是為了效能與壽命而設計,救援變難是附帶的結果。

想確認 Windows 有沒有啟用 TRIM(刪除通知),可以用系統管理員身分開啟命令提示字元,執行下面這行指令(fsutil 需要系統管理員權限)。

fsutil behavior query DisableDeleteNotify

結果中的 NTFS DisableDeleteNotify = 0 代表 Windows 會送出刪除通知,= 1 代表停用;SSD 本身還要回報支援 TRIM 才收得到通知。真的誤刪時,先翻資源回收筒;回收筒沒有,要救就立刻動手,過程中盡量別使用電腦、避免寫入新資料,救回的檔案要存到另一顆磁碟(微軟的 Windows File Recovery 就規定來源與目的地必須不同),也不要在遺失資料後新建分割區。別把停止使用當成開著電腦放著不管,垃圾回收通常就在閒置時進行。平常開啟Windows 檔案歷程記錄並定期確認備份有在更新,誤刪時直接從備份拿回來,比事後救援可靠。

廣告

❓ 常見問題

Q:SSD 刪掉的檔案還救得回來嗎?

先看資源回收筒,還在裡面就能直接還原。清空回收筒之後,TRIM 啟用的 SSD 救回機會比傳統硬碟低,但不是零,因為 NVMe 的解除配置屬於建議性質,讀取結果也可能仍是最後寫入的資料。想試的話就立刻進行,期間盡量別使用電腦、避免寫入新資料,把救回的檔案存到另一顆磁碟;開著電腦閒置不處理,反而給垃圾回收更多時間。

Q:TRIM 到底做了什麼?

TRIM 是 Windows 送給 SSD 的刪除通知,告訴它哪些叢集已經因為刪除檔案而釋放。SSD 可以據此提早回收空間,垃圾回收時不必繼續搬移那些無效資料。

Q:跟傳統硬碟差在哪?

不支援 TRIM 的傳統硬碟刪檔後,資料留在原位直到被覆寫;SSD 收到 TRIM 後,舊資料可能在垃圾回收時被抹除(結果依硬碟而異),NVMe SSD 讀取這些位置也可能只拿到全 0 或全 1。兩者差異可以看上方對照表。

廣告

Q:可以關掉 TRIM 保留救援機會嗎?

fsutil 確實有停用刪除通知的設定,但編輯部不建議為了救援而關閉。微軟文件提到的停用情境,是某些裝置開啟刪除通知後效能反而下降;NTFS 預設就是啟用。Kingston 也說明,沒有 TRIM 時 SSD 速度較慢、也不利壽命。用長期的效能與壽命換一個不確定的救援機會並不划算,把力氣放在備份比較實際。

Q:外接 SSD 也會 TRIM 嗎?

要看裝置有沒有回報支援 TRIM。微軟文件寫明,回報不支援 TRIM 的裝置不會收到刪除通知,Optimize-Volume 文件也寫明,不支援 TRIM 的 SSD 預設不做任何動作;回報支援的外接 SSD,則和內接 SSD 一樣會收到刪除通知。


🔗 延伸閱讀


📎 參考資料來源

📖 第一級|廠商官方:

📅 本文查證戳記:2026-09-26 依據 Microsoft Learn、Microsoft Support 與 Kingston 官方文件查證撰寫,內容整理自官方說明,未實機測試救援。

若你發現內容與實際情況不符,歡迎在留言區回報。


廣告