ext3rescue linux下文件恢復

 前言
一、ext3rescue是什麼
二、ext3rescue可解決的數據災難
三、ext3rescue版本及特性
四、爲什麼選擇ext3rescue
五、ext3rescue參數說明
六、ext3rescue爲什麼不是圖形界面而是命令行
七、ext3rescue是否免費
八、軟件作者提示

ext3rescue用戶指南(點擊此處查看原文及下載)
前言
   早在08年,多次Linux的恢復案例便已經促使作者完成了不少Linux數據恢復軟件(ext3rescue只是其中一款),但當時卻並未有將此類軟件功能開放的想法。只是由於近幾年Linux的發展確實有些出人意料,Linux的用戶(不論是個人還是企業)越來越多,而ext3作爲Linux下最常用的文件系統,用戶羣自然也不小,開放ext3rescue的部分功能着實可以讓一部分用戶受益。當然Linux常見文件系統還包括reiserfs、xfs、 ext4和ufs等,而鑑於上述幾種文件系統的應用範圍非常有限,早已完工的恢復程序目前暫不對外提供。如果您確實有此類文件系統的恢復需求,可以聯繫作者以獲取恢復方案及服務。
        雖然目前存儲安全性很高,但絕大部分存儲仍然無法避免人爲誤操作的發生,不論您是個人用戶還是企業用戶,都會存在各種各樣丟失數據的風險。一旦災難降臨,如果原定備用解決方案無法奏效,您可以嘗試ext3rescue v1.0 demo(此版本可以無償獲得並使用),也許此版本由於功能限制並不能爲您100%解決問題,但您可以在版本功能限制內最大可能地挽回損失,甚至用該版本進行恢復測試以評估進一步數據恢復的可能性。如果ext3rescue v1.0 demo在所恢復文件大小、文件類型或進度等方面無法達到您的要求,您可以聯繫軟件作者以獲得完善的數據恢復解決方案和服務。

一、ext3rescue是什麼
   ext3rescue是一款用於恢復Linux ext3(兼容ext2)文件系統數據的Windows命令行程序,程序自身具有多個自定義參數,能勝任ext3下幾乎所有的數據恢復工作:


ext3rescue(圖1).jpg

下載 (63.16 KB)
ext3rescue-1
2011-08-25 12:48


圖1




二、ext3rescue可解決的數據災難
1.ext3分區格式化數據恢復;
2.ext3文件系統fsck後數據丟失的恢復;
3.ext3數據誤刪除的恢復(日誌中的文件結點信息已經消失)。

三、ext3rescue版本及特性
1.當前版本:ext3rescue v1.0
2.功能特點(紅色部分爲ext3rescue v1.0 demo版本功能限制):

。源文件可以爲存儲或鏡像文件,大小無限制(支持任意容量的ext3分區);
。可以指定分區起始,即所恢復的文件系統第0塊位置;

。可以自定義文件系統塊大小(支持1024/2048/4096);
。可以指定只掃描文件系統的某一段區域;
。所恢復的數據分別存儲於以文件類型命名的不同目錄下;
。可以只恢復特定文件類型或特定大小的數據;
。可通過Windows的批處理功能實現多個ext3文件系統的數據恢復工作;

。ext3rescue v1.0 demo版本支持恢復並且可以智能識別的文件類型包括bmp/gz/bz2/jpg/dwg/gif/jar/mid/ram/tif/zip/7z /flv/pdf/mp3/rar/rtf/cpt/chm/png/fm/ps/psd/wmv/crw/cdr/cmx/wav/tar,上述列表中未提到的文件類型在ext3rescue v1.0 demo中暫不提供支持(如需恢復其他類型的文件,可聯繫軟件作者);

。ext3rescue v1.0 demo版本支持恢復的文件大小上限限制爲4MB(如需恢復單個文件大於4MB的數據,可聯繫軟件作者);

。ext3rescue v1.0 demo版本在恢復進度方面有一定限制,在DELL2950 RAID測試服務器上恢復進度約爲1.5GB/小時(如對恢復速度方面有較高要求,可聯繫軟件作者);

。ext3rescue v1.0 demo版本暫不支持僅在自由空間中恢復數據,即所恢復出來的數據會包含當前分區中仍然可見的文件,此參數可能在後續demo版本中開放。


四、爲什麼選擇ext3rescue
  當前對於ext3分區的格式化、文件刪除或fsck後數據丟失,業界中尚無機構提供完善的解決方案,而ext3rescue提供了比較靈活的ext3數據恢復解決途徑,下面給出ext3rescue和photorec(大名鼎鼎的Linux恢復軟件)的測試過程及恢復結果:
(1).dd if=/dev/zero of=/dd.img bs=1M count=1024(生成測試鏡像文件)
(2).losetup /dev/loop0 /dd.img(將鏡像文件關聯到設備loop0上)
(3).mkfs.ext3 -b 4096 /dev/loop0(格式化loop0)

