您好,登錄后才能下訂單哦!
塊組:Ext4文件系統的全部空間被劃分為若干個塊組,每個塊組內的結構都是大致相同的。
塊組描述符表:每個塊組都對應一個塊組描述符,這些塊組描述符統一放在文件系統的前部,稱為塊組描述符表。每個塊組描述符大小為32字節,其主要描述塊位圖、i-節點位圖及i-節點表的地址等信息。
超級塊(Superblock):用于存儲文件系統的配置參數(如塊大小、總塊數、i-節點數)和動態信息(當前空閑塊數和i-節點數)。Ext4文件系統的超級塊(Superblock)開始于1024字節處,即2號扇區。
i節點:描述文件的時間信息、大小、塊指針等信息。
塊組描述符和超級塊在塊中的位置:當塊大小為2個扇區時,0號塊是引導程序或者保留塊,超級塊起始于1號塊。當塊大小為4個扇區時,引導程序或者保留塊位于0號塊的前兩個扇區,超級塊位于0號塊的后兩個扇區。當塊大小為8個扇區時,引導程序或者保留塊位于0號塊的0-1號扇區,超級塊位于0號塊的2-3號扇區。
Ext4文件系統的整體結構及第一個塊組的具體結構如圖1所示。
某公司Ext4文件系統umount失敗,管理員進行了fsck操作檢查一致性,結果導致Ext4文件mount不上(有時也會表現為導致目錄變成了文件)。報錯提示信息:mount: wrong fs type, bad option,bad superblock
由于日志和數據不一致造成正常文件系統數據被覆蓋的情形在Ext3、Ext4文件系統中發生頻率較高,不過journal日志文件留有緩沖數據,數據恢復時可以通過joumal日志文件找到相應信息并重建源文件。
Linux系統的硬盤的第一個扇區是MBR扇區,通過MBR分區表觀察得知本案例中共分為兩個分區,分別為大小為7.8G的交換分區和大小為282G的文件系統,共300G文件大小。數據恢復工程師探討后決定通過joumal日志文件分析找回丟失的數據。
1.塊大小為固定的4KB,即8個扇區。
2.?超級塊(Superblock)起始位置在1024字節處,即2號扇區,大小為2個扇區。
3.塊組描述表從第一個塊開始,即從4096字節處開始。
5.數據恢復過程
首先用數據恢復工具將Ext4文件系統打開,可以看到0-23扇區的數據(包括超級塊和塊組描述符)被日志記錄覆蓋。Ext3、Ext4文件系統的日志頁以C0 3B 39 98開頭。
如圖2所示。
圖2
超級塊中可以反映出關于塊大小的信息。從.journal日志中吧超級塊的備份查找出來再通過數據恢復工具進行超級塊信息的查找。其標志是“53ef”。查找超級塊方式如圖3所示。查看塊大小方法如圖4和圖5所示。超級塊0x18-0x1B處描述塊大小,確定本案例塊大小為4KB。
圖3
通過超級塊查看塊大小如圖4所示。
圖4
通過數據恢復軟件的模板編輯器也可以顯示塊大小如圖5所示。
圖5
第二步,重建(恢復)超級塊;由于原文件系統超級塊損壞,所以恢復文件時,要把這部分超級塊信息粘貼回去,即放在2號扇區開始,或1024字節處。做完以上操作,超級塊備份某些地方與實際的超級塊數值可能不一致,需要通過數據恢復工具的模板管理器進行修改。本案例對超級塊所在的塊組作了修改,它在第0個塊組里。
如圖6所示。
圖6
第三步:重建(恢復)塊組描述表;由于部分塊組描述表被破壞,所以在.journal日志文件里找到所有的塊組描述表,并把它們粘貼回去。.journal日志文件里,如圖1所示,塊組描述符表存儲在超級塊的后面。所以要找塊組描述表時,可以先找到超級塊。找到后將塊組描述符表內容粘貼到4096字節處。
第四步;重建(恢復)目錄;當我們要恢復某個文件夾里的文件時,比如我們需要恢復kyproc文件夾里的數據。我們發現這些文件夾在WinHex里是不能打開的狀態。如圖7所示。很明顯這個目錄損壞了,打開其節點信息,發現正常數據被日志填充,如圖8所示。
圖7
圖8
我們找到它的上一級目錄,即var文件夾。右擊點“open”,打開看到var文件里的所有文件的目錄信息。找到要恢復的kyproc目錄的信息,12 32 EE 00是其i-節點號,10 00表示其目錄項長度,06表示其文件名稱長度,02表示其文件類型為目錄。如圖9所示。
圖9
然后在var文件夾的目錄塊下查找kyproc目錄的位置,如圖10所示,標紅的位置是找到的結果。此位置顯示所在塊號為62399108。
圖10
根據所在塊號,就可以定位kyproc目錄相應節點的位置。由于人工補節點比較繁瑣,我們可以打開.journal日志文件,從里面找到其節點信息,把相應的信息粘貼回去。
上述方法可以重建(恢復)目錄,恢復目錄里的文件也是通過同樣的方法從.journal日志文件里找到相應的文件的節點信息,找到后粘貼回原來的位置,達到重建(恢復)文件的目的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。