小编pat*_*aca的帖子

VirtualBox-找不到可启动媒体

关于标题类似的stackoverflow有很多问题。我读了所有这些文章,但没有一个回答我的问题。这就是为什么我打开这个问题。

我正在用汇编器和C创建一个操作系统。我发现必须将C代码编译为二进制格式,提取文本部分并将其保存为文件,然后将其转换为ISO,然后将其安装到diskete的虚拟光驱中,然后在VirtualBox中加载我的操作系统。因此,这是我要避免的许多工作。我不想每次都将二进制文件转换为ISO。

因此,我决定将操作系统的二进制计算机代码放入虚拟硬盘驱动器(VDI文件),然后将其设置为引导顺序的顶部并加载,而不是从虚拟光盘驱动器加载ISO

我正在研究VDI工作原理,发现它通常是按名称分配的,并且只存储数据的开头。因此,的开头VDI代表标题,其余的代表存储在虚拟驱动器上的实际数据。因此,我发现数据从某个地址开始(就我而言,它是0x00200000VDI文件的开头开始)。

然后,我基本上VDI使用pattern 从该地址填充到文件末尾55 AA。因此,我想它现在意味着磁盘是可引导的(因为第一个扇区的末尾仍是签名55 AA)。

我启动了虚拟机,它说:

找不到可启动媒体!系统停止

有什么办法解决这个问题?为什么我的虚拟磁盘仍然无法启动?

编辑

这是实际的VDI文件:1.vdi

x86 virtualbox virtual-machine osdev bootloader

4
推荐指数
1
解决办法
1592
查看次数

标签 统计

bootloader ×1

osdev ×1

virtual-machine ×1

virtualbox ×1

x86 ×1