默认情况下,VirtualBox将所有数据存储在主目录下的目录中。我知道如何更改它,但是如何更改现有图像的位置(无需手动编辑VirtualBox.xml)?
我在Windows上工作,不想尝试使用任何NTFS链接。
默认情况下,VirtualBox将所有数据存储在主目录下的目录中。我知道如何更改它,但是如何更改现有图像的位置(无需手动编辑VirtualBox.xml)?
我在Windows上工作,不想尝试使用任何NTFS链接。
Answers:
如果您打算将所有VM移动到一个全新的位置,则应遵循以下两个答复:
在此处复制帖子:
- 关闭VirtualBox,备份.VirtualBox \ VirtualBox.xml文件。
- 找到您现有的“ Virtualbox VMs”文件夹,然后将包含内容的整个文件夹复制(而不移动)到新驱动器E:
运行VirtualBox,然后依次为每个VM运行:
3.1右键单击虚拟机名称,然后从弹出菜单中选择“删除”。对“是否物理删除文件?”回答“否”。题。
从用户界面中删除VM后的3.1b,您必须关闭VirtualBox,并将其关闭足够长时间,以使后台VBoxSVC任务超时并终止。然后,您可以再次启动VirtualBox应用程序,并使用Machine | Add重新添加上一步中删除的VM。
3.2选择Machine | Add ..菜单项,导航到驱动器E:上VM的新位置,然后选择.vbox文件。
3.3。对所有剩余的VM重复上述步骤。
- 在“文件|首选项”中,将默认计算机路径设置为“ E:\ VirtualBox VMs”
- 测试每个虚拟机。只有在确定它们都能正常工作之后,才删除包含文件夹的旧VM,即删除“ C:\ VirtualBox VM”。
.VirtualBox\VirtualBox.xml
文件并执行查找/替换来更新每个硬盘和快照映像的路径。另外,我只移动了Machines
和HardDisk
文件夹,而不移动了之下的所有文件.VirtualBox
,因为这是所有全局配置和日志记录等。
VirtualBox.xml
位于~/Library/VirtualBox/VirtualBox.xml
。VM位于中~/VirtualBox VMs
。
VBoxManage list vms
。2)在VM的名称旁边,大括号内,引用了它们的UUID。复制感兴趣的一个。可以通过检索有关它的详细信息VBoxManage showvminfo UUID
。3)通过取消注册目标VM VBoxManage unregistervm UUID
。4)移动目标VM的目录。5)最后,通过VBoxManage register NameOfVM.vbox
-显然地注册机器,其中NameOfVM表示.vbox
要注册的VM 文件的实际名称。
我只有几个VM,发现我可以更改VirtualBox的默认存储位置,然后克隆我的VM。在我想要它们的新HD的新位置中创建了这些克隆。一切完好无损,快照,无需重新映射虚拟HD的位置。
最简单的方法不需要删除虚拟机并修改其设置。
将您的Virtualbox VMs文件夹复制到新驱动器。
运行Virtual Box Machine Manager。运行媒体管理器文件->虚拟媒体管理器
2a。选择要为其移动存储的VM。单击释放按钮,然后单击删除按钮。在下一个对话框中,您可以删除或保留虚拟驱动器。关闭管理器,将您留在Virtualbox Machine Manager中。
选择您刚刚删除了介质的VM,依次单击“ 设置”按钮和“ 存储”部分。添加用于介质的控制器(通常为SATA),然后添加硬盘驱动器并选择现有磁盘,然后在新位置选择VD。
对要移动的每台机器重复上述步骤
在新位置启动虚拟机进行检查。下次访问Virtual Media Manager时,将鼠标悬停在VM条目上将向您显示VD的存储位置。
如果使用快照,请确保将快照文件夹更改为指向新驱动器。每台计算机都有一个快照文件夹设置,VM Manager 在“ 文件”->“设置”中也有一个“ 默认计算机”文件夹设置,也需要更改。
另外,我还必须修改xml文件中的路径。之后,它可以完美地工作。
注意:自编写以来,情况有所改变,请参阅Rob的答案。现在非常简单。
更简单。1)移至新位置2)右键单击从virtualbox菜单中删除3)从计算机菜单中选择“添加” 4)找到类型为“ virtualbox计算机定义”的8kb蓝色图标。选择它,它将添加到您的virtualbox列表中。双击虚拟机即可。
*.vbox
其文件夹中的文件即可。
在Mac上,编辑此文件中的路径:
/Users/pleddy/Library//VirtualBox/VirtualBox.xml
那很容易,事前!
经过一整天的时间(在Arch Linux上使用Virtualbox 5.0.12),我终于以thomthom的答案所建议的方式解决了它。对于不确定确切过程的用户,克隆整个计算机(包括快照)的命令为:
VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>
通过以下方式获取虚拟机名称
VBoxManage list vms
如有必要,请引用路径和名称。
最后,检查是否一切正常,然后取出原稿。
仅此而已。无需理会xml文件或十六进制编辑器。也不需要使用GUI。
http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm
VM_to_clone
是VM的UUID或名称。使用给定的命令(使用UUID),在创建了目录/new/path/_<UUID>_ Clone
,并且包含文件也用作_<UUID>_ Clone
名称。要明确使用更好的名称,请使用该--name "Your preferred name here"
标志。
VBoxManage unregistervm UUID
((通过获取的VM的UUID VBoxManage list vms
,请不要使用VM名称,因为如果--name
用于保留原始名称,那么您将拥有多个具有相同名称的VM))
要做到一样卢卡斯Pottersky 答案,而是通过命令行(在Windows替换vboxmanage
用VBoxManage.exe
):
列出所有虚拟机:
vboxmanage list vms
或仅运行:
vboxmanage list runningvms
每台机器的输出名称和UUID。
对将要移动的每台机器执行以下步骤。
正常关闭它:
vboxmanage controlvm UUID acpipowerbutton
取消注册:
vboxmanage unregistervm UUID
将虚拟机文件夹移动到新位置。
通过提供.vbox
文件路径将其重新注册:
vboxmanage registervm /path/to/machine.vbox
这也适用于MacOS版本的VirtualBox(版本4.1.12)。我等待了5到10秒钟让VirtualBox退出,然后重新启动。我查看了活动监视器,以确保VBoxSVC已正确退出。
如果不执行此操作,将收到类似于以下内容的错误(我正在复制并粘贴来自Windows的其他人的错误消息)。如果收到此错误,则仅仅是因为您没有退出VirtualBox或等待了足够长的时间才能退出VBoxSVC。
Failed to open virtual machine located in E:/<path>/<machine_name>/<machine_name>.vbox.
Cannot register the hard disk 'E:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' {0ece4bff-9185-4cff-9069-b3d1f4536394}
because a hard disk 'C:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' with UUID {0ece4bff-9185-4cff-9069-b3d1f4536394} already exists.
Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBox
Interface: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}
VirtualBox下的设置中有一个默认存储位置: http://mattvelic.com/default-vm-location/
现在死了 Wayback机具有的内容:
http://web.archive.org/web/20131116130725/http://mattvelic.com/default-vm-location
...查看“文件”菜单中的“首选项”。看哪!常规选项卡中的第一项是默认计算机文件夹。 http://web.archive.org/web/20131116130725im_/http://54.225.211.105/wp-content/uploads/2012/11/VB_Preferences.png 我编辑了指向存储驱动器的位置,并快速重新制作了虚拟机。这次VirtualBox在正确的位置创建了计算机文件和VDI。这里真正的教训是,有时解决方案不必是技术性的。我认为作为IT专业人员,我们倾向于认为对问题的答案将很复杂。睁大眼睛寻找明显的解决方案!
我认为这是不可能的。
您可以将VDI移到新位置,但是我认为您不能避免XML修改。作为替代方案(但实际上与XML版本相同),是否可以使用GUI创建新的虚拟机并选择移动的映像作为磁盘满足您的需求?
我使用这种方法:
使用命令vboxmanage internalcommands sethduuid“我的myhdd.vdi的路径”在新位置为.vdi生成新的UUID 6912BF7F-13BB-4E70-A2CA-C92300FEC3DC
(在上一个示例中,请使用您自己的UUID,或者根本不添加它:该命令将自动生成一个。同样,如果省略此步骤,则在从新位置添加.vdi时,您将得到一个错误,指出UUID已经存在)。
并做了。
在Oracle VM VirtualBox(经过6.0.4版测试)中,只需关闭您的VM->右键单击VirtualBox Manager中的VM->单击“移动...”->选择新目录。而已!