相关环境


 


  • MacOS 11.0.1
  • VirtualBox 6.1.12
  • VirtualBox 6.1.16

 




mac sudo gem install cocoapods 没反应 macos can not be installed_安装包


 


 


 


问题描述


 


MacOS 从 Catalina 升级到 Big Sur 之后,运行 VirtualBox 中的虚拟机报错,我当前的 VirtualBox 版本为 6.1.12。报错信息如下:


 


Kernel driver not installed (rc=-1908)

Make sure the kernel module has been loaded successfully.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

 


如下截图:


 



mac sudo gem install cocoapods 没反应 macos can not be installed_重启_02


 


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_03


 


 


 


问题原因


 


这种大版本的升级可预料到的会发生一些内核上的变化,而从 VirtualBox 的报错信息来看,也是明确地指出了内核方面的信息。


 


 


 


解决方法


 


1、下载最新的 VirtualBox 软件并安装。


 


从 VirtualBox 官网下载最新的 VirtualBox 安装包,下载地址:https://www.virtualbox.org/wiki/Downloads


 


 


2、卸载当前的 VirtualBox


 


下载完最新的 VirtualBox (当前最新版是 6.1.16) 安装包后,点击安装包会弹出如下界面,点击右下角的 VirtualBox_Uninstall.tool 进行卸载(记得先退出正在运行的 VirtualBox)


 



mac sudo gem install cocoapods 没反应 macos can not be installed_System_04


 


 


 


然后会弹出一个卸载 VirtualBox 的窗口,输出 yes 确认卸载,卸载完成后关闭窗口。


 


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_05


 


 


3、重新安装 VirtualBox


 


点击 VirtualBox.pkg 进行安装


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_06


 


点击 "允许"


 



mac sudo gem install cocoapods 没反应 macos can not be installed_VirtualBox_07


 


点击 "继续"


 



mac sudo gem install cocoapods 没反应 macos can not be installed_重启_08


 


 



mac sudo gem install cocoapods 没反应 macos can not be installed_重启_09


 



mac sudo gem install cocoapods 没反应 macos can not be installed_VirtualBox_10


 


 


4、允许安全与隐私


 


在安装完成后,还需要允许 VirtualBox 的安全与隐私。


 


设置 -> 安全性与隐私 -> 通用 -> 点击左下角的锁解锁 -> 点击 "允许"


 



mac sudo gem install cocoapods 没反应 macos can not be installed_安装包_11


 


 


5、重启 MacOS


 


在允许 VirtualBox 的安全性策略后,还需要重启 MacOS 才能启用 VirtualBox 新的系统扩展。


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_12


 


 


6、补充方案


 


如果以上的方法尝试之后没有解决问题,这很有可能是你的机器的 SIP(系统集成保护:System Integrity Protection) 设置有问题。


 


比如我的机器之前 csrutil disable 关闭了 SIP 功能。


 


$ csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
        Apple Internal: disabled
        Kext Signing: disabled
        Filesystem Protections: disabled
        Debugging Restrictions: disabled
        DTrace Restrictions: disabled
        NVRAM Protections: disabled
        BaseSystem Verification: enabled
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.

我卸载重装 VirtualBox 以后发现没有报内核错误了,但还有如下的错误:


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_13


 


 


如果你也有类似的情况,请尝试再使用以下步骤清除 SIP 的设置。


 


 


(1) 重启 macOS 并按 Command + R 进入恢复模式


 


 


(2) 在恢复模式下打开终端


 



mac sudo gem install cocoapods 没反应 macos can not be installed_macOS_14


 


 


(3) 在打开的终端命令行输出 csrutil clear


 


使用 csrutil status 可以看到 macOS 当前的 SIP 都被禁用了。然后执行 csrutil clear 重置之前的 SIP 设置。


 


$ csrutil status    # 查看当前的 SIP 状态
$ csrutil clear     # 清除当前的 SIP 设置

 



mac sudo gem install cocoapods 没反应 macos can not be installed_重启_15


 


 


 


(4) 重启 macOS


 


执行 csrutil clear 后,需要重启系统生效,直接在命令行输入 reboot 进行重启。


 


 


(5) 查看并确认 SIP 状态


 


重启 macOS 后,打开终端,输出 csrutil status 查看 SIP 的状态,可以看见现在 SIP 已经是 enabled 状态了。


 


$ csrutil status
System Integrity Protection status: enabled.

 


正常情况下,到这一步就可以正常运行 VirtualBox 中的虚拟机了,如果你还是不能正常运行虚拟机系统,请再重复做一遍上面的 1-5 步~


 


 


附录


 


https://forums.virtualbox.org/viewtopic.php?f=39&t=98763&start=75