如何在VirtualBox中打开现有的VM?


40

我最近有一个新的工作站,并将VirtualBox和VMWare Player VM从旧PC移到了新PC。

VMWare Player VM很容易:您转到“文件->打开虚拟机…”,从旧PC中找到.vmx文件,瞧!它已经启动并正在运行。所有必需的文件显然都在同一文件夹中。

使用VirtualBox似乎没有办法做到这一点。看起来虚拟机以某种神奇/不可见的方式绑定到原始主机,例如注册表项等。

Answers:


48

先前的答案似乎已过时。

从Oracle VirtualBox Manager的第4版开始,“添加”选项隐藏在“机器”菜单(这是操作系统菜单)中。只需选择“添加”,然后导航到所需的.vbox文件。即使vbox文件位于外部驱动器上,此方法也很好:如果以后删除驱动器,则缺少的框将被简单标记为“无法访问”。

在此处输入图片说明


请注意,您必须先命名计算机而不是原始计算机,或者删除VM文件夹,否则Oracle出于对您的母爱,将不允许您继续操作,因为他们认为“该文件夹已存在并且可能属于到另一个VM”。
ajeh

此方法无需重命名VirtualBox 5.2中的原始文件夹
GeorgSchölly17年

7

在计算机文件夹中,有一个* .vbox文件。将其拖到VirtualBox中的VM列表中。


这在VirtualBox 4.1.18上对我有用。刚刚将虚拟机* .xml文件拖放到了VM列表中。还需要在“系统/存储”对话框中再次添加系统的虚拟磁盘。
Alex Che

在Ubuntu 12.04和VirtualBox 4.1.12上为我工作
David Kaczynski

