VirtualBox:在MacOS Sierra上出现NS_ERROR_FAILURE错误

21

我使用virtualbox+vagrant来运行一个用于开发目的的虚拟机。在我升级到Sierra之前,它运行得非常完美。以下是错误追踪:

nkohlis-MacBook-Pro:vagrant nkohli$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: 

failed to open /dev/vboxnetctl: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 66 of file VBoxManageHostonly.cpp

我尝试了其他地方建议的解决方案:

nkohlis-MacBook-Pro:vagrant nkohli$ sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart
Password:
/Applications/VirtualBox.app/Contents/MacOS/VBoxAutostart => /Applications/VirtualBox.app/Contents/MacOS/VBoxAutostart-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxBalloonCtrl => /Applications/VirtualBox.app/Contents/MacOS/VBoxBalloonCtrl-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxDD2GC.gc => /Applications/VirtualBox.app/Contents/MacOS/VBoxDD2GC.gc-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxDDGC.gc => /Applications/VirtualBox.app/Contents/MacOS/VBoxDDGC.gc-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxExtPackHelperApp => /Applications/VirtualBox.app/Contents/MacOS/VBoxExtPackHelperApp-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless => /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage => /Applications/VirtualBox.app/Contents/MacOS/VBoxManage-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxNetAdpCtl => /Applications/VirtualBox.app/Contents/MacOS/VBoxNetAdpCtl-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxNetDHCP => /Applications/VirtualBox.app/Contents/MacOS/VBoxNetDHCP-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxNetNAT => /Applications/VirtualBox.app/Contents/MacOS/VBoxNetNAT-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxSVC => /Applications/VirtualBox.app/Contents/MacOS/VBoxSVC-amd64
/Applications/VirtualBox.app/Contents/MacOS/VBoxXPCOMIPCD => /Applications/VirtualBox.app/Contents/MacOS/VBoxXPCOMIPCD-amd64
/Applications/VirtualBox.app/Contents/MacOS/VMMGC.gc => /Applications/VirtualBox.app/Contents/MacOS/VMMGC.gc-amd64
/Applications/VirtualBox.app/Contents/MacOS/VirtualBox => /Applications/VirtualBox.app/Contents/MacOS/VirtualBox-amd64
/Applications/VirtualBox.app/Contents/MacOS/VirtualBoxVM => /Applications/VirtualBox.app/Contents/MacOS/VirtualBoxVM-amd64
/Applications/VirtualBox.app/Contents/MacOS/vboxwebsrv => /Applications/VirtualBox.app/Contents/MacOS/vboxwebsrv-amd64
Loading VBoxDrv.kext
/Library/Application Support/VirtualBox/VBoxDrv.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxDrv.kext
Loading VBoxUSB.kext
/Library/Application Support/VirtualBox/VBoxUSB.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxUSB.kext
Loading VBoxNetFlt.kext
/Library/Application Support/VirtualBox/VBoxNetFlt.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxNetFlt.kext
Loading VBoxNetAdp.kext
/Library/Application Support/VirtualBox/VBoxNetAdp.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxNetAdp.kext
(kernel) Kext org.virtualbox.kext.VBoxNetAdp not found for unload request.
Failed to unload org.virtualbox.kext.VBoxNetAdp - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxNetFlt not found for unload request.
Failed to unload org.virtualbox.kext.VBoxNetFlt - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxUSB not found for unload request.
Failed to unload org.virtualbox.kext.VBoxUSB - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxDrv not found for unload request.
Failed to unload org.virtualbox.kext.VBoxDrv - (libkern/kext) not found.
Fatal error: VirtualBox

...毫无效果。

以下是我在重新安装 VirtualBox 后运行 vagrant up 时的堆栈跟踪:

failed MSpanList_Insert 0x1e3000 0x215290116bd5 0x0
fatal error: MSpanList_Insert

runtime stack:
runtime.throw(0x19816b)
    /Users/mitchellh/code/3rdparty/go/src/runtime/panic.go:491 +0xad fp=0x7fff5fbff7d0 sp=0x7fff5fbff7a0
