问题综述
最近在学着写操作系统,博主也仅仅是小白一个,学了一点点基础的汇编之后就开始上手了,所以在写引导记录的时候难免得不断地调试。但是有时候无论你再怎么检查你的汇编程序也发现不了错误,或者说你的汇编程序完全就是对的,但是虚拟机在启动的时候就是会提示你找不到可以启动的设备。那么问题来了,这是为什么呢。
最后,经博主的不断调试,终于找出了问题的所在,就是,引导扇区中不能出现0aH(十进制数是10)。
示例
可能也有自己学写操作系统的小伙伴,关于引导扇区,以及引导记录什么的我就不概述了。以下仅通过简单示例来展示。
- 引导扇区中出现0aH
以上标红的是汇编后的机器码
mov ax,10 —> b8 0a 00
因为这儿出现了0aH,所以会导致vitrualbox引导记录启动不了。
不知道这是虚拟机软件设计的原因还是真机对于引导扇区的操作也是同样的处理,所以建议在引导扇区最好不要出现0aH,可将其放置到引导扇区后