【发布时间】:2012-04-14 15:56:36
【问题描述】:
我正在使用 osdev wiki 作为对操作系统进行编程的资源。到目前为止,我有一个 2 阶段的引导加载程序,带有一个非常小的 32 位保护模式内核。
但是,对于引导加载程序,我一直在写入特定扇区并从特定扇区读取,并且我决定以“正确的方式”进行操作,并使用文件系统,所以我选择了ext2 文件系统,因为 wiki 上有文档。所以我用 ext2 格式化了我的闪存驱动器,在 Ubuntu 11.10 上使用 gparted,并抓取了 lde(Linux 磁盘编辑器),然后用我的闪存驱动器运行它。
问题是,我没有看到 ext2 页面上描述的表格,我查看了字节 1024 (0x400) 等位置,但似乎找不到表格。我回到 gparted,它仍然是格式化的。此外,即使我指定它是 ext2,lde 也会说“无法识别的文件系统”。闪存驱动器是否不使用标准的 ext2 文件系统,文件系统是否发生了如此大的变化以至于与页面上描述的相似,或者我只是没有找对地方?
链接:
分机2 - http://wiki.osdev.org/Ext2
OsDev 维基 - http://wiki.osdev.org/Main_Page
【问题讨论】:
-
我听说一些便宜的闪存驱动器使用 FAT 文件系统中的“私有”空间供其内部使用,因此无法可靠地使用其他文件系统。但我希望这些设备不再上市,因为它们听起来可怕。
debugfs(8)对您的文件系统有何看法? -
它说:打开文件系统时超级块中有错误的幻数,它们听起来很可怕,希望这不是问题。
-
大部分棒子都是未分区使用的;我不知道如果它们被分区,不同的工具会如何处理它们,但请确保您始终使用
/dev/sdX或/dev/sdX1。 -
我一直在使用/dev/sdb,我试试/dev/sdb1。
-
这就是问题所在。我需要使用 /dev/sdb1
标签: filesystems usb ext2