1

アセンブリで記述された第1段階のブートローダーがあります。DVD(またはCD)から第2ステージのブートローダーをロードする必要があります。floopyまたはhddから読み取る例のみを見つけました。そこで使用される割り込みは13時間です。割り込みの説明では、フロッピーとhddを読み取ることができると書かれています。13hを使用してCDをフロッピーのように読み取ろうとしましたが、機能しませんでした。

質問:フロッピーとDVD(それらにアクセスするという意味で)には違いがありますか?セクターサイズであるCHS(シリンダー、ヘッド、セクター)を使用できますか?13h命令を使用してDVDを正しく読み取ることができますか?多分いくつかの例。LILOのソースコードを調べたところ、13時間しか見つからなかったので、機能するはずです。ありがとう。

4

3 に答える 3

5

mkisofsツールを使用して、起動可能なフロッピーイメージファイルから起動可能なCDを作成できます。これが私がWindowsでそれを行う方法です:

  1. CdFiles起動可能なフロッピーイメージファイルfloppy.img(1474560バイト長)およびCDに必要なその他のファイルを含むサブディレクトリを作成します。
  2. mkisofs.exe -b floppy.img -v -r -l -o cd.iso CdFiles

CD ISOイメージファイルが作成されます。このファイルはcd.iso、CDに書き込んでディスクから起動するか、任意のPCエミュレーターで使用してイメージから直接起動できます。

BIOSは、CDのフロッピードライブを次の内容でエミュレートし、floppy.imgドライブ番号0を使用してint 13h経由で通常どおりにアクセスできます。int13h経由でCD全体にアクセスするには、ハードドライブイメージを作成する必要があります。 (起動可能)そして別のエミュレーション方法を指定します(mkisofsでそれを行う方法がわからない、hddイメージを試したことはありません)。同じことが起こりますが、ハードドライブがCDの上にエミュレートされ、int13hのドライブ番号は80hになります。

于 2011-10-15T08:02:06.307 に答える
1

LILOはCDからの起動には機能しないため、CDを読み取るためのコードが含まれているとは思いません。LinuxブートCDで最も頻繁に使用されるISOLINUXブートローダーを見てみてください。

于 2011-10-15T07:40:16.210 に答える
1

ブートローダーはDVDからロードされます-フロッピーまたはハードディスクからロードされます。DVD / CDはエミュレーションモードで実行され、起動プロセス中にフロッピー/ディスクを公開します

于 2011-10-15T07:53:46.687 に答える