Ubuntu22.04下Bochs无法加载简易Bootloader的问题解决
极简Bootloader在Ubuntu22.04预编译Bochs 2.7中黑屏无响应,源码编译可解决
以下是我编写的极简Bootloader代码:
[org 0x7c00] mov ah, 0x0e mov al, 'h' int 0x10 jmp $ times 510-($-$$) db 0 dw 0xaa55
这段代码取自视频教程,在QEMU中可正常运行并显示字符'h',但在Ubuntu22.04通过apt安装的Bochs 2.7中,无论采用何种编译加载步骤,均出现黑屏且程序无响应的情况。
我尝试了多种排查操作:
- 生成boot.img镜像加载
- 替换Seabios
- 设置调试断点,确认代码已执行但无显示输出
以上操作均未解决问题,最终通过从源码编译Bochs,成功解决了该问题。推测Ubuntu22.04 apt仓库中的预编译Bochs 2.7版本存在兼容性问题,导致BIOS视频中断(int 0x10)无法正常输出内容。
内容的提问来源于stack exchange,提问作者SRC
相关产品推荐
相关产品推荐

