如何移动 VirtualBox 文件?

maa*_*nus 179 virtualbox file-transfer virtual-machine

默认情况下,VirtualBox 将所有数据存储在主目录下的目录中。我知道如何更改它,但如何更改现有图像的位置(无需手动编辑 VirtualBox.xml)?

我在 Windows 上工作,不想尝试使用任何 NTFS 链接

小智 147

(编辑:从 6.0.4 开始,现在有一个内置函数来移动 VM。请参阅https://superuser.com/a/1401548/120738

如果您打算将所有 VM 移动到一个全新的位置,您应该只遵循以下 2 个回复:

复制帖子到这里:

  1. 关闭 VirtualBox,备份您的 .VirtualBox\VirtualBox.xml 文件。
  2. 找到您现有的“Virtualbox VMs”文件夹,并将包含内容的整个文件夹复制(而不是移动)到您的新驱动器 E:
  3. 运行 VirtualBox,然后依次为每个 VM:

3.1 右击虚拟机名称,在弹出的菜单中选择“删除”。对“物理删除文件?”的回答是否定的?题。

3.1b 从 UI 中删除 VM 后,您必须关闭 VirtualBox,并将其关闭足够长的时间,以便后台 VBoxSVC 任务也超时并终止。然后您可以再次启动 VirtualBox 应用程序并使用 Machine|Add 重新添加上一步中删除的 VM。

3.2 选择 Machine|Add.. 菜单项,导航到驱动器 E: 上的 VM 新位置,然后选择 .vbox 文件。

3.3. 对任何剩余的 VM 重复此操作。4. 在文件|首选项中,将默认机器路径设置为“E:\VirtualBox VM” 5. 测试每个 VM。只有在您确定它们都正常工作后,删除旧的 VM 包含文件夹,即删除“C:\VirtualBox VMs”。

  • 对于 Mac OS X 用户,`VirtualBox.xml` 位于 `~/Library/VirtualBox/VirtualBox.xml`。VM 位于`~/VirtualBox VMs`。 (4认同)
  • Virtualbox 现在为 VM 提供了一个官方的“移动”选项。只需关闭您的虚拟机并在用户界面中右键单击它并选择“移动” (4认同)
  • Virtual Box 4.3.0+ 解决了“最后重要的事情”,我什至不需要关闭它 - [说明](https://forums.virtualbox.org/viewtopic.php?f=35&t=55003)。 (3认同)
  • 这对我有用,尽管我还需要通过编辑“.VirtualBox\VirtualBox.xml”文件并执行查找/替换来更新每个硬盘和快照图像的路径。另外,我只移动了“Machines”和“HardDisk”文件夹,而不是“.VirtualBox”下包含的所有文件,因为这就是所有全局配置和日志记录等。 (2认同)

tho*_*hom 61

(编辑:从 6.0.4 开始,现在有一个内置函数来移动 VM。请参阅https://superuser.com/a/1401548/120738

我只有几个虚拟机,我发现我可以更改 VirtualBox 的默认存储位置,然后克隆我的虚拟机。在我想要的新 HD 上的新位置创建的克隆。一切都完好无损,快照,无需重新映射虚拟 HD 的位置。

  • +1 我认为这是最好的方法。VirtualBox 在一个整洁的小包中为您移动一切。 (3认同)
  • 这是最好的方法,不需要手动编辑 cfg (3认同)

Fia*_*abs 37

最简单的方法不需要删除您的虚拟机并修改它们的设置。

  1. 将您的 Virtualbox VMs 文件夹复制到新驱动器。

  2. 运行 Virtual Box Machine Manager。运行媒体管理器文件 -> 虚拟媒体管理器

    2a. 选择要为其移动存储的 VM。单击“释放”按钮,然后单击“删除”按钮。在下一个对话框中,您可以删除或保留虚拟驱动器。关闭管理器,将您留在 Virtualbox Machine Manager 中。

  3. 选择您刚刚为其移除媒体的 VM,单击设置按钮,单击存储部分。添加媒体控制器(通常为 SATA),然后添加硬盘驱动器并选择现有磁盘并选择新位置的 VD。

  4. 对您要移动的每台机器重复此操作

在新位置启动虚拟机进行检查。下次访问Virtual Media Manager 时,将鼠标悬停在 VM 条目上将显示 VD 的存储位置。

如果您正在使用它们,请确保将快照文件夹更改为指向新驱动器。每台机器都有一个快照文件夹设置,VM 管理器在文件 -> 设置中有一个默认机器文件夹设置,也需要更改。

此外,我还必须修改 xml 文件中的路径。之后,它完美地工作。

注意:自从撰写本文以来,情况发生了一些变化,请参阅 Rob 的回答。现在非常简单。

  • 我认为这是迄今为止最简单的方法。 (2认同)

小智 26

简单得多。1) 移动到新位置 2) 右键单击​​从 virtualbox 菜单中删除 3) 从机器菜单中选择“添加” 4) 找到类型为“virtualbox 机器定义”的 8kb 蓝色图标。选择它,它将添加到您的虚拟机列表中。双击虚拟机,它可以工作。

  • 三年后的事情发生了怎样的变化……那时候的愿望就是这么简单。在我的回答中添加了注释,让他们来看这个。 (3认同)
  • 这种方法的“删除”部分感觉像是一个坏主意,会导致您的设置丢失,但事实并非如此。此方法会保留您的所有设置,并且是我尝试过的所有方法中最简单的方法。它在装有 Windows 7 和 Windows Sever 2016 来宾的 Windows 10 主机上运行。 (3认同)

