今天早上,当我打开 Windows 10 电脑时,横幅广告要求我重新启动,因为需要完成升级。看来这是针对版本 10586.17 的补丁。
我关闭了正在运行的名为“mercury”的虚拟机,并重新启动了 Windows 机器以应用更新。
几个小时后,我重新登录 Windows 计算机以重新启动“mercury”VM。此时我发现无法启动 VirtualBox。我想这可能是由于与最新版本的 Windows 存在一些兼容性问题,因此我从 www.virtualbox.org 下载了最新版本的 VirtualBox。
它安装成功但我仍然无法启动 VirtualBox。
如果我尝试通过命令行启动“mercury”VM,如下所示:
cd "c:\Program Files\Oracle\VirtualBox"
VBoxManage.exe startvm "mercury"
我收到以下消息:
Waiting for VM "mercury" to power on...
VM "mercury" has been successfully started.
但是机器没有启动,在 VBoxSVC.log 文件(在 .VirtualBox 中)中我看到以下内容:
VirtualBox COM Server 5.0.0 r101573 win.amd64 (Jul 9 2015 11:08:16) release log
00:00:00.004001 main Log opened 2015-12-08T07:24:26.755587800Z
00:00:00.004001 main Build Type: release
00:00:00.004001 main OS Product: Unknown NT v10.0
00:00:00.004001 main OS Release: 10.0.10586
00:00:00.004001 main OS Service Pack:
00:00:00.018841 main DMI Product Name:
00:00:00.024345 main DMI Product Version:
00:00:00.024345 main Host RAM: 8099MB total, 5325MB available
00:00:00.024345 main Executable: C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
00:00:00.024345 main Process ID: 4032
00:00:00.024345 main Package type: WINDOWS_64BITS_GENERIC
00:00:00.026347 Home directory: 'C:\Users\Hendri/.VirtualBox'
00:00:00.026347 Loading settings file "C:\Users\Hendri/.VirtualBox\VirtualBox.xml" with version "1.12-windows"
00:00:00.340070 HostDnsMonitor: old information
00:00:00.341062 no server entries
00:00:00.341062 no search string entries
00:00:00.341062 no domain set
00:00:00.341062 HostDnsMonitor: new information
00:00:00.341062 server 1: 192.168.8.1
00:00:00.341062 server 2: 196.32.232.244
00:00:00.341062 no search string entries
00:00:00.341062 no domain set
00:00:00.341062 HostDnsMonitorProxy::notify
00:00:00.385419 VD: VDInit finished
00:00:00.386993 Loading settings file "D:\Virtual Machines\mercury\mercury.vbox" with version "1.15-windows"
00:00:00.387994 Loading settings file "D:\Virtual Machines\venus\venus.vbox" with version "1.15-windows"
00:00:00.388994 Loading settings file "D:\Virtual Machines\earth\earth.vbox" with version "1.15-windows"
00:00:01.879145 Watcher ERROR [COM]: aRC=E_FAIL (0x80004005) aIID={f30138d4-e5ea-4b3a-8858-a059de4c93fd} aComponent={MachineWrap} aText={The virtual machine 'mercury' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005)}, preserve=false aResultDetail=0
00:00:06.880525 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={4afe423b-43e0-e9d0-82e8-ceb307940dda} aComponent={MediumWrap} aText={Medium 'D:\Virtual Machines\mercury\mercury.vdi' cannot be closed because it is still attached to 1 virtual machines}, preserve=false aResultDetail=0
00:00:06.880525 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={4afe423b-43e0-e9d0-82e8-ceb307940dda} aComponent={MediumWrap} aText={Medium 'D:\Virtual Machines\venus\venus.vdi' cannot be closed because it is still attached to 1 virtual machines}, preserve=false aResultDetail=0
00:00:06.880525 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={4afe423b-43e0-e9d0-82e8-ceb307940dda} aComponent={MediumWrap} aText={Medium 'D:\Virtual Machines\earth\earth.vdi' cannot be closed because it is still attached to 1 virtual machines}, preserve=false aResultDetail=0
00:00:06.884061 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={0169423f-46b4-cde9-91af-1e9d5b6cd945} aComponent={VirtualBoxWrap} aText={The object is not ready}, preserve=false aResultDetail=0
错误消息让我想到这可能是权限问题,但是
- 当我运行 CMD.exe 提示符时,我以管理员身份运行它
- 当我尝试启动 VirtualBox GUI 时,我也尝试以“管理员身份”启动它
平台信息:
Operating System : Windows 10 Pro, Build 10586.17 64-Bit
VirtualBox OSE : VirtualBox-5.0.10-104061-Win.exe
任何帮助,将不胜感激!
答案1
事实证明解决方案是(按此顺序):
- 卸载现有的 VirtualBox 安装,然后
- 全新安装 VirtualBox
根据上述用户“rambound”的说法:
“卸载过程取消注册了所使用的 COM 库,安装过程注册了它们,请自行提供详细答案。“
答案2
打开注册表编辑器(打开运行->输入 regedit),然后找到给定的键(键 - aIID={0169423f-46b4-cde9-91af-1e9d5b6cd945})更改其权限并重新启动机器。
如果仍然不起作用,则从“xxx.docker\machine\cache\”中删除 boot2docker.iso,重新启动机器并重试。
如果上述方法不起作用,请确保您的系统中没有安装 VMWare-horixon-client。对于我的系统来说,这是个问题,之后它运行正常。