似乎Freedos引导程序存在问题。(在某些情况下,启动代码无法找到内核。)
所以我正在尝试使用gdb在qemu中对引导程序进行调试。遵循几个维基和免费的在线课程材料上的指示,我这样运行qemu
qemu-system-i386 -fda fdboot.img -boot a -s -S
然后像这样连接gdb
$ gdb
(gdb) target remote localhost:1234
我可以使用si
命令逐步执行前10到12条指令,这些指令是SeaBIOS的。
但是当我尝试进入引导加载程序代码时,它会继续执行而不中断,一直到达FreeDos菜单提示符。这完全跳过了我想逐步检查其执行过程的引导加载程序代码。
我需要做什么才能逐步执行引导加载程序呢?
[如果您想自己尝试,可以从项目网站下载freedos软盘镜像文件。]