我使用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
我听说_some_ cheap闪存驱动器使用FAT文件系统中的“私有”空间用于其自己的内部使用,因此无法可靠地处理使用其他文件系统。但我希望这些设备不再上市,因为它们听起来很不错。 'debugfs(8)'对你的文件系统有什么看法? – sarnold 2012-03-31 00:30:13
它说:超级块在打开文件系统时出现坏的幻数,它们听起来很可怕,希望这里不是问题。 – Codesmith 2012-03-31 00:50:58
大多数棍子都是未分区使用的;我不知道不同的工具在分区时会如何处理它们,但要确保一直使用'/ dev/sdX'或'/ dev/sdX1'。 – sarnold 2012-03-31 00:56:41