ext4分割槽中恢復被刪除的檔案

2021-05-22 13:50:14 字數 1745 閱讀 5948

今天在測試我剛完成的在linux對ntfs分割槽進行備份和恢復的**,執行程式備份乙個200m的ntfs分割槽,然後在執行另乙個程式恢復資料到這個200m的分割槽中,然後把這個分割槽載入到/tmp/sdd1中檢視,檔案恢復成功 --- 欣喜啊,做了幾個星期,終於可以舒一口氣了!

因此,想進一步測試一下,所以想把/tmp/sdd1中的內容刪除,然後再恢復一次,看是否可以恢復整個分割槽的資料!因此手快快的執行了rm *。然後發現有個目錄沒刪除,我想「不對啊!我沒拷貝目錄到這個ntfs分割槽啊」,然後看一下目錄路徑,自己的專案路徑,因為我是在這個目錄下載入/dev/sdd1 到/tmp/sdd1中的,並沒有切換目錄。這時心的都涼了!做了那麼久的專案,那麼多的**檔案,說沒就沒了 :( --- 欲哭無淚啊!

由於專案還沒建svn**庫,因此所有**都是在我機子本地,也沒有乙個備份,天!這麼辛苦到底是為什麼,而且還會影響到專案進度啊。

搞了那麼久的windows下的檔案系統的資料備份和恢復,而且還打算寫乙個ntfs分割槽的檔案恢復軟體,而現在呢,居然載在linux下的檔案系統中,悲哀!

馬上上網查詢一下ext4分割槽的檔案恢復!

找到了兩個,乙個是photorec,另乙個是extundelete。

下面是我的檔案恢復歷程!

photorec恢復的資料非常凌亂,而且不準確,下面主要說明如何用extundelete來恢復我的資料!

在編譯之前,需要安裝兩個庫,乙個是e2fsprogs,另乙個是e2fslibs。

sudo apt-get install e2fsprogs e2fslibs-dev

這就是在ubuntu10.04下安裝的。

然後就是到它的源**目錄src下執行make進行編譯,最後生成extundelete可執行檔案。

然後我就執行

sudo ./extundelete /dev/sda9 --restore-all

這裡建議恢復所有的被刪除的檔案,下面會說明。

在程式結束後,會在程式的目錄下生成乙個目錄recovered_files

這個目錄下就是所有被刪除的檔案,然後你就可以在下面找到你的被刪除的目錄及檔案,但是我有很多檔案還是找不到,好在我要找的檔案是文字檔案,因此,我就借助了grep命令來查詢。

cd recovered_files

到這個目錄下,然後根據你的程式檔案裡的內容,比如說我要找我的partntfs類,因為這個檔案找不到,因此我這樣

grep -rhn "partntfs" *

根據輸出內容,我找到了這個檔案

fjb/.mozilla/firefox/omhuxrnc.default/cache/cf72b08ed01

用vim開啟這個檔案,果然是我需要的檔案,因此把它拷貝出來並重命名。

所以在上面說一定要恢復所有被刪除的檔案,因為extundelete有可能會把恢復的檔案改名,並放到其它目錄中。

這裡用grep來查詢還是因此有些恢復的檔案變成了隱藏檔案,並且恢復的檔案非常多,乙個乙個開啟測試會非常麻煩,所以用grep來查詢就快的多了。

最後,我很幸運,把整個工程的源**檔案成功恢復了,並重新編譯 --- 成功!

這裡如果extundelete沒完全恢復你的檔案資料,你可以再借助一下photorec和grep命令來恢復,photorec可以找回部分資料,但有些資料會比較凌亂,需要你去拼湊!photorec在testdisk中,你只需安裝testdisk就會安裝了photorec。

哎,雖然做了那麼就的資料備份和恢復的軟體,一不小心,也會載在這裡,所以奉勸各位,一定要小心自己的資料保護和備份自己重要的資料,畢竟硬碟有價,資料無價啊!

ext4分割槽中恢復被刪除的檔案

今天在測試我剛完成的在linux對ntfs分割槽進行備份和恢復的 執行程式備份乙個200m的ntfs分割槽,然後在執行另乙個程式恢復資料到這個200m的分割槽中,然後把這個分割槽載入到 tmp sdd1中檢視,檔案恢復成功 欣喜啊,做了幾個星期,終於可以舒一口氣了!因此,想進一步測試一下,所以想把 ...

在Windows下讀取Ext4分割槽

收藏分享2010 9 26 20 16 發布者 walkerxk 摘要 本文介紹兩個能在 windows 下讀取ext4分割槽的軟體。第乙個是 ext2read。它能檢視 ext2 3 4 分割槽並從中拷貝檔案和目錄,支援 lvm2 和 ext4 extent 以及遞迴拷貝整個目錄。第二個是本站之前...

使用resize2fs調整ext4分割槽大小

安裝公司samba伺服器時對磁碟需求量估計不足,原本分的只有100gb,使用一段時間後磁碟就達到了 86 的使用量,我的情況 將一塊硬碟分成了兩個區,乙個100gb 乙個60gb 只使用了前100gb空間的內容,後面的分割槽沒有掛載,也沒有使用。屬於比較好處理的情況 我的步驟 1 umount 掉s...