小智 13

在 Mac 上,编辑此文件中的路径:

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

这很容易,快!

  • 不过,这对我很有帮助,因为如果您使用的是 mac,这个问题仍然可以使用谷歌搜索。 (4认同)
  • 他使用的是 Windows,而且他也不想编辑 VirtualBox.xml。 (3认同)

Mic*_*l P 11

在这个问题上浪费了一整天之后(在 Arch Linux 上使用 Virtualbox 5.0.12),我终于按照 thomthom 的回答建议的方式解决了它。对于那些不确定确切过程的人,克隆整个机器(包括快照)的命令是:

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>
Run Code Online (Sandbox Code Playgroud)

使用以下命令获取 VM 的名称

VBoxManage list vms
Run Code Online (Sandbox Code Playgroud)

如有必要,引用路径和名称。

最后,检查是否一切正常并取出原件。

就是这样,真的。无需理会 xml 文件或十六进制编辑器。也不需要使用 GUI。

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm

  • `VM_to_clone` 是 VM 的 UUID 或名称。使用给定的命令(使用 UUID),在 `/new/path/_&lt;UUID&gt;_ Clone` 处创建了一个目录,并且包含的​​文件也使用 `_&lt;UUID&gt;_ Clone` 作为名称。要明确地有一个更好的名字,请使用 `--name "Your preferred name here"` 标志。 (2认同)

mix*_*xel 7

与 Lucas Pottersky 的回答相同,但通过命令行(在 Windows 上替换vboxmanageVBoxManage.exe):

  1. 列出所有虚拟机:

    vboxmanage list vms
    
    Run Code Online (Sandbox Code Playgroud)

    或仅运行:

    vboxmanage list runningvms
    
    Run Code Online (Sandbox Code Playgroud)

    它为每台机器输出名称和 UUID。

    对要移动的每台机器执行以下步骤。

  2. 优雅地关闭它:

    vboxmanage controlvm UUID acpipowerbutton
    
    Run Code Online (Sandbox Code Playgroud)
  3. 注销:

    vboxmanage unregistervm UUID
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将虚拟机文件夹移动到新位置。

  5. 通过提供.vbox文件路径将其注册回来:

    vboxmanage registervm /path/to/machine.vbox
    
    Run Code Online (Sandbox Code Playgroud)


小智 7

在 Oracle VM VirtualBox(使用 6.0.4 版测试)中,只需关闭 VM --> 在 VirtualBox Manager 中右键单击 VM --> 单击“移动...”--> 选择新目录。就是这样!

  • 这个答案需要冒泡到顶部。这是现在 100% 正确和最简单的方法。 (2认同)