檢視ext3檔案系統分割槽的superblock

2021-06-09 13:56:40 字數 1369 閱讀 7121

1. 首先我們檢視一下在磁碟上有哪些分割槽,通過fdisk -l

這裡有三個分割槽,我們下面檢視/dev/sda3(這是乙個device file)

2. 從/dev/sda3拷貝1024b-2048b(這就是superblock的位置)到乙個叫superblock的檔案

這裡我們用到了dd這個工具,它在對磁碟進行這樣讀寫操作時非常有用,具體請見man。

bs=1k 每次讀寫的塊大小

skip=1 偏移多少塊開始讀(這裡塊為bs=1k,偏移1,表示從1k開始讀)

count=1 讀的大小(這裡表示讀1k)

if,of 分別表示從**讀和寫到**去。

這裡你也許會問為什麼要從1k處開始讀,並且就讀1k的大小呢?下圖就是乙個分割槽的物理儲存結構:

從圖中我們可以看到第乙個block的第乙個1k處是儲存的boot block,而superblock是從1k開始,大小為1k。

3. 檢視superblock檔案

用vim開啟我們剛才從/dev/sda3複製出來的superblock檔案,由於是二進位制檔案,我們在用vim開啟之後要用:%!xxd轉換成16進製制形式。

到這裡其實我們已經看到了在磁碟上superblock的形式了。下面我想驗證乙個這個superblock的正確性。

首先,通過檢視/usr/include/linux/ext3_fs.h標頭檔案中的struct ext3_super_block:

我們可以知道在superblock的頭上記錄著inodes的個數和block的個數,它們分別是32位。

那從superblock中可以看出:

inodes_count: 0000 3a04(注意:這裡是小數端) –> 043a0000 = 70909952

blocks_count: fdc4 3904 –> 0439c4fd = 70894845

那麼該如何驗證這個結果呢?linux為我們提供了dumpe2fs這個工具:

dumpe2fs /dev/sda3 |less
我們可以看到如下的輸出(一部分)
到這裡,有關如果看superblock的方法,這裡就全部都講完了,同樣我們可以用dd檢視磁碟上任意的部分。

Ext2與Ext3檔案系統的區別

ext2 是 gnu linux 系統中標準的檔案系統,其特點為訪問檔案的效能極好,對於中小型的檔案更顯示出優勢,這主要得利於其簇快取層的優良設計。其單一檔案大小與檔案系統本身的 容量上限與檔案系統本身的簇大小有關,在一般常見的 x86 電腦系統中,簇最大為 4kb,則單一檔案大小上限為 2048g...

Ext2與Ext3檔案系統的區別

ext2 是 gnu linux 系統中標準的檔案系統,其特點為訪問檔案的效能極好,對於中小型的檔案更顯示出優勢,這主要得利於其簇快取層的優良設計。其單一檔案大小與檔案系統本身的容量上限與檔案系統本身的簇大小有關,在一般常見的 x86 電腦系統中,簇最大為 4kb,則單一檔案大小上限為 2048gb...

ext3檔案系統反刪除利器 ext3grep

linux作為企業級伺服器,資料的安全性至關重要,任何資料德爾丟失和誤刪都是不可容忍的!最近我接觸到一款軟體 ext3grep,它可以恢復誤刪的資料,下面簡單講解一下這個軟體。ext3grep的恢復原理 利用ext3grep恢復檔案時並不依賴特定文字格式。首先ext3grep通過檔案系統的root ...