You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qemu中自定义引导加载器重复输出消息并挂起的问题求助

Qemu中自定义引导加载器重复输出消息并挂起的问题求助

大家好,我正在为一个操作系统编写引导加载器,经过一番调试后找到了它挂起的位置。这个OS基于16位实模式开发(不过如果必须切换到保护模式才能解决问题的话,我也可以尝试这么做)。

下面是加载第二阶段的代码片段:

; Load the second stage
mov ah, 0x02                    ; BIOS read function
mov al, 2                       ; Number of sectors to read
mov ch, 0                       ; Cylinder 0
mov cl, 2                       ; Sector 2 (1-indexed)
mov dh, 0                       ; Head 0
mov dl, [0x7C1E]                ; Drive number
mov bx, SECOND_STAGE_ADDRESS    ; Where to load the second stage

int 0x13                        ; BIOS interrupt to read sectors
jc error                        ; If carry flag was set, there was an error

目前我遇到的主要问题有两个:

  • 它会反复将CR0寄存器更新为0x00000010,然后又改成0x00000011
  • 运行一段时间后,就开始不断输出check_exception old: 0xffffffff new 0x6的信息,直到系统完全挂起

调试日志里也能看到这些异常信息在持续重复出现。

备注:内容来源于stack exchange,提问作者Luka Talevski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 06:59:32