之前写MBR是先用masm/link生成exe,再通过WinHex将该exe中0x7E00以后的数据复制到bochs的floppy中去。

这次试了下bochs中的freedos来运行程序。

用masm/link生成exe后,使用system32/exe2bin将exe的PE格式转换成纯二进制com。再用Linux虚拟机mount Windows中为与Linux共享准备的共享文件夹,其中含有bochs的floppy和转换后的com。再用Linux虚拟机mount bochs的floppy,最后sudo cp /mnt/floppy/ /mnt/share/xxx.com,这样就相当于把一个com文件放进了一个1.44的磁盘。剩下的就是在bochs的freedos中运行com程序了。

若/mnt下没有floppy可以通过sudo mkdir /mnt/floppy建立一个挂载点。