フロッピーイメージにカスタムブートローダを配置する方法

フロッピーイメージにカスタムブートローダを配置する方法

だから私はカスタムブートローダーを作っています:

nasm -f bin boot.asm -o boot.bin

512バイトです。フロッピーイメージにどのように配置し、qemuを使用して起動しますか?

私は試した:

dd if=boot.bin of=floppy.img bs=512 count=2880
dd if=floppy.img of=floppy2.img bs=512 count=1
qemu-system-i386 -fda floppy2.img

しかし、サイズがfloppy2.img通常のサイズの1.44MBではなく512バイトに調整されました。これは正しいアプローチですか?私は素晴らしいツールを使用しない方が良いです。仕事をするのに使うことができればddいいでしょう。

答え1

唯一の問題が画像ファイルが短すぎる場合は、ファイルに2879 * 512 0バイトを追加してみてくださいfloppy.img

dd if=/dev/zero count=2879 bs=512 >> floppy.img

一方、フロッピーイメージにブートセクター以外のものを保存する必要がある場合は、そのフロッピーイメージにFATファイルシステムを作成する必要があります。これを達成する方法は、屋根ふき装置を使用することである。

sudo losetup /dev/loop0 floppy.img
sudo mkfs -t fat /dev/loop0
sudo mount /dev/loop0 somedir

somedirマウントする空のディレクトリはどこにありますか/dev/loop0?これで、必要なファイルをこのディレクトリにコピーできます。

関連情報