系統環境
- 作業系統:
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
的時候也出現了

才發現原來是所有的vbox虛拟機都無法啟動, 原因應該是同一種
然後回想起自己曾經有改過某些系統目錄的權限(或者使用者), 是不是修改到了VirtualBox的安裝路徑
解決思路
- 由于不太确定原來的
的權限是什麼樣的, 于是執行VirtualBox的安裝鏡像中的解除安裝工具将已安裝版本完全解除安裝掉, 然後重裝, 發現重裝後的使用者和使用者組是/Application/VirtualBox.app
, 但是啟動仍舊有同樣的錯誤root:admin
- 網上求助, 看有人說是未安裝對應版本的增強工具擴充包, 于是去官網下載下傳增強包後安裝, 安裝時居然報錯了:
VirtualBox for macOS NS_ERROR_FAILURE (0x80004005) 問題解決記錄系統環境問題描述解決思路小結 - 然後發現, 雖然錯誤類型是一樣的, 但是這次卻報了不一樣的原因:
VBoxExtPackHelperApp: error: The owner is not root: /Applications
- 這下想起來自己曾經為了測試某個程式改了一下
目錄的使用者為普通使用者然後忘了改回來了…真是自己挖坑坑了自己/Application
- 于是把
的所屬使用者和使用者組改回/Applications
, 重新執行擴充包的安裝, 安裝不在報錯了, 猜想可能就是因為目錄所屬使用者不是root導緻在安裝時候無法執行特定的系統指令(比如root:wheel
)虛拟機驅動安裝
- 擴充包安裝成功後, 再次打開虛拟機, 發現已經可以啟動了, 問題到此已修複
小結
- 不要吃飽了撐的沒事去修改系統目錄的權限(包括所屬使用者)
- 遇到問題可以網際網路求助, 然後針對每一個可能有用的方案自己逐個嘗試一遍