VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 问题解决记录

系统环境

  • 操作系统: macOS catalina(10.15)
  • virtualbox 版本: 6.0.14 r133895

问题描述

升级旧版本的VirtualBox 5VirtualBox 6.0之后, 发现 docker-machine start出现如下报错

➜  ~ docker-machine start
Starting "default"...
(default) Check network to re-create if needed...
Unable to start the VM: /usr/local/bin/VBoxManage startvm default --type headless failed:
VBoxManage: error: The virtual machine 'default' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

Details: 00:29:32.593106 Console: Machine state changed to 'PoweredOff'

VirtualBox 的UI界面启动 Ubuntu 16.04的时候也出现了
VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 问题解决记录_第1张图片
才发现原来是所有的vbox虚拟机都无法启动, 原因应该是同一种
然后回想起自己曾经有改过某些系统目录的权限(或者用户), 是不是修改到了VirtualBox的安装路径

解决思路

  1. 由于不太确定原来的 /Application/VirtualBox.app 的权限是什么样的, 于是执行VirtualBox的安装镜像中的卸载工具将已安装版本完全卸载掉, 然后重装, 发现重装后的用户和用户组是 root:admin, 但是启动仍旧有同样的错误
  2. 网上求助, 看有人说是未安装对应版本的增强工具扩展包, 于是去官网下载增强包后安装, 安装时居然报错了:VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 问题解决记录_第2张图片
  3. 然后发现, 虽然错误类型是一样的, 但是这次却报了不一样的原因: VBoxExtPackHelperApp: error: The owner is not root: /Applications
  4. 这下想起来自己曾经为了测试某个程序改了一下/Application目录的用户为普通用户然后忘了改回来了…真是自己挖坑坑了自己
  5. 于是把 /Applications 的所属用户和用户组改回 root:wheel, 重新执行扩展包的安装, 安装不在报错了, 猜想可能就是因为目录所属用户不是root导致在安装时候无法执行特定的系统命令(比如虚拟机驱动安装)
  6. 扩展包安装成功后, 再次打开虚拟机, 发现已经可以启动了, 问题到此已修复

小结

  1. 不要吃饱了撑的没事去修改系统目录的权限(包括所属用户)
  2. 遇到问题可以互联网求助, 然后针对每一个可能有用的方案自己逐个尝试一遍

你可能感兴趣的:(macOS)