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

Cyg*_*nus 7 boot qemu floppy osdev

我一直在阅读BrokenThorn的操作系统开发教程,我正在创建和加载第二阶段引导加载程序.本教程适用于Windows,但我在Linux(Ubuntu 13.04)中这样做.

这就是我所做的:

  • 创建的文件floppy.img~/Documents/floppymkfs.vfat命令
  • boot.asm使用nasm 编译的文件给我boot.bin
  • 然后我运行了这个命令: dd if=boot.bin of=~/Documents/floppy/floppy.img bs=512 count=1

因此,我有第一阶段bootloader的软盘映像.在使用qemu开始时,它工作正常.

但是,在我创建第二阶段引导加载程序之后,(如果我是正确的)我将必须floppy.img将第二阶段2安装到已安装的文件系统上.在这种情况下,如何使用qemu启动已安装的软盘?它甚至可能吗?如果没有,我如何使用第二阶段引导加载程序.

请原谅我任何愚蠢的假设/问题,因为我是新手.

fNe*_*Nek 5

哪里有问题 您挂载映像:

mount -oloop ~/Documents/floppy.img /mnt/floppy
Run Code Online (Sandbox Code Playgroud)

复制stage2:

cp stage2.bin /mnt/floppy
Run Code Online (Sandbox Code Playgroud)

卸载:

umount /mnt/floppy
Run Code Online (Sandbox Code Playgroud)

并使用QEMU启动它:

qemu -fda ~/Documents/floppy.img
Run Code Online (Sandbox Code Playgroud)

瞧!