萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 使用 ext3grep 復原誤刪檔案完整教學(含實戰操作流程)

Linux 系統下誤刪重要檔案時,ext3grep 是針對 ext3/ext4 檔案系統的強力復原工具。本文完整記錄從安裝、建立測試分區、模擬刪除到實際掃描復原的完整流程,並附上關鍵參數說明,助你在災難發生時冷靜應對。

ext3grep 復原工具示意圖

環境準備與安裝

  • 工具版本:ext3grep-0.10.2.tar.gz
  • 測試系統:RHEL 5.4(Kernel 2.6.18),虛擬機環境

編譯安裝步驟

tar zxvf ext3grep-0.10.2.tar.gz
cd ext3grep-0.10.2
./configure --prefix=/usr/local/ext3grep
make && make install

安裝完成後,執行檔位於 /usr/local/ext3grep/bin/ext3grep。

核心參數速查表

類別參數用途
動作--ls列出目錄項目(單行顯示),常搭配過濾器使用
--restore-file依檔名復原指定檔案
--restore-all嘗試復原所有已刪除檔案
過濾--deleted僅處理已刪除的 inode
--after 僅處理指定時間後刪除的項目
--before 僅處理指定時間前刪除的項目
--group 僅處理特定區組

實戰演練:模擬刪除與復原

1. 建立循環裝置模擬分區

mkdir /tmp/test
dd if=/dev/zero of=file count=102400
mkfs.ext3 file
mount -o loop /tmp/test/file /mnt

2. 寫入測試資料並刪除

cd /mnt
mkdir del && cd del
touch 1 2 3
cd ..
rm -rf del

3. 掃描並復原

cd /usr/local/ext3grep/bin
# 掃描根目錄 inode (通常為 2)
./ext3grep /tmp/test/file --ls --inode 2

# 依 inode 復原特定目錄
./ext3grep /tmp/test/file --restore-inode 1234

# 或全盤復原所有已刪除檔案
./ext3grep /tmp/test/file --restore-all

關鍵操作提醒

  • 立即停止寫入:發現誤刪後,第一時間卸載檔案系統或掛載為唯讀,防止資料區塊被覆寫。
  • 優先備份映像檔:對生產環境,建議先用 dd 製作完整磁碟映像,在映像檔上操作復原。
  • Journal 關鍵:ext3grep 會讀取 Journal 尋找已刪除 inode 資訊,Journal 被覆寫前復原成功率最高。

適用範圍與限制

  • 支援:ext3、ext4(ext4 需關閉 extent 功能或較舊版本)
  • 不支援:XFS、Btrfs、NTFS、FAT32 等非 ext 系列檔案系統
  • 無法復原:已被覆寫的資料區塊、加密檔案系統內容

掌握 ext3grep 基本操作,能在誤刪事故發生時爭取寶貴復原時間。建議平時在測試環境演練流程,真正遇到故障時才能得心應手。

copyright © 萬盛學電腦網 all rights reserved