摘要: 本文记录了我在设计通用引导程序过程中的思考与实践。从背景出发,分析了传统引导程序依赖软盘启动的局限性,并通过研究IBM BIOS文档发现了设备号保存在DL寄存器中的关键依据。基于此,我设计了一种兼容软盘和硬盘的引导程序,支持标准CHS寻址和扩展LBA读取模式。 引导程序的核心思路包括: 保存设备号以实现跨设备兼容。 分区表解析与FAT文件系统支持,确保灵活加载内核文件。 优化内核加载流程,使内核大小可动态调整,并适配文件管理系统的修改。 通过QEMU+GDB调试,我验证了BIOS中INT 19引导规范的实际表现,并在程序中避免了16位模式寻址范围的限制。然而,在进一步扩展时因误操作遗失部分代码,但整体设计框架得以保留,为后续优化提供了参考基础。 阅读全文
posted @ 2024-11-27 15:56 迷路的鹿1202 阅读(77) 评论(0) 推荐(0) 编辑