1

我在 VirtualBox 中有一个虚拟机。该机器由多个文件组成,例如: - machine.vbox - machine-disk1-s001.vmdk - ...

我通过只有 1 个文件来分发机器。用户下载文件,用virtualbox打开并享受。

有没有办法用 virtualbox 做到这一点?

4

2 回答 2

2

Edu 是正确的,但我会更详细地介绍。有两种内置方法可以使用 VirtualBox 导出 VM,然后是一种迂回方式。

艰难的道路

迂回的方法是将包含所有 VM 文件的目录压缩为 zip 文件或 tarball。(Zip 文件通常压缩程度更高,但并非每台机器都内置了 zip 功能。它们中的大多数都可以在不安装新东西的情况下解压缩东西。你的选择。)然后你需要使用 VBox 的命令行 API 来让 VirtualBox 导入和注册新的虚拟机。(请参阅VirtualBox 手册中有关导入和注册的部分,分别为 8.10 和 8.6。)

简单的方法

VirtualBox 手册中描述了这两种内置方式(如果您希望做更多这样的事情,这是必不可少的参考)。两种内置方式基本相同,除了一种会为您提供一组代表 VM 的文件,另一种方式将为您提供代表 VM 的单个文件。

要使用任一内置方式:

  1. 转到 VirtualBox Manager 窗口并转到文件 > 导出设备...
  2. 在弹出的窗口中,选择您要导出的虚拟机,然后单击“下一步”。
  3. 在标有“文件:”的文本框中,选择要导出的 VM 的位置和名称。
  4. 单击“下一步”之前,为您的导出文件选择一个文件扩展名。
  5. 如果您键入“.ovf”作为文件扩展名,您将在一个目录中有多个文件,所有这些文件都是您要导出的 VM。
  6. 如果您键入“.ova”作为文件扩展名,您将拥有一个文件,即您要导出的 VM。

从这里您所要做的就是将导出的 VM 文件放到您希望该 VM 运行的物理机器上。启动 VirtualBox 运行,转到 File > Import Appliance... 并浏览到导出的 VM 文件所在的位置。VirtualBox 将为您配置一切。

导入到未运行 VirtualBox 的机器

如果您要在其上运行此 VM 的物理机使用 VirtualBox 以外的虚拟化软件,那么只要您使用其中一种内置方式,您就不会感到厌烦。(压缩或焦油不适用于此。)

如果您将导出的 VM 保存为 .ova 文件,请使用 tar 将文件解压缩为几个文件。VirtualBox 专门设置了 .ova 与 tar 一起使用。(我认为此时它们与您导出 .ovf 完全相同。)

如果您将它们导出为 .ovf,则导出的文件已经采用标准化的虚拟器格式,因此多个不同版本的虚拟化软件可以读取它,就好像您最初在该非 VirtualBox 软件中创建了克隆一样。您所要做的就是使用该虚拟化的标准导入方法导入它。

于 2013-10-02T21:14:08.370 回答
0

您可以将其导出为设备。其他人可以轻松导入。缺点是快照不随机器导出。

如果要移动连接到机器的所有内容,只需复制整个目录即可。如果需要,您可以将其压缩到一个文件中。然后,Receiver 只需将该目录复制到他们的 Virtualbox 目录并选择“添加”以将其添加到他们的库存中。

于 2013-10-02T18:57:14.960 回答