代码之家  ›  专栏  ›  技术社区  ›  J_Zar

如何使用VirtualBox创建VM的可重新分发的自包含二进制分布?

  •  2
  • J_Zar  · 技术社区  · 10 年前

    是否可以使用VirtualBox或其他工具创建VM的自包含二进制分发?

    我的要求:

    • 未安装VirtualBox
    • 用于启动和停止VM的自包含二进制/-ies(具有所有VirtualBox环境支持)
    • 可能地 没有启动和停止VM的管理员权限
    • 至少是windows,但如果是跨平台的话更好
    2 回复  |  直到 10 年前
        1
  •  2
  •   Tekn0    10 年前

    理论上,可以创建一个巨大的blob,将某种管理程序捆绑在一起,首先将安装与VM(磁盘、配置等)一起提取,然后运行自己和提取的VM。

    然而,这只是理论。实际上,虚拟机监控程序是非常复杂的软件,需要某种ring-0访问(内核级别)才能直接与CPU和其他硬件进行对话,VirtualBox也不例外。因此,在任何稍微关心安全性的操作系统上安装它们,都需要管理员/根/管理员访问权限,否则无法安装驱动程序和其他内核组件。

    如果性能不受影响,可以使用类似Qemu/Bochs的仿真器,它可以在没有环-0访问的情况下工作。然而,我目前还没有发现任何项目有这样的预烘焙VM映像的自提取和可运行模拟器(在Windows上更是如此)。

        2
  •  1
  •   J_Zar    10 年前

    正如Tekn0所写,它需要对主机OS层进行低级别访问。 我找到了这个项目 Portable VirtualBox 它在飞行中设置主机。 我测试了它,但还不够令人满意。从现场:

    笔记

    VirtualBox需要安装几个内核驱动程序,并需要启动 几个服务:如果驱动程序和服务还没有 您需要管理员权限才能运行PortableVirtualBox。

    当Portable VirtualBox启动时,它会检查驱动程序是否 安装。如果不是,它将在运行前安装它们 VirtualBox,然后将删除它们。类似地, Portable VirtualBox检查服务是否正在运行。如果不是, 它将启动它们,然后在退出时停止它们。

    结果是产品不总是在运行,并且有奇怪的内核错误。 还有一个项目(从Tekn0观测开始) Kquemu Portable 最后 Bochs .

    推荐文章