我正在Windows上工作,不想尝试使用任何NTFS链接。
#1 楼
(编辑:从6.0.4版开始,现在有一个内置功能可以移动VM。请参见https://superuser.com/a/1401548/120738)如果您打算将所有VM移动到全新的位置,您应该只需遵循以下2条回复:
https://forums.virtualbox.org/viewtopic.php?f=1&t=48258#p219275
https:// forums .virtualbox.org / viewtopic.php?f = 1&t = 48258#p219285
将帖子复制到此处:
关闭VirtualBox,备份.VirtualBox \ VirtualBox.xml文件。
找到现有的“ Virtualbox VM”文件夹,然后将包含内容的整个文件夹复制(而不移动)到新驱动器E:
运行VirtualBox,然后依次对每个VM:
3.1右键单击VM名称,然后从弹出菜单中选择“删除”。对“是否物理删除文件”回答“否”。问题。
3.1b从UI删除虚拟机后,必须关闭VirtualBox,并
超时并终止。然后,您可以再次启动VirtualBox应用程序
,并使用Machine | Add重新添加在先前的
步骤中删除的VM。
3.2选择Machine | Add ..菜单项,导航至VM在驱动器E:上的新位置,然后选择.vbox文件。
3.3。对所有剩余的VM重复上述操作。
4。在“文件|首选项”中,将默认计算机路径设置为“ E:\ VirtualBox VMs”
5。测试每个虚拟机。只有在确定它们都能正常工作之后,才删除包含文件夹的旧VM,即删除“ C:\ VirtualBox VM”。
评论
当我对链接克隆计算机执行此操作时,它们无法启动
– Nam G VU
2012年5月3日,9:28
这对我有用,尽管我还需要通过编辑.VirtualBox \ VirtualBox.xml文件并执行查找/替换来更新每个硬盘和快照映像的路径。另外,我只移动了Machines和HardDisk文件夹,而不是.VirtualBox下包含的所有文件,因为这是所有全局配置和日志记录等。
–戴夫·安德森(Dave Andersen)
2012年7月23日在22:38
对于Mac OS X用户,VirtualBox.xml位于〜/ Library / VirtualBox / VirtualBox.xml。 VM位于〜/ VirtualBox VM中。
–小清庞-明日香贤治-
2014-09-25 3:45
Virtual Box 4.3.0+解决了“最后一件重要的事情”,我什至不需要关闭它-说明。
– PCaetano
2014-12-16 18:16
Virtualbox现在为VM提供了正式的“移动”选项。只需关闭您的VM,然后在UI中右键单击它,然后选择“移动”
– Shadoninja
20年6月4日在22:30
#2 楼
(编辑:从6.0.4版本开始,现在有一个内置功能可以移动VM。请参见https://superuser.com/a/1401548/120738)我只有几个VM,而我发现我可以更改VirtualBox的默认存储位置,然后克隆我的VM。在我想要它们的新HD的新位置创建了这些克隆。一切完好无损,快照,无需重新映射虚拟HD的位置。
评论
+1我认为这是最好的方法。 VirtualBox会以整洁的小包装形式为您移动所有内容。
–戴夫·安德森(Dave Andersen)
2012年8月7日23:35
这是最好的方法,无需手动编辑cfg
– Bojan Bjelic
13年3月7日在23:01
你怎么做到这一点???
– FlipFloop
17年1月6日在20:58
警告:克隆不会产生完美的副本,并且随着机器/磁盘ID的更改,可能会触发需要更新已安装软件的许可证的需求。将VM上的Quicken的旧副本移动到新磁盘时遇到此问题。
– MZB
19年1月26日在15:36
@thomthom,已经有一个讨论“移动”选项的答案,但它只有3票,这意味着它隐藏在所有较旧的更复杂的答案下。
– AnthonyVO
20/11/15在15:54
#3 楼
最简单的方法不需要删除虚拟机并修改其设置。将Virtualbox VMs文件夹复制到新驱动器。
运行虚拟机装箱机经理。运行媒体管理器文件->虚拟媒体管理器
2a。选择要为其移动存储的VM。单击释放按钮,然后单击删除按钮。在下一个对话框中,您可以删除或保留虚拟驱动器。关闭管理器,将您留在Virtualbox Machine Manager中。
选择刚删除了介质的VM,单击“设置”按钮,再单击“存储”部分。添加用于介质的控制器(通常是SATA),然后添加硬盘驱动器并选择现有磁盘,然后在新位置选择VD。
为要移动的每台计算机重复操作
Fire在新位置关闭虚拟机进行检查。下次访问Virtual Media Manager时,将鼠标悬停在VM条目上将显示VD的存储位置。
如果使用快照,请确保将快照文件夹更改为指向新驱动器。每台计算机都有一个快照文件夹设置,并且VM Manager在“文件”->“设置”中也有一个“默认计算机”文件夹设置,也需要更改。
此外,我还必须修改xml文件中的路径。之后,它可以完美地工作。
注意:自编写以来,情况有所改变,请参阅Rob的回答。现在非常简单。
评论
我认为这是到目前为止最简单的方法。
–PeterPerháč
16-10-4在20:18
我不想投票,但Virtualbox现在有一个官方的“移动”,使所有其他答案已过时。只需关闭您的VM并在UI中右键单击它,然后选择“移动”
– AnthonyVO
20-11-2在16:44
#4 楼
更简单。1)移至新位置
2)右键单击从virtualbox菜单中删除
3)从计算机菜单中选择“添加”
4)找到带有一个“ virtualbox机器定义”的类型。选择它,它将添加到您的virtualbox列表中。双击虚拟机即可。
评论
要将虚拟机添加回VirtualBox时,比这更简单,只需单击其文件夹中的* .vbox文件即可。
–乔尔·梅隆(Joel Mellon)
2015年9月4日在17:28
三年后情况如何变化...那时真希望如此轻松。在我的答案中添加了注释,以使他们能够看到这一点。
–惨败实验室
2015年11月20日在3:36
这确实应该更高。我无所事事,无法正常工作。只需删除UI中的“无法访问的”文件,然后双击.vbox文件,即可使用新位置重新添加该文件。
–温伯特
17年4月21日在0:18
在Linux主机上不起作用。收到此错误:在尝试打开虚拟机会话之前,已将其关闭。结果代码:NS_ERROR_FAILURE(0x80004005)组件:SessionMachine接口:ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
–最大N
17年5月16日在11:14
该方法的“删除”部分感觉很糟糕,它会导致设置丢失,但事实并非如此。此方法维护您的所有设置,并且是我尝试过的所有方法中最简单的方法。它可以在Windows 10主机上使用Windows 7和Windows Sever 2016来宾。
–夜猫子
18/12/26在0:50
#5 楼
在Mac上,编辑此文件中的路径:/Users/pleddy/Library//VirtualBox/VirtualBox.xml
这很容易,很容易!
评论
他正在使用Windows,也不想编辑VirtualBox.xml。
– ChristN
13年5月5日在23:29
不过,这对我很有帮助,因为如果您使用的是Mac,这个问题仍然可以解决。
– NReilingh
13年11月22日在7:54
我是mac用户,google登陆了我,这个解决方案是所有解决方案中最简单的,很有意义,并且为我工作:)
– Mohit Singh
17-10-28在9:26
我在linux上,并且喜欢这个答案的声音,但是由于文件顶部的警告而被推迟。您是否仍建议直接编辑XML?警告说:**请勿编辑该文件。如果您在运行任何与VirtualBox相关的应用程序时对此文件进行更改,则所做的更改将在以后被覆盖,而不会生效。使用VBoxManage或VirtualBox Manager GUI进行更改。 **
–craq
18 Mar 4 '18 at 0:58
#6 楼
经过一整天的时间(在Arch Linux上使用Virtualbox 5.0.12),我终于以thomthom的答案所建议的方式解决了它。对于不确定确切过程的用户,克隆整个计算机(包括快照)的命令为:VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>
使用
<<获取虚拟机的名称br />
VBoxManage list vms
如有必要,请引用路径和名称。
最后,检查是否一切都很好,并取下原稿。
就这些,真的。
无需麻烦xml文件或十六进制编辑器。也不需要使用GUI。
http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm
评论
这是唯一对我有用的答案。应该更高。
–最大N
17年5月16日在15:16
VM_to_clone是VM的UUID或名称。使用给定的命令(使用UUID),在/ new / path / _
– Rob W
17年8月27日在9:19
...并通过CLI删除原始VM,VBoxManage unregistervm UUID(通过VBoxManage列表vms获得的VM的UUID,请不要使用VM名称,因为如果使用--name保留原始名称,则多个具有相同名称的VM)
– Rob W
17年8月27日在9:27
警告:克隆不会产生完美的副本,并且随着机器/磁盘ID的更改,可能会触发需要更新已安装软件的许可证的需求。将VM上的Quicken的旧副本移动到新磁盘时遇到此问题。
– MZB
19年1月26日在15:36
无论如何,现在似乎有一个专用命令:virtualbox.org/manual/ch08.html#vboxmanage-movevm
–迈克尔P
19年3月22日在7:01
#7 楼
要执行与Lucas 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
评论
假设文件已被移动,则可以一次在`VBoxManage list vms |中取消注册所有机器。切-c 19-54`;做VBoxManage unregistervm $ v;完成。但是,重新注册并不是那么简单,因为媒体管理器有点混乱。
–贾科莫·拉卡瓦(Giacomo Lacava)
19-10-22在17:37
#8 楼
在Oracle VM VirtualBox(经过6.0.4版测试)中,只需关闭您的VM->右键单击VirtualBox Manager中的VM->单击“移动...”->选择新目录。就这样!评论
@Moreaki:顺便说一句,“易读性”(和“易读性”)的拼写没有“ D”。
–斯科特
19年2月4日在4:36
这个答案需要冒顶。这是现在100%正确和最简单的方法。
– Shadoninja
20年6月4日在22:32
只有一个缺点。复制单个文件时,进度表不显示任何进度。当文件大小为100 Gig时,有点讨厌。查看Taskmanager中的磁盘活动以验证事情是否正在发生。
– AnthonyVO
20-11-14在0:31
#9 楼
这也适用于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}
#10 楼
在带有VirtualBox v4.3.14的OS X中,我要做的就是从新位置双击.vbox
文件,它打开VirtualBox并将其添加到可用VM列表中。评论
请不要添加“谢谢”作为答案。相反,请对您认为有帮助的答案进行投票。
–斯科特
2014年8月8日在21:35
我的回答不是“谢谢”。我对措辞进行了编辑,使其更加明显。谢谢。
–泰森·菲尔普(Tyson Phalp)
2014年8月8日在22:45
#11 楼
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
我编辑了指向存储驱动器的位置,并迅速重新制作了我的VM。这次VirtualBox在正确的位置创建了计算机文件和VDI
。这里真正的教训是,有时
解决方案不必是技术性的。我认为作为IT专业人员,我们
倾向于认为对问题的答案会很复杂。睁大眼睛寻找明显的解决方案!
评论
现在该链接已失效。尽量不要发布链接作为答案。当他们死了时,SU会被遗留下来清理。
–mrtsherman
15年3月23日在21:24
更新了archive.org中的内容
–丽贝卡
15年3月24日在16:26
#12 楼
我认为这是不可能的。您可以将VDI移到新位置,但我认为您不能避免XML修改。作为替代方案(但实际上与XML版本相同),是否可以使用GUI创建新的虚拟机并选择移动的映像作为磁盘满足您的需求?
评论
我再看了一下xml,它实际上非常简单。创建新机器并不好,因为我想保留自己的设置(我不记得自己所做的更改,可能完全不重要)。
– maaartinus
2011年3月11日在11:29
#13 楼
我尝试了原始方法(删除VDI,附加新副本),得到的消息是旧副本仍然存在,即使重新启动操作系统(在Mac OS X El Capitan上)也无法附加新副本。 br />该修复程序在菜单/文件/虚拟媒体管理器中,删除了现有的VDI。即使有快照,此操作也有效;只需以相反的顺序删除所有快照VDI。无需关闭并重新打开VirtualBox。
#14 楼
我从未在Windows上使用过virtualbox,但在ubuntu上,您移动了VDI,在virtualbox GUI中,右键单击了VM,然后使用“配置菜单”->“存储”,可以在其中将VDI本地化更改为移动文件的位置。其他计算机文件定义,请移动它们,然后在GUI中转到“首选项”,并将默认计算机目录的位置更改为移动的目录。
#15 楼
我使用这种方法:从VirtualBox GUI中,选择您的VM并删除附加的HDD
将文件(即vdi)复制到新位置
通过命令
在新位置为.vdi生成新的UUID。
vboxmanage internalcommands sethduuid“ myhdd.vdi的我的路径” 6912BF7F-13BB-4E70-A2CA-C92300FEC3DC
(在上一个示例中,请使用您自己的UUID,或者根本不添加它:该命令将自动生成一个。同样,如果省略此步骤,则在从新位置添加.vdi时,您将得到一个错误,指出UUID已经存在)。
现在返回VirtualBox GUI,选择您的VM,然后在“设置/存储”中,从新位置附加HD(.vdi文件)。
并完成。
#16 楼
关闭Oracle VM VirtualBox Manager的所有实例
将VM文件夹移动到所需位置(例如
D:\vboxpro
到E:\NAS\datapro
)在XML编辑器中打开文件
%USERPROFILE%\.VirtualBox\VirtualBox.xml
找到相应的
MachineEntry
密钥并更改到新路径的路径(例如,将<MachineRegistry><MachineEntry uuid="{686ad360-b203-4fd6-bdd3-7d9ed6835e88}" src="D:\vboxpropro.vbox"/>
更改为<MachineRegistry><MachineEntry uuid="{686ad360-b203-4fd6-bdd3-7d9ed6835e88}" src="E:\NAS\datapropro.vbox"/>
启动Oracle VM VirtualBox Manager
无需进行任何其他修改,也无需在xml文件中或在Oracle VM VirtualBox Manager中进行任何修改
/>这将与级联快照一起使用,甚至可以访问多个驱动器配置甚至VM日志。已在5.2.30r130521版本上测试(还安装了扩展包)
评论
噢,我要建议符号链接(它们解决了Everything™),但是您已经屏蔽了这个想法... :(我根本不信任Windows上的链接。尽管NTFS可以胜任,但Windows XP对此一无所知,并且已经存在很多问题。我可能会变得胆怯...
嗯,是的,我不会在XP上接触它们。但是对7的支持非常扎实-您仍然必须从cmd行构建它们,但这并不是一件很麻烦的事情。我不确定Vista ...
更糟糕的是,XP版本的NTFS确实支持硬链接,但这些硬链接不能跨越卷。显然,我想将数据移动到另一个分区。
硬链接无法跨越卷,只有符号链接可以(例如,可以用于这种情况,我的用户文件夹都被符号链接到第二个HDD)。但是,就我个人而言,我仍然避免在XP中使用硬链接(即使它们是可选的)。