如何恢復 linux 上刪除的文件_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、如何恢復如何恢復Linux上刪除的文件上刪除的文件自動恢復工具e2undel和特殊情況的恢復馮銳(fengrui@cn.)軟件工程師IBM王磊(cdlwangl@cn.)軟件工程師IBM簡介:簡介:恢復系統(tǒng)中刪除的文件是一個非常繁瑣的過程,而e2undel這個工具可以用來方便地恢復文件系統(tǒng)中已刪除的文件。本文將首先討論e2undel的工作原理和用法,并對之進行一些改進。然后討論了文件系統(tǒng)故障、文件系統(tǒng)重建、磁盤物理損壞等情況下應該如何恢

2、復數(shù)據(jù)。在本系列文章的前兩部分中,我們介紹了ext2文件系統(tǒng)中各種文件在磁盤上的存儲結構,以及如何利用debugfs工具的輔助,手工恢復這些文件的詳細過程。通過這兩部分的學習,我們可以看出恢復系統(tǒng)中刪除的文件是一個非常繁瑣的過程,需要非常仔細地考慮各種情況,并且要保持足夠的細心,才可能把數(shù)據(jù)準確無誤地恢復出來。稍有差錯,就會造成數(shù)據(jù)丟失的情況。聰明的讀者肯定會想,如果有一些好工具來自動或輔助完成數(shù)據(jù)的恢復過程,那簡直就太好了。幸運的是,

3、已經(jīng)有人開發(fā)了這樣一些工具,來簡化用戶的數(shù)據(jù)恢復工作,e2undel就是其中功能最為強大的一個。自動恢復工具e2undel回想一下,在ext2文件系統(tǒng)中刪除一個文件時,該文件本身的數(shù)據(jù)并沒有被真正刪除,實際執(zhí)行的操作如下:?在塊位圖中將該文件所占用的數(shù)據(jù)塊標識為可用狀態(tài)。?在索引節(jié)點位圖中將該文件所占用的索引節(jié)點標識為可用狀態(tài)。?將該文件索引節(jié)點中的硬鏈接數(shù)目設置為0。?將該文件索引節(jié)點中的刪除時間設置為當前時間。?將父目錄項中該文件對

4、應項中的索引節(jié)點號設置為0,并擴展前一項,使其包含該項所占用的空間。而索引節(jié)點中的一些關鍵信息(或稱為元數(shù)據(jù),包括文件屬主、訪問權限、文件大小、該文件所占用的數(shù)據(jù)塊等)都并沒有發(fā)生任何變化。因此只要知道了索引節(jié)點號,就完全可以用本系列文章介紹的技術將文件完整地從磁盤上恢復出來了,這正是e2undel之類的工具賴以生存的基礎。然而,由于所刪除的文件在目錄項中對應的項中的索引節(jié)點號被清空了,因此我們就無法從索引節(jié)點中獲得文件名的信息了。不過

5、,由于文件大小、屬主和刪除時間信息依然能反映文件的原始信息,因此我們可以通過這些信息來幫助判斷所刪除的文件是哪個。e2undel是由OliverDiedrich開發(fā)的一個用來恢復ext2文件系統(tǒng)中已刪除文件的工具,它會遍歷所檢測的文件系統(tǒng)的索引節(jié)點表,從中找出所有被標記為刪除的索引節(jié)點,并按照屬主和刪除時間列出這些文件。另外,e2undel還提供了文件大小信息,并試圖按照file命令的方式來確定文件類型。如果您使用rm–rf之類的命令一

6、次刪除了很多文件,這種信息就可以用來非常方便地幫助確定希望恢復的是哪些文件。在選擇要恢復的文件之后,e2undel會從磁盤上讀取該文件占用的數(shù)據(jù)塊(這些數(shù)據(jù)塊的信息全部保存在索引節(jié)點中),并將其寫入到一個新文件中。下面我們來看一下e2undel這個工具的詳細用法。首先請從e2undel的主頁(:e2undel.)上下載最新的源碼包(截止到撰寫本文為止,最新的版本是0.82),并將其保存到本地文件系統(tǒng)中。不過這個源碼包在最新的FedaCe

7、8上編譯時可能會有些問題,這是由于ext2文件系統(tǒng)內(nèi)部實現(xiàn)中一些數(shù)復到原來的文件系統(tǒng)中,因為它并不會修改磁盤上ext2使用的內(nèi)部數(shù)據(jù)結構(例如索引節(jié)點、塊位圖和索引節(jié)點位圖)。相反,它僅僅是將所刪除文件的數(shù)據(jù)恢復出來并將這些數(shù)據(jù)保存到一個新文件中。因此,s參數(shù)指定是保存恢復出來的文件的目錄,最好是在另外一個文件系統(tǒng)上,否則可能會覆蓋磁盤上的原有數(shù)據(jù)。如果指定了t參數(shù),e2undel會試圖讀取文件的前1KB數(shù)據(jù),并試圖從中確定該文件的類型

8、,其原理與系統(tǒng)中的file命令非常類似,這些信息可以幫助判斷正在恢復的是什么文件。下面讓我們來看一個使用e2undel恢復文件系統(tǒng)的實例。清單清單4.使用使用e2undel恢復文件的實例恢復文件的實例#.e2undelatddevsda2stmprecover.e2undel0.82Tryingtorecoverfilesondevsda2savingthemontmprecoverdevsda2openedfreadonlyacces

9、sdevsda2wasnotcleanlyunmounted.Doyouwantwocontinue(yn)y489600inodes(489583free)977956blocksof4096bytes(941677free)lastmountedonFriDec2816:21:502007readinglogfile:openinglogfile:Nosuchfiledirectynoentriesfdevsda2inlogfile

10、searchingfdinodesondevsda2:|==================================================|489600inodesscanned26dfilesfoundusername|112h|248h|37d|430d|51y|6olderroot|0|0|0|2|0|0phost|24|0|0|0|0|0usernamefromtablepressentertoexit:roo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論