解决 VMware Fusion 中虚拟机启动时报「Could not open /dev/vmmon」的问题

最近在做 RN 开发,安装了 Genymotion 模拟器。之后发现开 VMware Fusion 虚拟机调试旧 IE 时,会在启动时报「Could not open /dev/vmmon」的错误导致无法启动。

Could not open /dev/vmmon
Failed to initialize monitor device

如果用 sudo kextutil /System/Library/Extensions/vmmon.kext 启动则会报错:

Kext com.vmware.kext.vmx86 failed to load (0xdc008017).
Failed to load kext com.vmware.kext.vmx86 (error 0xdc008017).

在网上搜了一下,原因是 VMware Fusion 跟 VirtualBox(Genymotion 和 Docker for Mac 都会依赖的免费虚拟机应用)共存时,如果装了太多虚拟机或虚拟设备,会导致双方共同占用一项共享的系统资源(major device number),导致它被 VirtualBox 占满时 VMware Fusion 中的虚拟机无法启动。解决的方法很暴利,卸载 VirtualBox 就行了。

卸载完可以使用指令 sudo kextutil /System/Library/Extensions/vmmon.kext 启动,然后通过 kextstat | grep vmx 就可以看到已经启动成功。

相关文章

此条目发表在 软件技巧 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

评论功能已关闭。