OSをプログラミングするためのリソースとしてosdev wikiを使用しています。これまでは2段階のブートローダを用意していましたが、これは最小限の32ビット保護モードカーネルです。USB上のExt2ファイルシステム
しかし、ブートローダでは、特定のセクタに書き込んでいて、特定のセクタから読み込んでいます。私はこれを「正しい方法」にしてファイルシステムを使用することに決めました。 ext2ファイルシステム.Wikiにはドキュメントがあります。だから、私はext2でフラッシュドライブをフォーマットし、Ubuntu 11.10でgpartedを使い、lde(Linuxディスクエディタ)をつかんで、私のフラッシュドライブで走った。
問題は、ext2ページに記載されているテーブルが見当たらず、1024バイト(0x400)のバイトを見ていて、テーブルが見つからないようです。私はgpartedに戻ってきました。それはまだフォーマットされています。また、ext2と指定していても、 "認識できないファイルシステム"と表示されます。フラッシュドライブが標準のext2ファイルシステムを使用していないか、ファイルシステムが変更されてページに記載されているようなものになっていますか?
リンク:
Ext2ファイル - http://wiki.osdev.org/Ext2
OsDevウィキ - コメントで述べたようにhttp://wiki.osdev.org/Main_Page
私は、安価なフラッシュドライブは、FATファイルシステムの内部空間を「内部」で使用しているため、他のファイルシステムを確実に使用することはできないと聞いています。しかし、私はそれらのデバイスが市場に出ていないことを願っています。 'debugfs(8)'はあなたのファイルシステムについて何を言いますか? – sarnold
それは言う:ファイルシステムを開いている間にスーパーブロックで悪い魔法の数、そして彼らは恐ろしい音、ここでは問題ではないことを願っています。 – Codesmith
ほとんどのスティックは分割されていません。パーティション化されていればどのようにツールを扱うのかはよく分かりませんが、 '/ dev/sdX'や'/dev/sdX1'を一貫して使用していることを確認してください。 – sarnold