是否有可能使用VirtualBox或其他工具创build一个虚拟机的自包含二进制分发?
我的要求:
从理论上讲,可以创建一个巨大的blob,捆绑某种类型的虚拟机管理程序,这个虚拟机管理程序将首先提取与VM(disk,config等)一起安装,然后运行自己和提取的虚拟机。
但是,这只是理论。 在实践中,虚拟机管理程序是非常复杂的软件,需要某种ring-0访问(内核级别)直接与CPU和其他硬件进行通信,VirtualBox也不例外。 因此,在任何关心安全性的操作系统上安装它们都需要管理员/ root / supervisor访问权限,否则就无法安装驱动程序和其他内核组件。
如果不考虑性能,可以使用一个仿真器,如Qemu / Bochs,它可以在没有ring-0访问的情况下工作。 但是,我目前还没有意识到任何有预先烘焙的VM镜像的自解压和可运行模拟器的项目(在Windows上更是如此)。
Tekn0写入时,需要低层访问主机操作系统层。 我找到了设置主机的项目Portable VirtualBox 。 我测试了它,并不足够令人满意。 来自网站:
注意
VirtualBox需要安装几个内核驱动程序,并且需要启动多个服务:如果驱动程序和服务尚未安装,则需要管理员权限才能运行Portable-VirtualBox。
当Portable-VirtualBox启动时,它会检查是否安装了驱动程序。 如果不是的话,那么在运行VirtualBox之前会先安装它们,然后再删除它们。 同样,Portable-VirtualBox会检查服务是否正在运行。 如果没有,它会启动它们,然后在退出时停止它们。
结果是一个产品并不总是运行,并有奇怪的内核错误。 还有另一个项目(从Tekn0观察开始) Kquemu Portable ,最后是Bochs 。