runtime.MSpanList_Insert(0x1b3988, 0x1e3000)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:692 +0x8f fp=0x7fff5fbff7f8 sp=0x7fff5fbff7d0
MHeap_FreeSpanLocked(0x1b0580, 0x1e3000, 0x100)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:583 +0x163 fp=0x7fff5fbff838 sp=0x7fff5fbff7f8
MHeap_Grow(0x1b0580, 0x8, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:420 +0x1a8 fp=0x7fff5fbff878 sp=0x7fff5fbff838
MHeap_AllocSpanLocked(0x1b0580, 0x1, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:298 +0x365 fp=0x7fff5fbff8b8 sp=0x7fff5fbff878
mheap_alloc(0x1b0580, 0x1, 0x12, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:190 +0x121 fp=0x7fff5fbff8e0 sp=0x7fff5fbff8b8
runtime.MHeap_Alloc(0x1b0580, 0x1, 0x10000000012, 0x10d39)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mheap.c:240 +0x66 fp=0x7fff5fbff918 sp=0x7fff5fbff8e0
MCentral_Grow(0x1b82f8, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mcentral.c:197 +0x8b fp=0x7fff5fbff980 sp=0x7fff5fbff918
runtime.MCentral_CacheSpan(0x1b82f8, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mcentral.c:85 +0x167 fp=0x7fff5fbff9b8 sp=0x7fff5fbff980
runtime.MCache_Refill(0x1df000, 0x12, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/mcache.c:90 +0xa0 fp=0x7fff5fbff9e0 sp=0x7fff5fbff9b8
runtime.mcacheRefill_m()
    /Users/mitchellh/code/3rdparty/go/src/runtime/malloc.c:368 +0x57 fp=0x7fff5fbffa00 sp=0x7fff5fbff9e0
runtime.onM(0x13d650)
    /Users/mitchellh/code/3rdparty/go/src/runtime/asm_amd64.s:273 +0x9a fp=0x7fff5fbffa08 sp=0x7fff5fbffa00
runtime.mallocgc(0x120, 0xff4a0, 0x0, 0x0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/malloc.go:178 +0x849 fp=0x7fff5fbffab8 sp=0x7fff5fbffa08
runtime.newobject(0xff4a0, 0x1df000)
    /Users/mitchellh/code/3rdparty/go/src/runtime/malloc.go:353 +0x49 fp=0x7fff5fbffae0 sp=0x7fff5fbffab8
runtime.newG(0x2520a)
    /Users/mitchellh/code/3rdparty/go/src/runtime/proc.go:233 +0x2a fp=0x7fff5fbffaf8 sp=0x7fff5fbffae0
allocg(0x1a33e0)
    /Users/mitchellh/code/3rdparty/go/src/runtime/proc.c:925 +0x1f fp=0x7fff5fbffb08 sp=0x7fff5fbffaf8
runtime.malg(0x8000, 0x1a3480)
    /Users/mitchellh/code/3rdparty/go/src/runtime/proc.c:2106 +0x1f fp=0x7fff5fbffb38 sp=0x7fff5fbffb08
runtime.mpreinit(0x1a3840)
    /Users/mitchellh/code/3rdparty/go/src/runtime/os_darwin.c:137 +0x27 fp=0x7fff5fbffb50 sp=0x7fff5fbffb38
mcommoninit(0x1a3840)
    /Users/mitchellh/code/3rdparty/go/src/runtime/proc.c:201 +0xc9 fp=0x7fff5fbffb78 sp=0x7fff5fbffb50
runtime.schedinit()
    /Users/mitchellh/code/3rdparty/go/src/runtime/proc.c:138 +0x55 fp=0x7fff5fbffba0 sp=0x7fff5fbffb78
runtime.rt0_go(0x7fff5fbffbd8, 0x2, 0x7fff5fbffbd8, 0x0, 0x0, 0x2, 0x7fff5fbffcd0, 0x7fff5fbffcd8, 0x0, 0x7fff5fbffcdb, ...)
    /Users/mitchellh/code/3rdparty/go/src/runtime/asm_amd64.s:95 +0x116 fp=0x7fff5fbffba8 sp=0x7fff5fbffba0

我已经查看了周围,但没有在其他地方找到类似的问题报告。

5个回答

30

那真是最奇怪的 bug 修复。我一直在遇到同样的错误,但安装最新版本的 VirtualBox 后问题就解决了。不知道我们是否能将这个问题与 VirtualBox 中的特定 bug 关联起来呢? - user9903
我通过仅安装Vagrant来解决了这个问题。 - Leaniman

4

更新到macOS Sierra后出现了一些报告的问题。重新安装Virtualbox可以解决这个问题。


我尝试了这个,得到了完全不同的跟踪信息,如上所述。谢谢。 - Chocolava
奇怪,它看起来像是一个Go错误,为什么会把Go错误放在那里?!我不知道...在迁移到Sierra之前还要等一会儿。 - Frederic Henri
在Sierra上重新安装VirtualBox对我有用,VirtualBox版本为“5.0.26”,可与Vagrant版本“1.7.4”配合使用。 - Alejandro Morán

4

这个问题会影响那些在全新的macOS High Sierra 10.13上首次安装VirtualBox的用户。

这实际上破坏了我们在macOS上完全自动化安装过程,因为用户现在需要手动批准,并重新启动安装(在某些情况下需要重启并重新运行安装)。

首先,请尝试使用以下命令重新启动VirtualBox。

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

如果你仍然遇到这个问题,根据屏幕截图指示,分配以下权限。

enter image description here

注:如果“允许”按钮未显示,请运行sudo kextcache -system-caches

来源:https://github.com/docksal/docksal/issues/417


这也是我正确的答案! - Romeo Onisim

1
解决了。无论我尝试多少次,VirtualBox都会失败。对我有效的方法是重新启动并再次尝试,它成功了!(早些时候,在尝试安装之前,我已经升级了fuse、vagrant,并在“系统偏好设置/安全性”面板中选中了允许Oracle加载其扩展程序。关键是在尝试在High Sierra上安装VB之前重新启动计算机。)

0
在终端中运行以下命令:
for bin in VirtualBox VirtualBoxVM VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT VBoxHeadless; do
    sudo chmod u+s "/Applications/VirtualBox.app/Contents/MacOS/${bin}"
done

我在不升级任何内容的情况下成功了。

注意:这将允许系统上的任何用户以root身份运行这些命令。在运行之前,请确保您理解这些命令的含义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接