2012-03-31 44 views
1

我使用osdev wiki作爲編程OS的資源。到目前爲止,我已經有了一個2階段的引導程序,具有非常小的32位保護模式內核。USB上的Ext2文件系統

但是,對於引導加載程序,我一直在寫入特定的扇區,並從特定的扇區讀取數據,並且我決定採用「正確的方式」並使用文件系統,所以我選擇ext2文件系統,因爲wiki上有它的文檔。所以我使用ext2格式化我的閃存驅動器,使用gparted在Ubuntu 11.10上,並抓住lde(linux光盤編輯器),並用我的閃存驅動器運行它。

問題是,我沒有看到ext2頁面上描述的表,我查看了其他地方的字節1024(0x400),我似乎無法找到表。我回到gparted,它仍然格式化。另外,lde表示「無法識別的文件系統」,即使我指定它是ext2。閃存驅動器是否不使用標準的ext2文件系統,文件系統是否被改變太多以至於與頁面上描述的類似,還是我沒有在正確的位置查找?

鏈接:

的Ext2 - http://wiki.osdev.org/Ext2

OsDev維基 - http://wiki.osdev.org/Main_Page

+0

我聽說_some_ cheap閃存驅動器使用FAT文件系統中的「私有」空間用於其自己的內部使用,因此無法可靠地處理使用其他文件系統。但我希望這些設備不再上市,因爲它們聽起來很不錯。 'debugfs(8)'對你的文件系統有什麼看法? – sarnold 2012-03-31 00:30:13

+0

它說:超級塊在打開文件系統時出現壞的幻數,它們聽起來很可怕,希望這裏不是問題。 – Codesmith 2012-03-31 00:50:58

+0

大多數棍子都是未分區使用的;我不知道不同的工具在分區時會如何處理它們,但要確保一直使用'/ dev/sdX'或'/ dev/sdX1'。 – sarnold 2012-03-31 00:56:41

回答

1

正如評論所說,我已經回答了我的問題。我的問題不是格式化我的閃存驅動器,或使用閃存驅動器的方式,或其他技術。問題是,當我使用我的光盤編輯器時,我告訴它讀取驅動器本身(/dev/sdb),並且我需要使用該分區(/dev/sdb1)。當我看着分區時,我看着0x400(超級塊的開始),而超級塊確實是它應該在的地方。我還將超級塊和其他塊/ inode中的幾個塊與硬盤驅動器上的數據塊進行了比較,格式相同,但數據不一樣,這是預料之中的。

相關問題