VirtualBox NS_ERROR_FAILURE (0x80004005) macOS

JP *_*ack 28 macos virtualbox

我正在使用 macOS 并安装了 VirtualBox。

当我启动一台机器时,我收到以下错误:

Failed to open a session for the virtual machine ubuntu.

The virtual machine 'ubuntu' has terminated unexpectedly during startup with exit code 1 (0x1).

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: MachineWrap
Interface: IMachine {85cd948e-a71f-4289-281e-0ca7ad48cd89}
Run Code Online (Sandbox Code Playgroud)

del*_*io2 39

在 macOS 10.13 版本上安装 VirtualBox 时似乎会出现此错误。

要解决此问题,您必须卸载 VirtualBox(使用VirtualBox_uninstall.toolVirtualBox 下载的 dmg)。

然后,再次安装它执行VirtualBox.pkg. 在安装结束时,转到系统偏好设置、安全和隐私,然后单击allow按钮:

允许 Oracle America, Inc.

这应该可以解决您的问题。

  • 我从来没有选择允许开发人员“Oracle…”。我基本上被困在这一点上。 (14认同)
  • 没有解决我在蒙特利的问题。 (7认同)
  • @BrunoBronosky 我正在使用 macOs 11.4 Big Sur 和 VirtualBox 6.1 尝试此操作,但每次我访问安全和隐私中的系统首选项时,我都看不到有关被阻止的软件组件的消息。我依稀记得Mac很久以前说过类似的话,但我不知道如何再次找到它...... (3认同)
  • 谢谢。这为我节省了 3 个小时的故障排除时间。 (2认同)
  • 这对我有用。 (2认同)
  • 你救了我的命!谢谢! (2认同)
  • 我什至不需要执行单独的卸载步骤...只需安装最新版本即可修复它。 (2认同)
  • 这在 macOS 11.4 Big Sur 上对我有用,VirtualBox 6.1 (2认同)

Pra*_*ams 18

在此输入图像描述

  • 运行它就可以了!

  • 你救救我m8。 (2认同)

小智 6

这对我有用。在单击 VM 上的“开始”进行设置后尝试“添加”ISO 时,我一直收到该错误。

但是,当我单击左侧栏上的“工具”时,然后单击“媒体”。从那里我可以添加我的 Kali linux ISO,所以当我再次启动 VM 时,ISO 出现在列表中。 在此处输入图片说明


ein*_*arc 5

让我们从故障排除的角度来看这个问题。要做的第一件事是诊断,而不是猜测,当您不知道问题是什么时,这是最好的方法。我将引导您完成特定用例的步骤,但它应该让您了解如何查看问题以找到正确的解决方案。

a.-查看虚拟机的实际日志:

单击菜单项,您应该看到三个选项:

  1. 细节
  2. 快照
  3. 日志

查找此错误代码:VMSetError 并查找匹配的返回代码 (rc) rc=VERR_VD_IMAGE_READ_ONLY

在下面的示例中,/build/virtualbox.... 下的文件处于只读模式。

 VMSetError: /build/virtualbox-8vePuu/virtualbox-6.1.16-dfsg/src/VBox/Devices/Storage/DrvVD.cpp(5228) int drvvdConstruct(PPDMDRVINS, PCFGMNODE, uint32_t); rc=VERR_VD_IMAGE_READ_ONLY
Run Code Online (Sandbox Code Playgroud)

b.-解释这意味着什么:但问题是 /build 目录根本不存在。所以上面的 rc 真正的意思是它无法找到该文件,因为 /build 甚至不存在(似乎也不应该存在)。

cd: /build/virtualbox-8vePuu/virtualbox-6.1.16-dfsg/src/VBox/Devices/Storage/: No such file or directory
root@pop-os:~# cd /build/virtualbox-8vePuu/virtualbox-6.1.16-dfsg/
-bash: cd: /build/virtualbox-8vePuu/virtualbox-6.1.16-dfsg/: No such file or directory
root@pop-os:~# cd /build
-bash: cd: /build: No such file or directory
root@pop-os:~# ls /
bin   dev  home  lib32  libx32      media  opt   root  sbin  sys  usr
boot  etc  lib   lib64  lost+found  mnt    proc  run   srv   tmp  var
Run Code Online (Sandbox Code Playgroud)

另一件需要注意的事情是,对于我的情况,同一位置中具有 VDI 的其他虚拟机不会出现问题。这就完全排除了两种可能性:

  • Virtual Box安装有问题
  • 存在实际的文件权限问题

可能性是虚拟机在关闭期间的某个时刻被损坏,并导致配置损坏,而不是虚拟机级别的 VDI 损坏,而不是 VirtualBox 级别的 VDI 损坏。

除非您关闭虚拟机电源,否则虚拟机窗口上的“关闭”功能将始终保存机器的状态,因此只有当您有两个或多个状态时才可能“放弃”状态,因为在这种情况下至少总是存在最后的状态。

结论是损坏发生在虚拟机状态级别,我们需要消除它。

c.-解决方案:

转到虚拟机->菜单->快照->克隆

创建链接克隆。这将简单地将配置文件复制到正确的位置并链接到相同的 VDI。

开始那个吧。如果它启动,您就知道原始虚拟机有问题。您可以重新创建虚拟机并指向现有 VDI,也可以创建完整克隆(需要更长的时间)并删除原始虚拟机。

为了防止这种情况(至少对于我的情况),请避免在关闭时向虚拟机发送关机消息,最好使用 ACPI 关闭方法,因为关机可能会使(正如我们所看到的)您的计算机处于不需要的状态。