我一直在阅读 BrokenThorn 的操作系统开发教程,并且正在创建和加载第二阶段引导加载程序。本教程适用于 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 并将第二阶段复制到已安装的文件系统上。在这种情况下,如何使用 qemu 引导已安装的软盘?有可能吗?如果没有,我如何使用第二阶段引导加载程序。
请原谅我的任何愚蠢的假设/问题,因为我是新手。
最佳答案
你的问题出在哪里?您安装图像:
mount -oloop ~/Documents/floppy.img /mnt/floppy
复制阶段2:
cp stage2.bin /mnt/floppy
卸载它:
umount /mnt/floppy
并使用 QEMU 启动它:
qemu -fda ~/Documents/floppy.img
瞧!
关于boot - 操作系统开发 - 使用 qemu 从软盘启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19961095/