注:本文档为《从0学x86操作系统》课程配套的学习文档,提供相应的辅助学习资料和答疑勘误。 有关该课程的信息,请点击这里访问:https://study.163.com/provider/1017884735/index.htm 在阅读本文档时,如有疑问和建议,欢迎在下方留言或者直接联系我。
本课时的主要目标是了解如何从BIOS中接管计算机的运行控制权。
接管控制权
具体而言,要接管系统的控制权,需要完成两步操作:
- 编写引导程序,控制在512字节内,写入启动磁盘的第0扇区,
- 在第0扇区的最后两个字节(1FE, 1FF)写入0x55, 0xaa。
BIOS在完成自检后,会检查第0扇区的最后两个字节是否是0x55, 0xaa,以此来判断是否包含有效的引导代码。如果是,则自动从引导磁盘的第0扇区加载引导程序到0x7c00处执行。具体如下图所示。
多分区的引导
注意,本课程只涉及到启动磁盘没有分区的情况,以简化学习。
有关磁盘上有多个分区情况下的处理,将在以后新出的高级扩展课程中说明。