天天看點

VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 問題解決記錄系統環境問題描述解決思路小結

系統環境

  • 作業系統:

    macOS catalina(10.15)

  • virtualbox 版本:

    6.0.14 r133895

問題描述

更新舊版本的

VirtualBox 5

VirtualBox 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) 問題解決記錄系統環境問題描述解決思路小結

才發現原來是所有的vbox虛拟機都無法啟動, 原因應該是同一種

然後回想起自己曾經有改過某些系統目錄的權限(或者使用者), 是不是修改到了VirtualBox的安裝路徑

解決思路

  1. 由于不太确定原來的

    /Application/VirtualBox.app

    的權限是什麼樣的, 于是執行VirtualBox的安裝鏡像中的解除安裝工具将已安裝版本完全解除安裝掉, 然後重裝, 發現重裝後的使用者和使用者組是

    root:admin

    , 但是啟動仍舊有同樣的錯誤
  2. 網上求助, 看有人說是未安裝對應版本的增強工具擴充包, 于是去官網下載下傳增強包後安裝, 安裝時居然報錯了:
    VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 問題解決記錄系統環境問題描述解決思路小結
  3. 然後發現, 雖然錯誤類型是一樣的, 但是這次卻報了不一樣的原因:

    VBoxExtPackHelperApp: error: The owner is not root: /Applications

  4. 這下想起來自己曾經為了測試某個程式改了一下

    /Application

    目錄的使用者為普通使用者然後忘了改回來了…真是自己挖坑坑了自己
  5. 于是把

    /Applications

    的所屬使用者和使用者組改回

    root:wheel

    , 重新執行擴充包的安裝, 安裝不在報錯了, 猜想可能就是因為目錄所屬使用者不是root導緻在安裝時候無法執行特定的系統指令(比如

    虛拟機驅動安裝

    )
  6. 擴充包安裝成功後, 再次打開虛拟機, 發現已經可以啟動了, 問題到此已修複

小結

  1. 不要吃飽了撐的沒事去修改系統目錄的權限(包括所屬使用者)
  2. 遇到問題可以網際網路求助, 然後針對每一個可能有用的方案自己逐個嘗試一遍

繼續閱讀