Oracle虚拟机无法访问



我使用的是Oracle Virtual Box版本4.2.16 r86992。一切都很好,直到昨天关闭。今天,它显示无法访问并抛出以下错误:

Runtime error opening C:UsersxxxxxxVirtualBox VMsvBoxxxxXubuntu_BetavBoxxxxXubuntu_Beta.vbox for reading: -102 (File not found.).  
D:tinderboxwin-4.2srcVBoxMainsrc-serverMachineImpl.cpp[725] (long __cdecl Machine::registeredInit(void)).

将其恢复到工作状态很好,这将节省大量时间并恢复配置设置和数据。感谢您的支持。

如果主机操作系统崩溃或拔下插头,导致.vbox文件未保存,则通常会发生这种情况。

在位置:

C:UsersxxxxxxxVirtualBox VMsvBoxxxxXubuntu_Beta  

你应该找到两个文件:

  1. vBoxxxxXubuntu_Beta.vbox-prev
  2. vBoxxxxXubuntu_Beta.vbox-tmp

vBoxxxxXubuntu_Beta.vbox-prev复制到vBoxxxxXubuntu_Beta.vbox

选择vBoxxxxXubuntu_Beta.vbox,在VBox管理器中,右键单击,然后左键单击刷新。

观察它现在显示Powered Off。

现在你可以走了。

根据我的经验,我在Windows7上运行Ubuntu 14.04作为虚拟机上的访客操作系统。

  1. 转到您的Virtualbox文件夹(在我的情况下):C:UsersDev12VirtualBox VMsUbuntu
  2. 您将看到扩展名为Ubuntu.vbox-tmpUbuntu.vbox-prev的文件
  3. 从文件名Ubuntu.vbox-tmp中删除-tmp,使其读作Ubuntu.vbox
  4. 退出虚拟机并重新启动它
  5. 您现在应该看到错误消失了

扩展名为.vbox的虚拟机文件包含virtualbox系统管理程序解析来宾虚拟操作系统配置所需的元数据。

如果主.vbox文件已损坏(即报告为空),则使用备份.vbox prev文件恢复原始文件的内容。

将空.vbox文件重命名为临时名称(例如,将originalVM.vbox重命名为originalVM empty.vbox).

然后复制备份文件originalVM.vbox-prev,其中该副本将与原始文件同名,但会附加单词"copy">(即originalVM.vbox-prev重命名为originalVM(copy).vbox-previ)。

保留原始备份.vbox-prev文件非常重要,不应更改该文件或对其本身进行重命名

现在转到将新创建的.vbox prev文件的副本重命名为空.vbox文件的原始名称

这就是将originalVM(副本).vbox-prev重命名回originalVM.vbox。现在完成了这一操作,您可以将.vbox文件(来宾操作系统)添加回vbox系统管理程序
这将恢复"无法访问"的来宾虚拟机的状态和快照。现在删除原始的空.vbox文件。

我在安装在Windows 7中的VirtualBox 5.1上使用CentOs 6.8时遇到了同样的问题,AjayKumarBasuthkar的解决方案对我来说非常适用:

  1. 我去了C:\Users\\VirtualBox VMs\CentOS6.8
  2. 复制文件CentOS6.8.vbox-prev,并将其命名为CentOS6.8vbox
  3. 转到VirtualBox GUI,右键单击VM实例并点击刷新
  4. CentOS实例从"无法访问"状态变为"关闭电源">

VirtualBox 4.3发布了,可能是您更新了还是在更新时出现了一些问题?

在任何情况下,如果您无法打开Virtualbox,请记住备份VirutalBox VM文件夹,重新安装应该是最好的方法。

我遇到了同样的问题,当虚拟机关闭时,我在Ubuntu 14.04 LTS的Oracle虚拟机4.3.28中执行了以下操作,解决了这个问题。

  1. 将ubuntu.box删除到虚拟盒文件夹之外的另一个文件夹

  2. 已从文件ubuntu.box-prev 中删除-prev

  3. 启动oraclevirtualbox,它非常有效。

在Windows 7主机上,我发现Daemon Tools服务保留了该文件。

解决方案是卸载守护程序工具,但我怀疑如果你停止服务并删除文件关联,你会被排序。

另一个问题可能是,如果您的虚拟机位于外部硬盘驱动器上,则驱动器号可能已更改。如果是,请转到"计算机管理",选择硬盘驱动器,然后右键单击以更改驱动器号并保存(请注意,这适用于Windows)。

这听起来很愚蠢,但试着重新安装VB。它可能会起作用。

我在前面的精彩回答中添加了一条重要的评论。在从.vbox-prev文件复制内容之前,请确保原始.vbox文件已损坏且为空。如果不是这样,并且您发现它包含行和可读内容,则不要替换.vbox.的内容

在虚拟机变得不可访问之前直接对虚拟机所做的更改可能不会在.vbox prev备份文件中更新。在操作系统升级或系统更改导致无法解决的问题之前,这些更改无法与这些更改同步。

如果在操作系统升级或系统更改后发现您的虚拟机不可访问,请首先检查.vbox文件是否仍然可以被文本编辑器读取,并且它有行。然后,您只需要从VirtualBox管理器列表中删除VM(只需从列表中删除设备,而不删除文件)。然后重新打开.vbox文件,它应该可以正常工作。

如果使用文本编辑器打开原始.vbox文件时,该文件已损坏或为空,则只能从.vbox prev中复制内容,并按照突出显示的说明进行操作。

这是我的经验,我想与大家分享,以避免在操作系统升级或崩溃前丢失一些最后一分钟的更改。

最新更新