如何从汇编编译生成的.BIN文件制作可引导虚拟软盘镜像?
可引导虚拟软盘镜像制作操作指南
前置校验
你的编译产物.BIN文件必须满足BIOS可引导扇区的基础要求:
- 总大小恰好为512字节
- 文件末尾两个字节固定为
0x55和0xAA的引导签名
如果不符合以上要求,需要先调整你的汇编代码和编译参数后再操作。
方案1:Linux/macOS/WSL 环境(使用dd命令)
- 第一步:生成空白的标准1.44M软盘镜像
执行命令:dd if=/dev/zero of=floppy.img bs=1024 count=1440 - 第二步:将引导程序写入镜像的第一个扇区,不截断镜像剩余空间
执行命令:dd if=你的程序文件名.bin of=floppy.img bs=512 count=1 conv=notrunc - 第三步:校验写入结果,确认引导签名正常
执行命令:hexdump -C floppy.img | head -n 32,查看输出末尾是否为55 aa
方案2:Windows 原生环境(使用WinImage工具)
- 打开WinImage,选择「文件>新建」,容量选「1.44 MB」创建空白软盘镜像
- 选择「引导扇区>从文件导入引导扇区」,选中你的.BIN引导文件确认导入
- 选择「文件>保存」,将镜像存储为
.img格式即可
虚拟机运行验证
- 新建x86架构空白虚拟机,操作系统可选「其他/DOS」,无需配置硬盘
- 进入虚拟机存储设置,将生成的
floppy.img挂载到软驱,启动顺序中将软驱设为第一启动项 - 启动虚拟机即可直接运行你的汇编程序
提示:如果你的汇编程序总大小超过512字节,需要在引导扇区代码中自行实现第二阶段加载逻辑,将软盘后续扇区存储的程序代码读取到内存后再跳转执行,BIOS默认仅加载第一个扇区的512字节内容到内存。
内容的提问来源于stack exchange,提问作者Radu Aramă
相关产品推荐
相关产品推荐

