1

OSをプログラミングするためのリソースとしてosdevwikiを使用しています。これまでのところ、最小限の32ビットプロテクトモードカーネルを備えた2ステージのブートローダーがあります。

ただし、ブートローダーについては、特定のセクターへの書き込みと特定のセクターからの読み取りを行っており、「正しい方法」でファイルシステムを使用することにしたので、ext2ファイルシステムを選択しました。 、wikiにはドキュメントがあります。そこで、Ubuntu 11.10でgpartedを使用してフラッシュドライブをext2でフォーマットし、lde(Linuxディスクエディター)を取得して、フラッシュドライブで実行しました。

問題は、ext2ページで説明されているようにテーブルが表示されないこと、バイト1024(0x400)などを確認したこと、およびテーブルが見つからないことです。gpartedに戻りましたが、まだフォーマットされています。また、ext2と指定しても、ldeは「認識されないファイルシステム」と表示します。フラッシュドライブは標準のext2ファイルシステムを使用していませんか、ファイルシステムがページに記載されているものに似ているほど変更されていますか、それとも適切な場所を探していませんか?

リンク:

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

OsDevWiki- http: //wiki.osdev.org/Main_Page

4

1 に答える 1

1

コメントで述べたように、私は私の質問に答えました。私の問題は、フラッシュドライブのフォーマット、フラッシュドライブの使用方法、またはその他の技術的な問題ではありませんでした。問題は、ディスクエディタを使用しているときに、ドライブ自体を読み取るように指示し(/dev/sdb)、パーティションを使用する必要があることでした(/dev/sdb1)。パーティションを見ると、0x400(スーパーブロックの開始)が表示され、スーパーブロックは実際に本来あるべき場所にありました。また、スーパーブロック、および他のいくつかのブロック/ iノードをハードドライブ上のものと比較しました。フォーマットは同じでしたが、データは予想どおりではありませんでした。

于 2012-03-31T12:16:59.303 に答える