我一直在阅读 Broken Thorn 的操作系统开发教程,并且正在创建和加载第二阶段引导加载程序。本教程适用于Windows,但我是在Linux(Ubuntu 13.04)中执行此操作的。
这是我所做的:
- 使用
mkfs.vfat
命令在~/Documents/floppy
下创建的文件floppy.img
- 由
boot.asm
文件编译,使用 nasm 给我boot.bin
- 然后我运行了这个命令:
dd if=boot.bin of=~/Documents/floppy/floppy.img bs=512 count=1
因此,我有带有第一阶段引导加载程序的软盘映像。在使用 qemu 开始时,它工作正常。
但是,在我创建第二阶段引导加载程序后,(如果我是正确的)我必须挂载floppy.img
并将第 2 阶段复制到挂载的文件系统上。在这种情况下,如何使用 qemu 引导已安装的软盘?甚至可能吗?如果没有,我如何使用第二阶段引导加载程序。
请原谅我任何愚蠢的假设/问题,因为我是新手。
你的问题在哪里?装载映像:
mount -oloop ~/Documents/floppy.img /mnt/floppy
复制阶段2:
cp stage2.bin /mnt/floppy
卸载它:
umount /mnt/floppy
并使用QEMU启动它:
qemu -fda ~/Documents/floppy.img
瞧!