Oracle 虚拟机无法访问
Posted
技术标签:
【中文标题】Oracle 虚拟机无法访问【英文标题】:Oracle virtual box inaccessible 【发布时间】:2014-04-08 15:48:12 【问题描述】:我使用的是 Oracle Virtual Box 版本 4.2.16 r86992。一切都很好,直到昨天关机。 今天,它显示无法访问并抛出此错误:
Runtime error opening C:\Users\xxxxxx\VirtualBox VMs\vBoxxxxXubuntu_Beta\vBoxxxxXubuntu_Beta.vbox for reading: -102 (File not found.).
D:\tinderbox\win-4.2\src\VBox\Main\src-server\MachineImpl.cpp[725] (long __cdecl Machine::registeredInit(void)).
恢复正常工作很好,可以节省大量时间并恢复配置设置和数据。感谢您的支持。
【问题讨论】:
【参考方案1】:这通常发生在主机操作系统崩溃或您拔掉它的插件时,导致 .vbox 文件未保存。
地点:
C:\Users\xxxxxxx\VirtualBox VMs\vBoxxxxXubuntu_Beta\
你应该找到两个文件:
vBoxxxxXubuntu_Beta.vbox-prev
vBoxxxxXubuntu_Beta.vbox-tmp
将vBoxxxxXubuntu_Beta.vbox-prev
复制到vBoxxxxXubuntu_Beta.vbox
。
选择vBoxxxxXubuntu_Beta.vbox
,在VBox管理器中右键,然后左键刷新。
观察它现在显示已关闭。
现在你可以走了。
【讨论】:
你救了我,谢谢(仅供参考,没有“-tmp”文件。我必须将它复制到我的 vBoxxxxXubuntu_Beta.vbox 中,它是 0 字节) 非常感谢您的回答!!!主机意外更新重启后帮助了我 我可以确认这也解决了 Vagrant 的问题 - 它再次识别它。 你救了我的命,与 vagrant 和 win 8 和 Virtualbox 4.3.28 一起工作 是的,这救了我。我不知道 -tmp 和 -prev 文件可以更改为 .vbox,只是因为它们的大小像 11KB ......但最后:我查看了 -tmp 和 -prev 时间戳;我的 -tmp 是最新的,所以我将其切换到 .vbox。它从那里开始工作!谢谢。【参考方案2】:根据我的经验,我在 Windows 7 上运行 Ubuntu 14.04 作为虚拟机上的来宾操作系统。
-
转到您的 Virtualbox 文件夹(在我的情况下):
C:\Users\Dev12\VirtualBox VMs\Ubuntu
您会看到带有扩展名的文件:Ubuntu.vbox-tmp
或 Ubuntu.vbox-prev
从文件名Ubuntu.vbox-tmp
中删除-tmp
,使其读作Ubuntu.vbox
退出虚拟机并重新启动。
您现在应该会看到错误消失了。
【讨论】:
这对我有用,我尝试复制并创建一个新文件,但工作是重命名 tmp 文件。【参考方案3】:扩展名为 .vbox 的虚拟机文件包含虚拟机管理程序解析来宾虚拟操作系统配置所需的元数据。
如果主 .vbox 文件已损坏(即报告它为空),则使用备份 .vbox-prev 文件来恢复原始文件的内容。
将空的 .vbox 文件重命名为临时名称(例如,将 originalVM.vbox 重命名为 originalVM-empty.vbox)。
然后制作备份文件 originalVM.vbox-prev 的副本,其中副本将与原始文件同名,但附加单词“copy”(即 originalVM.vbox -prev 重命名为 originalVM (copy).vbox-prev)。
保留原始备份 .vbox-prev 文件很重要,它不应被更改或重命名。
现在将新创建的 .vbox-prev 文件 originalVM (copy).vbox-prev 的副本重命名为空 .vbox 文件的原始名称,同时注意更改它的扩展名从 .vbox-prev 回到 .vbox。
即将 originalVM (copy).vbox-prev 重命名回 originalVM.vbox。现在这已完成,您可以将 .vbox 文件(guest os)添加回 VBOX 管理程序。 这将恢复“无法访问”的来宾虚拟机的状态和快照。现在删除原来的空 .vbox 文件。
【讨论】:
【参考方案4】:我在 Windows 7 中安装的 VirtualBox 5.1 上使用 CentOs 6.8 时遇到了同样的问题,而 AjayKumarBasuthkar 的解决方案对我来说非常有效:
-
我去了C:\Users\\VirtualBox VMs\CentOS6.8
复制文件 CentOS6.8.vbox-prev 并命名为 CentOS6.8.vbox
进入 VirtualBox GUI,右键单击 VM 实例并点击刷新
CentOS 实例从 State Inaccessible 变为 Powered Off
【讨论】:
【参考方案5】:VirtualBox 4.3 已发布,可能是您已更新或更新时出现问题?
无论如何,如果您无法启动 Virtualbox,请记住备份 VirutalBox VMs 文件夹并重新安装应该是最好的方法。
【讨论】:
【参考方案6】:我遇到了同样的问题,当虚拟机虚拟机关闭时,我通过在带有 Ubuntu 14.04 LTS 的 Oracle Virtual box 4.3.28 中执行以下操作解决了。
将 ubuntu.vbox 移除到虚拟盒子文件夹之外的另一个文件夹中
从文件 ubuntu.vbox-prev 中删除了 -prev
启动oracle virtualbox,效果很好。
【讨论】:
【参考方案7】:在 Windows 7 主机上,我发现 Daemon Tools 服务保留了该文件。
解决方案是卸载 Daemon Tools,但我怀疑如果你停止服务并删除文件关联,你会被排序。
【讨论】:
【参考方案8】:另一个问题可能是,如果您的虚拟机位于外部硬盘驱动器上,则驱动器号可能已更改。如果是这样,请进入计算机管理,然后选择硬盘并右键单击以更改驱动器号并保存(注意这是针对Windows的)。
【讨论】:
【参考方案9】:这听起来很愚蠢,但请尝试重新安装 VB。它可能会起作用。
【讨论】:
以上是关于Oracle 虚拟机无法访问的主要内容,如果未能解决你的问题,请参考以下文章
记一次centos7主机名变bogon导致ORACLE无法远程访问的经历(原创)