Filesystems

EXT 文件系統系列:為什麼第一個超級塊從偏移量 1024 開始?

  • August 14, 2015

我正在復習並深入研究文件系統結構,在許多資源中,據說要求第一個超級塊從 1024 字節的偏移量開始。我開始尋找關於為什麼選擇 1024 的任何類型的文件,它看起來很隨意。我只能找到以下內容:

“對於塊組 0 的特殊情況,前 1024 個字節未被使用,以允許安裝 x86 引導扇區和其他奇怪的東西。超級塊將從偏移 1024 個字節開始,無論哪個塊恰好是(通常為 0)。但是,如果由於某種原因塊大小 = 1024,則塊 0 被標記為使用中,超級塊進入塊 1。對於所有其他塊組,沒有填充。

Ext4 磁碟佈局

我認為該區域與 grub 的後期階段有關,因此我進行了更多探勘並發現了這篇文章:

PC 上 GRUB 的詳細資訊

其中,從 DOS 兼容區域部分,指出整個第一個“柱面”是保留的,最多可以是 63 個扇區,這遠遠超過 1024 字節偏移量,所以現在我很困惑。

我的問題:

有人可以解釋一下,從字節 0 到 EXT 文件系統的第一個超級塊,磁碟是如何佈局的?

磁碟開頭的主引導記錄 (MBR) 僅包含 446 字節的程式碼,因此它很小,不能做很多事情。因此,一種常見的引導技術是執行所謂的“鍊式載入”,其中 MBR 在活動分區的開頭載入程式碼並跳轉到該程式碼。通過保留前兩個扇區空閒,當您的 EXT 文件系統位於活動分區上時,EXT 文件系統允許將分區的開頭用於此類鍊式載入程式碼。有關此引導過程如何工作的更多資訊,請參見此處:

http://wiki.osdev.org/Boot_Sequence#The_Traditional_Way

引用自:https://unix.stackexchange.com/questions/223081