4
在Windows的VirtualBox 4.3.6中似乎不起作用。不允许我在窗户上放任何东西。:-(
Simon East

在Windows的VirtualBox 5.2.0中不起作用
MarkusMüller17年

5

将现有虚拟机从另一台主机导入Windows主机上的VirtualBox 4及更高版本中:

  1. 导入vdi虚拟磁盘:

    1. 转到菜单:*文件⇨虚拟介质管理器。

    2. 将拖放[vm_name].vdi到列表中。

  2. 将导入的计算机添加到vbox管理器列表中:

    1. 双击[vm_name].vboxvm目录中的文件,以将该计算机添加到vbox管理器列表中。

    2. 双击[vm_name].vbox内部的vbox管理器列表以启动设备。

  3. 旁注:

    1. 如果VM来自较旧的vbox版本,则您将[vm_name].xml在子目录中而不是[vm_name].vbox与相同的目录中[vm_name].vdi

    2. 将与复制[vm_name].xml到相同的目录[vm_name].vdi,并将其重命名为[vm_name].vbox

    3. 根据您已执行的操作,继续执行步骤1.1或2.1。


不幸的是,它似乎不允许您在Windows上的VirtualBox 4.3.6 的“ Virtual Media Manager”窗口中删除VMDK 。:-(
西蒙·伊斯特

1
@Simon查找.vbox文件,然后双击它。它为我自己添加到了管理器中的VM列表(Windows 8.1)
Bojangles 2014年

4

如果要使用现有的虚拟硬盘并将其“打开”到Virtual Box中,则需要转到“文件>虚拟介质管理器”,然后选择“添加”。

浏览到现有磁盘,然后选择确定。这会将磁盘注册到Virtual Box。现在,您需要将此磁盘附加到新的或现有的VM上,以实际使用它。


1
我创建了新机器,然后将旧磁盘连接到了它……不是很直观,但是对我有用!谢谢
Alex R

2
当我尝试这样做(添加使用Win7 Virtual PC创建的.vhd)时,出现错误:无法打开硬盘V:\ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd。在媒体注册表中(C:\ Users \ Clay / .VirtualBox \ VirtualBox.xml”)。
克莱·尼科尔斯

7
添加新项在VirtualBox 4中不起作用。还有其他解决方案吗?
Codism 2011年

2
对于VirtualBox 4及更高版本(无“添加”按钮),请参见Kevin的评论。
Alex Che

1
这个答案似乎已经过时了。
布莱斯2014年

3

默认情况下,VirtualBox从以下路径加载其配置数据:

  • 在Windows上,这是%HOMEDRIVE%%HOMEPATH%\.VirtualBox; 通常类似C:\Documents and Settings\Username\.VirtualBox
  • 在Mac OS X上为$HOME/Library/VirtualBox
  • 在类似Unix的系统(Linux,Solaris)上,这是$HOME/.VirtualBox

这意味着计算机特定于登录用户。如果需要设置一个公共位置在不同用户之间存储计算机,则可以通过设置VBOX_USER_HOME环境变量来覆盖默认位置。VirtualBox将使用此变量中的路径作为VM配置数据的存储区。

有关更多信息,请参见VirtualBox配置数据上的VirtualBox帮助主题。


2

我不确定我是否在这里看到问题。在VirtualBox中,如果要打开一个新的VM(可能是在另一台计算机上创建的),则可以使用文件/导入设备,然后浏览该文件以打开。导入后,可以在主VM面板中找到它。

如果在同一台计算机上创建了VM,则该VM已在主程序窗口的左窗格中。

它可能与您习惯的有所不同,但我不明白为什么它会令人沮丧...


运气不好……“文件/导入设备”需要一个不存在的OVF文件(我想,我可以通过在旧计算机上执行“导出设备”来创建一个文件,但是现在为时已晚)。
亚历克斯R 2010年

我认为V'Box文档在此要求上非常清楚。不幸的是,您无法返回并重做。您有哪些文件?也许有一种转换方法?还是将旧文件加载回VMware并重新导出?
hotei 2010年

2

如果您使用的是类似Unix的计算机,则可以执行以下操作:

find /path/to/vms -name "*.vbox" -exec VBoxManage registervm {} \;

您只需要记住提供.vbox文件的完整路径即可。如果您指定一个相对路径,它将愚蠢地假定它是相对于您的主文件夹的。

例如,我在重建工作站后执行了以下操作:

$ find /store/vm -name "*.vbox" -exec VBoxManage registervm {} \;

它找到并重新注册了我所有的虚拟机。


2

在Mac OS X上,只需打开.vbox文件(来自Finder),该文件就会添加到虚拟机列表中。


1

关于这样的错误:

无法打开硬盘V:\ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd。在媒体注册表中(C:\ Users \ Clay / .VirtualBox \ VirtualBox.xml')。

VirtualBox似乎缓存与虚拟磁盘文件名关联的UUID。消息说的不在文件中。它必须存储在其他位置。显然,VirtualBox 4不再支持注销/注册磁盘命令。

最后,我发现如果我更改了VDI文件的名称,则它不再与缓存的条目匹配,并且VirtualBox不会抱怨。


这似乎不适用于4.3版本。当我尝试每一个回答这个问题,我总是得到这个消息:(
阿尔瓦罗·冈萨雷斯

现在,我找到了文件>虚拟媒体管理器。这使您可以从计算机取消分配VDI映像并将其从媒体注册表中删除。然后可以根据需要将它们重新添加到VM。
Ben McIntyre

更正我以前的评论:之所以收到此错误消息,是因为原始磁盘映像不是独立的,它已链接到撤消磁盘,或者与另一个映像或类似映像有所不同。
阿尔瓦罗·冈萨雷斯

是的,我遇到了这样的错误,因为我的某些计算机基于VMDK映像的快照。我最终的解决方案是创建一个附加了根VMDK的新空白机器,然后创建另一个附加了VMDK快照的空白机器,然后最终我可以双击我的VBOX文件,它会正确加载。
西蒙东

1

在Debian上,我进行了编辑~/.VirtualBox/VirtualBox.xmlmachine.xml还想导入:~/VirtualBox VMs/$machine/$machine.xml

关闭VirtualBox,添加VirtualBox.xml

<MachineRegistry>
  <MachineEntry uuid="{$find-in-machine.xml}" src="/$fullpath-to-machine.xml"/>
</MachineRegistry>

重新启动VirtualBox,如果需要,添加仅主机网络,如果需要,导入ext pack(https://www.virtualbox.org/wiki/Downloads),如果需要,安装virtualbox附加功能:sudo apt-get install virtualbox-guest-additions-iso

启动您的VM。


1

上面的解决方案都不适合我,因为我试图将在VirtualBox 3.1.6下创建的VDI文件导入到在另一台计算机上运行的VirtualBox 4.32中。这是一个自包含文件,没有与另一个VDI的链接。我不断收到错误:

Parent medium with UUID {a9dccef3-45f8-45ff-835e-a2b6e7279bac} of the medium 
'c:\Disks\Windows.2003.R2.Enterprise.SQL.Express.192.168.56.222.Trusted.vdi' 
is not found in the media registry

我什至在VirtualBox 3.1.6下导入了相同的vdi,然后尝试再次使用VBoxManage clonehd来查看我是否可以摆脱该错误,但这也不起作用。

最后,我通过添加简单地手动编辑了.VirtualBox / VirtualBox.xml

<HardDisk uuid="{43ea34ba-6d72-413e-8b37-32f475927ace}" location="C:/Disks/Windows.2003.R2.Enterprise.SQL.Express.192.168.56.222.Trusted.vdi" format="VDI" type="Normal"/>

(uuid是使用VirtualBox 3.1.6下的VBoxManage showvhinfo获得的。)

最终解决了该问题,即,我能够使用vdi创建一个新的VirtualBox会话。

希望本文能对遇到同样问题的人有所帮助。


0

在Win 7主机上运行的VirtualBox 4.3.8中,通过双击计算机的.vbox文件,该解决方案可以非常顺利地工作-甚至找到相应的磁盘并将其关联。早些时候,我尝试了registervm命令行选项,但是它抱怨说,正如文档所预测的那样,找不到附加的硬盘。然后,我将.vdi虚拟硬盘文件类型与Virtualbox.exe相关联,不确定是否有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.