操作系统开发 - 使用 qemu 从软盘驱动器引导



我一直在阅读 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

瞧!

最新更新