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

为操作系统添加32位保护模式时遭遇三重故障求助

操作系统GDT问题修复记录与参考

此问题已解决!我已更新bootloader和kernal代码(后续可能为kernal添加注释),供遇到相同问题的操作系统开发者参考。另外原OS名称POVESK因重名,已在bootloader中修改。以下是Nate Eldredge提供的修复代码说明。

此前遇到的问题

我在开发操作系统时,制作GDT(全局描述符表)遇到严重问题。kernal(个人习惯拼写为kernal)及bootloader代码存在异常,经调试大概率是三重故障。最初故障常出现在jmp dword 0x08:.afterstart行,但多次尝试修复后,故障随机出现在不同代码行。由于我在该领域经验不足,可能遗漏了明显问题,当时曾恳请社区提供解决方案。

构建与运行命令

Windows CMD(NASM编译)

  • nasm scr/boot.asm -f bin -o build/boot.bin
  • nasm scr/kernal.asm -f bin -o build/kernal.bin

WSL(镜像制作)

  • dd if=/dev/zero of=v_004.img bs=512 count=2880
  • mkfs.fat -F 12 -n NBOS v_004.img
  • dd if=boot.bin of=v_004.img conv=notrunc
  • mcopy -i v_004.img kernal.bin ::kernal.bin

QEMU运行命令

  • qemu-system-x86_64 v_004.img

内容的提问来源于stack exchange,提问作者Bob Dude

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:49:50