1

我正在使用 osdev wiki 作为对操作系统进行编程的资源。到目前为止,我有一个 2 阶段引导加载程序,具有非常小的 32 位保护模式内核。

但是,对于引导加载程序,我一直在写入特定扇区并从特定扇区读取,并且我决定以“正确的方式”进行操作,并使用文件系统,所以我选择了 ext2 文件系统,因为 wiki 上有关于它的文档。所以我用 ext2 格式化了我的闪存驱动器,在 Ubuntu 11.10 上使用 gparted,并抓住了 lde(Linux 磁盘编辑器),然后用我的闪存驱动器运行它。

问题是,我没有看到 ext2 页面上描述的表格,我查看了字节 1024 (0x400) 以及其他地方,我似乎找不到表格。我回到 gparted,它仍然是格式化的。此外,即使我指定它是 ext2,lde 也会说“无法识别的文件系统”。闪存驱动器是否不使用标准的 ext2 文件系统,文件系统是否发生了如此大的变化以至于它与页面上描述的相似,或者我只是没有找对地方?

链接:

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

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

4

1 回答 1

1

如评论中所述,我已经回答了我的问题。我的问题不在于格式化我的闪存驱动器、闪存驱动器的使用方式或其他任何技术问题。问题是当我使用我的磁盘编辑器时,我告诉它读取驱动器本身(/dev/sdb),我需要使用分区(/dev/sdb1)。当我查看分区时,我查看了 0x400(超级块的开头),超级块确实在它应该在的位置。我还将超级块和其他几个块/inode 与我硬盘上的块/inode 进行了比较,格式相同,但数据不一样,正如预期的那样。

于 2012-03-31T12:16:59.303 回答