1. 關於本書¶
本文件試圖描述ext4檔案系統的磁碟格式。同樣的一般思想也應該適用於ext2/3檔案系統,儘管它們不支援ext4支援的所有特性,並且欄位會更短。
注意:這是一項正在進行的工作,基於作者 (djwong) 在手工拆解檔案系統時所做的筆記。資料結構定義應該與 Linux 4.18 和 e2fsprogs-1.44 一致。歡迎所有意見和更正,因為毫無疑問,有很多知識可能無法在新建的演示檔案系統中反映出來。
1.1. 許可證¶
本書在 GNU 公共許可證 v2 的條款下獲得許可。
1.2. 術語¶
ext4 將儲存裝置劃分為邏輯塊陣列,以減少簿記開銷並透過強制更大的傳輸大小來提高吞吐量。一般來說,塊大小將為 4KiB(與 x86 上的頁面大小和塊層的預設塊大小相同),儘管實際大小計算為 2 ^ (10 + sb.s_log_block_size) 位元組。 在本文件中,磁碟位置以這些邏輯塊(而不是原始 LBA)而不是 1024 位元組塊表示。 為了方便起見,邏輯塊大小將在本文件的其餘部分中稱為 $block_size。
當在 預格式化 文字 塊中引用時,sb 指的是超級塊中的欄位,inode 指的是 inode 表條目中的欄位。
1.3. 其他參考資料¶
另請參閱 https://www.nongnu.org/ext2-doc/,其中包含大量關於 ext2/3 的資訊。 這是另一箇舊的參考資料:http://wiki.osdev.org/Ext2