希望这听起来不疯狂或什么的
我正在尝试创建一个迷你操作系统(谁没有?,这就像一个穆斯林访问麦加 - 任何程序员都必须在他的生活中至少做一次)
因此,我创建了一个简单的引导加载程序,当从虚拟机( Oracle VM Virtual Box)中的虚拟可引导 ISO 执行时,它工作正常。它现在只显示一条消息。此时,我应该将控制权交给另一个代码,它将开始成为我的操作系统所有这些都将从虚拟光盘执行。我可以将它刻录在 CD 上并在 i386 上运行。
不,要真正做到这一点,我想运行“操作系统”。从硬盘,所以我想知道是否有办法直接在虚拟磁盘(如.vmi、.vhd、.hdd)上“刻录”可引导信息(引导加载程序和其他要加载的文件)
当我在虚拟机上从 ISO 映像安装传统操作系统(如 Windows 或 Linux)时,引导加载程序会启动一个新的代码部分,将操作系统安装在虚拟磁盘上。我也应该这样做:为操作系统创建一个安装程序,它将我的引导部分写入虚拟磁盘。这意味着每次我对我的操作系统进行更改时,我都必须重新安装它。我不喜欢那样。我希望能够直接在虚拟磁盘文件中编写启动代码,在 Virtual Box 中启动机器,然后看到它运行。我用 HEX 编辑器打开了 .vmi 文件,但我不知道应该把代码放在哪里才能被认为是可启动的。
现在,告诉我我是否不知道我在说什么,或者是否有解决方案。谢谢大家!