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