Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 系統工具

NTFS 卷誤刪檔案手工恢復實戰:用 WinHex 從 MFT 追蹤資料運行恢復 JPG 照片

編輯:系統工具

前言

NTFS 刪除檔案時,MFT(主檔案表)記錄不會立即清除,只標記為「已刪除」。若檔案碎片少、未被覆寫,可透過手工分析 MFT 找回資料。本文以恢復 D 槽 photo\penquan.jpg 為例,示範完整流程。

工具準備

  • WinHex(十六進位編輯器,支援磁碟/分區層級操作)。
  • 目標分區未被寫入新資料(關鍵前提)。

步驟 1:開啟目標邏輯分區

WinHex →「工具」→「開啟磁碟」→ 選擇邏輯磁碟(如 D:)→ 確定。畫面顯示分區內容。

步驟 2:定位 $MFT 起始位置

選單「位置」→「轉到位移」→ 輸入 $MFT 或已知 MFT 起始叢集位址(通常在分區前段)。圖示顯示 MFT 區域。

步驟 3:搜尋目標檔案的 MFT 記錄

選單「搜尋」→「尋找文字」→ 輸入檔名 penquan.jpg(Unicode/UTF-16LE)。找到對應的 MFT 記錄(每筆 1024 位元組)。

步驟 4:分析 MFT 記錄關鍵欄位

  • 位移 0x15~0x16:Flags = 0x0000 表示已刪除(正常為 0x0001 或 0x0003)。
  • 屬性 0x80($DATA):包含資料運行描述。
    • 位移 0xC12DD160:檔案實際大小 = 0x506E 位元組(20,590 bytes)。
    • 位移 0xC12DD170:資料運行描述 = 41 06 83 0B 90 00。
      • 41:後續 1 位元組為叢集計數,4 位元組為起始邏輯叢集號(LCN)。
      • 06:佔用 6 個叢集。
      • 83 0B 90(小端序)→ LCN = 0x900B83 = 9,440,131。

步驟 5:跳轉至資料起始位置並提取

  1. 選單「位置」→「轉到磁區」→ 「叢集」輸入 9,440,131 → 確定。畫面顯示該叢集內容,開頭 FF D8 FF 為 JPEG 檔頭標記。
  2. 滑鼠右鍵該位置 →「選塊開始」。
  3. 根據檔案大小(20,590 bytes)計算結束位移,或直接選塊至檔案結尾標記 FF D9。
  4. 選單「編輯」→「複製塊到新檔案」→ 存為 penquan_recovered.jpg。

驗證與補充

  • 雙擊恢復檔案,以圖片檢視器開啟確認內容完整。
  • 若檔案有碎片(多段資料運行),需依序追蹤每段 LCN 與計數,合併提取。
  • 若 MFT 記錄已被覆寫,此法失效,需改用掃描檔案特徵碼的資料救援軟體(PhotoRec、FinalData)。

核心觀念回顧

  1. NTFS 刪除 = MFT 標記刪除 + 位圖釋放叢集,資料實體暫存。
  2. MFT $DATA 屬性記錄「起始 LCN、叢集數、實際大小」是恢復關鍵。
  3. WinHex 讓我們直接在十六進位層級追蹤並提取原始資料。
Copyright © Windows教程網 All Rights Reserved