linux ext3誤刪除恢復思路

[申明]
    轉載請保留原作網址,請完整保留此文,如需數據恢復服務,請拔打:4006-505-808 獲取免費諮詢 http://www.sjhf.net(關鍵字:LINUX誤刪除)
[引言]
    EXT3文件系統是目前LINUX平臺使用最多的文件系統,原起自EXT2,在其基礎上加入日誌功能(主要改變),EXT3作爲許多LINUX系統默認的文件系統,誤操作也在所難免。最常見的,基於LINUX EXT3上誤刪除操作的數據恢復就非常重要了。加上現在LINUX平臺通常不用作娛樂,整體而言,數據較WINDOWS平臺重要;同時,基於LINUX平臺的數據恢復軟件及恢復原理方面的文章都較WINDOWS少得多。鑑於此,寫此文章。
[原理]
    EXT3文件系統原理方面的文章很多,同時加上LINUX的開源性及EXT3本身的簡潔性,通常瞭解EXT3文件系統並不是難事。作爲誤刪除,我們需要了解文件的存儲結構與刪除所做的實際操作。
    EXT3是典型的UNIX類文件系統,首先將整個分區按固定大小的BLOCK分組,再將若干固定數目的BLOCK分組爲BLOCK GROUP。這個概念爲了描述方便,我們先放一放。再說別的。
    EXT3中的每個文件可以看成由參數+數據組成。比如一個a.tar,其文件包是數據,它的大小、日期、存儲位置等。用來區別每個文件的唯一標識是這個文件的"標號"
,可以簡單理解:一個EXT3文件系統裏有N個文件,其中M號文件大小爲XX,日期爲XX,數據存儲位置爲XX,這樣就可以通過存儲位置得到其數據XXX。這裏沒有談到名稱,初步可以理解爲EXT3的文件系統裏沒有名稱。名稱和目錄樹都是爲了更人性化地解讀文件系統的一個助記符。沒有名稱和目錄樹,EXT3也可以完好地存儲文件(可以這樣理解),但只能看到一大堆大小不同、只在標號、沒有目錄層的“散”文件。我們看如何在此基礎上加入目錄:首先我們將所有目錄、文件統統看成文件(其實目錄本身和普通數據文件一樣,也有屬性、大小、內容,只是其內容是爲了助記整個文件系統的目錄結構的)。目錄中可以保存其下文件(包括目錄)的標號,以此類推。但只有標號,很難理解文件所代表的內容,所以可以給標號同時綁定一個人性化的名稱,即文件名,使文件名與文件標號一一對應。
    每個文件特有的屬性通過編好序的INODE進行描述。通常根目錄是2號文件,根目錄本身存儲(可以想像成與普通文件一樣的記錄)根目錄下一級子目錄及文件的名稱及對應的INODE編號,在遍歷文件系統時可以讀到文件名稱,同時讀到其節點號。
    每個塊組(前面講過)分散放置系統中所有的INODE,其存儲方式通過其他結構進行描述。系統可以很容易算出第N號節點的存儲位置。通過節點就可以找到數據了。
    刪除文件的目的是爲了釋放空間、從索引中去除相應記錄。爲了實現這樣的目的,EXT3文件的刪除會做這樣的操作,1、重組目錄文件的內容(目錄文件中的記錄),在邏輯上去除被刪除文件名稱與INODE號的記錄;2、更改被刪除文件的INODE,至少去除其位置信息(直接與間接BLOCK號);3、在BITMAP區釋放原先佔用的BLOCK(將原來的使用位更改爲空閒,EXT3中即將1更改爲0)
    從刪除文件的原理來看,即使通過原來目錄記錄的殘留信息可以找到被刪除文件的名稱,也可以找到其原來的節點號,但因位置信息已被清除,數據還是不能直接恢復。
發佈了57 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章