
オペレーティング システムをゼロから作成する方法を学ぶことに興味があり、次のガイドを見つけました。os-dev のチュートリアル。
4 ページ目には、単純なブート セクターを作成する方法が説明されており、6 ページ目には、Bochs を使用してそこから CPU をブートするエミュレート方法が説明されています。私はこれを試してみましたが、すべて正常に動作しました。
今度は、実際の PC または VirtualBox などの仮想マシン ソフトウェアで同じことを試してみたいと思います。ブート セクターを含む起動可能な CD を作成できると思いましたが、これまでは成功しませんでした。ブート セクターを含む CD の ISO イメージを作成しようとしましたが、予想どおり、これを行うとエラーが発生します (VirtualBox に「FATAL: 起動可能なメディアが見つかりません。システムが停止しました。」というエラーが表示されます)。
ブート セクターを含む起動可能な CD を正しく作成するにはどうすればよいでしょうか? よろしくお願いします。
答え1
見てみましょう:http://wiki.osdev.org/El-Torito
Writing an El-Torito Boot Sector
At the start of your El-Torito boot sector, you simply need to set segment registers to known values (as usual) and use the BIOS to load files from the CD as per ISO 9660. As with a normal floppy or hard disk, DL contains the BIOS drive number.
Using Mkisofs, you can write your boot sector to a CD image (.iso) as follows:
mkisofs -R -b path/to/loader.sys -no-emul-boot -boot-load-size 4 -o [IsoFile.iso] [IsoDirectory]
自分で書いたLoader.sysとMkisofsを使うだけです(http://wiki.osdev.org/Mkisofs)。