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