(4).mount /dev/loop0 /mnt/ext3/(將loop0掛載到/mnt/ext3/下)
(5).cp -a /data/* /mnt/ext3/(將data下的所有文件拷貝至/mnt/ext3/下)
可分別按如下兩種方案准備後續測試環境:
方案A:
(1).rm -rf /mnt/ext3/* (將剛剛拷貝進來的數據全部刪除)
(2).umount /mnt/ext3/(卸載/mnt/ext3/掛載點下的設備)
方案B:
(1).umount /mnt/ext3/(卸載/mnt/ext3/掛載點下的設備)
(2).mkfs.ext3 -b 4096 /dev/loop0(重新格式化loop0)
   至此,測試環境準備完畢。然後分別以ext3rescue(恢復參數參照圖2)和photorec對剛剛刪除數據(方案A)後或重新格式化(方案B)後的 /dev/loop0設備(即/dd.img)進行恢復嘗試,最終ext3rescue的表現要明顯強於photorec,尤其是對於較大文件(此處爲幾十KB或幾MB)的恢復,photorec基本上是無能爲力,而ext3rescue則可以完美地恢復出絕大部分數據。


ext3rescue(圖2).jpg

下載 (64.71 KB)
2011-08-25 12:48


圖2




  兩者之間的恢復效果相差如此之大,其實原理很簡單,就是photorec的恢復只是基於文件類型的簽名,而不考慮文件碎片,但ext3rescue的恢復卻是綜合考慮文件類型的簽名和文件碎片等多方面因素,另外在ext3文件系統中,較大的文件不可避免地存在碎片,這也是導致photorec表現不佳的重要原因。

五、ext3rescue參數說明
1.if(Input file)參數即源存儲或源鏡像,hd?或\\.\physicaldrive? 代表第?號磁盤,磁盤編號從0開始,“路徑+文件名稱”代表鏡像文件,支持相對路徑。雖然ext3rescue在整個恢復過程中對源文件進行的操作均爲只讀,但作者仍強烈建議您先通過dd或其他磁盤鏡像工具將原始故障分區進行完整備份,然後再從備份存儲或鏡像中恢復,否則一些未知風險需要您自己承擔,if 無默認參數,必須由用戶指定;
2.ss(Start sector)參數即文件系統起始扇區號(512 byte/sector,默認參數爲0),是要恢復的ext3分區的0塊在存儲或鏡像中的位置,如需更改可參考分區表等信息;
3.bs(Block size)參數即文件系統塊大小,絕大多數存儲數據的ext3分區塊大小均爲4096(默認參數),除非您非常清楚所需恢復分區的各項參數,否則不要進行更改;
4.bc(Block count)參數即文件系統塊數目,默認參數會計算存儲或鏡像中ss參數後的所有空間,如需更改可參考超級塊信息;
5.sb(Skip count)參數即跳過掃描的文件系統塊數,默認從分區起始開始掃描,在存儲容量較大或所需恢復時間較長時,如果系統遭遇意外斷電等情況,此參數可大大節省時間,您無需再從頭開始掃描,只需指定sb參數即可從上次掃描結束處開始繼續恢復;
6.od(Output directory)參數即文件輸出目錄,最好指定一個新的目錄,以免覆蓋您現有文件,雖然這種情況出現的可能性很小,但謹慎一些還是有必要的,最終所恢復數據會分別存儲在od參數指定目錄下以文件類型命名的文件夾中,od無默認參數,必須由用戶指定;
7.sz(Minimum filesize)參數即文件的最小大小(單位爲KB),默認參數爲0,對所要恢復文件大小的下限不做限制,如果您想通過ext3rescue v1.0 demo來恢復1MB-4MB之間的文件,只需指定sz參數爲1024即可(ext3rescue v1.0 demo版本支持恢復的文件大小上限限制爲4MB);
8.ft(File type)參數即恢復的文件類型,默認參數爲ALL,即恢復程序原生態支持的所有文件類型,如果您想通過ext3rescue v1.0 demo來恢復某幾種特定類型的文件,只需參考如下格式指定參數 ft=.bmp.jpg.zip.rar,不同文件類型之間以”.”隔開,且第一個“.”不能省略;
9.cf(Confirm)參數即確認參數,可在輸入以上參數時一起指定,有效參數爲yes或no(大小寫均可),如果不指定,可在稍後參數反饋時按y確認開始恢復,或按n退出。

六、ext3rescue爲什麼不是圖形界面而是命令行
  這與ext3rescue定位的用戶羣有一定關係,Linux文件系統的數據恢復畢竟是比較底層的工作,而且ext3文件系統的特定結構更是需要操作者具備相當的Linux知識。如果您對Linux文件系統不太瞭解,那麼圖形界面的恢復軟件也不會對您有什麼幫助,而如果您非常熟悉Linux,那麼可以很高興地告訴您,您可以隨心所欲地利用ext3rescue來進行幾乎所有情況下ext3的數據恢復工作(當然demo版會有一定功能限制,全功能版提供的參數更多);另外還有一個重要的原因,那就是圖形界面程序的擴展性很差,而命令行程序卻非常靈活,可以非常方便地通過Windows批處理來定製多個任務。

七、ext3rescue是否免費
   ext3rescue全功能版目前只提供恢復服務而不提供下載 。ext3rescue v1.0 demo版本對於任何人都是可以無償獲取並使用的,您可以用它進行恢復測試、個人機/服務器數據恢復等情況,雖然此版本有一定功能限制,但對於以下情況,此版本相當於不受任何限制:
1.所要恢復的數據爲圖片、文檔、音頻等常見文件類型;
2.所要恢復的數據大小不超過4MB;
3.所要恢復的數據分區相對比較小,或所要恢復的文件類型的比較少,或所要恢復的文件數量比較少。
八、軟件作者提示
1.如果您需要進行恢復測試,請在測試前備份好相關數據,不要因爲測試時的誤操作導致數據丟失,那就得不償失了,ext3rescue無法恢復ext3的原目錄結構及文件名稱(實際上任何軟件都無法做到這一點,這是由ext3文件系統結構特性決定的);
2.數據可恢復的前提是文件數據區尚未被其他數據流覆蓋,這也是所有軟件恢復數據的基本條件,ext3rescue也不例外,對於已經被覆蓋的數據,ext3rescue是無能爲力的;
3.在測試環境中無論ext3rescue表現得多麼好,也並不代表ext3rescue的下一次恢復結果仍然會達到您的要求,因爲動態的存儲環境不同,您的預期也不一樣,程序並不能確保100%恢復您所丟失的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章