我在 Ubuntu 机器上使用 VirtualBox 4.1.x,并设置了多个虚拟机。由于有多种方法可以将 VirtualBox 中的虚拟机移动到另一台计算机,我想知道哪种方法是推荐的:
- 使用“导入/导出实用程序”。
- 复制整个虚拟机文件夹,包含
.vdi
和.vbox
文件。 - 使用“虚拟媒体管理器”克隆 VDI,然后在目标机器上重新创建 VM,但使用克隆的 VDI 作为硬盘。
我已经成功使用第一种方法多次尝试,始终有效。问题是,导出和导入后,磁盘映像会转换为 VMDK,而不再是 VDI!
这第二种方法可能是最简单的方法,但我不确定简单地复制文件是否在目标机器上有效。在搜索此方法时,我发现有些人遇到了问题,他们必须编辑 VirtualBox.xml 文件才能解决它!
最后,还有第三种方法,但它需要额外工作来创建与原始 VM 配置类似的 VM,这是不可取的。
从上面的解释可以清楚地看出,我想要的方法是第二种方法,但是我需要专家的建议来确定它是否有效。我不想让任何 XML 编辑妨碍我!
使用 VirtualBox 将我的虚拟机安全地传输到另一台计算机的最佳方法是什么?
答案1
您的研究做得不错。我经常使用这三个选项。
(使用“导入/导出实用程序”)。这是最简单的,因为它将整个虚拟机合并为一个文件,并且几乎每次都能顺利传输。但是,根据我的经验,在创建用于导出的 OVA 或 OVF 文件时,它会丢弃所有快照,如果操作不正确,可能会导致 VMDK 文件。当您重新导入虚拟机时,您应该能够选择要创建的 HDD 文件类型,VDI 或 VMDK。
(复制整个虚拟机文件夹,包含
.vdi
和.vbox
文件)。这是我的首选方案,尽管我不得不编辑 XML 文件几次,但都是我自己的错,把事情搞砸了。确保在复制 VM 时,您会获得与其相关的所有文件。我遇到的问题是某些快照和辅助 VDI 文件位于错误的目录中,并且未正确复制。如果您复制所有文件(和权限),则不会有任何问题。(使用“虚拟媒体管理器”克隆 VDI,然后在目标机器上重新创建 VM,但使用克隆的 VDI 作为硬盘)。 这不是理想的情况,因为您将拥有 VM 的 2 个副本,并且这可能会导致许可问题、网络问题等,具体取决于您克隆 VDI 文件的方式。
总之,我绝对会推荐选项 2,只要确保在移动时获取所有需要的文件即可。
答案2
方法 2 现在效果很好(使用 VirtualBox 4.0 及更高版本),无需进行任何 XML 修改:
- 停止虚拟机
- 退出 VirtualBox
- 将 VM 文件夹复制到新位置
- 重新启动 VirtualBox,并删除旧的 VM。
- 进入机器菜单≥添加并浏览到新位置。
就是这样!
附言:我在 OSX 10.10 上有 VirtualBox 4.3.20
看此 VirtualBox 论坛帖子更多细节。
答案3
我首选的选项也是选项 2:
- 复制整个 VM 文件夹,其中包含 .vdi 和 .vbox 文件。
但有时会发生 UUID 不匹配的情况。通常,如果您只是将一台机器的 VDI 磁盘映像复制到另一台机器,就会发生这种情况,但我在直接复制整个目录时也遇到过这种情况。
因此,如果这是您在移动虚拟机并尝试在新设置中启动它后收到的消息:
打开硬盘失败。
无法注册硬盘,因为具有 UUID 的硬盘已经存在。
只需进入虚拟机的目录;当然,更改实际路径以匹配您要进入的实际路径:
cd /full/path/to/virtualbox/virtualmachine/Sandbox
并运行此命令为磁盘分配新的 UUID:
VBoxManage internalcommands sethduuid Sandbox.vdi
答案4
对于特殊情况:
- 你只有单个虚拟机(或者想要迁移所有虚拟机)
- 主持人是相同硬件和相同操作系统版本(或在同一台机器上重新安装相同的操作系统)
如果如果你是这种情况,那么事情就很简单了:
- 关闭两台主机上的 VirtualBox。
- 从源主机复制
.config/VirtualBox
和文件夹。VirtualBox VMs
- 将这些文件夹复制到目标主机。
- 在目标主机上启动 VirtualBox