我一直在阅读BrokenThorn的OS开发教程,并且是创建和加载第二阶段Bootloader的一部分。本教程适用于Windows,但是我正在Linux(Ubuntu 13.04)中进行此操作。

这是我所做的:

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

  • 这样,我就得到了带有第一阶段 bootstrap 的软盘镜像。使用qemu启动它时,它可以正常工作。

    但是,在创建第二阶段的引导加载程序之后(如果正确的话),我将不得不安装floppy.img并将第二阶段复制到已安装的文件系统上。在这种情况下,如何使用qemu引导已安装的软盘?可能吗?如果没有,我该如何使用第二阶段的 bootstrap 。

    请原谅我的任何愚蠢的假设/问题,因为我对此并不陌生。

    最佳答案

    你的问题在哪里?您挂载镜像:

    mount -oloop ~/Documents/floppy.img /mnt/floppy
    

    复制stage2:
    cp stage2.bin /mnt/floppy
    

    卸载它:
    umount /mnt/floppy
    

    并使用QEMU启动它:
    qemu -fda ~/Documents/floppy.img
    

    哎呀!

    10-06 06:33