MacOS Big Sur 上 VirtualBox 运行虚拟机报 Kernel driver not installed (rc=1908)

 

原文地址:https://www.jiangzhuolin.com/5786.html

 

相关环境


 
  • MacOS 11.0.1
  • VirtualBox 6.1.12
  • VirtualBox 6.1.16
 
 
 
 

问题描述


 
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.

 

如下截图:
 
 
 
 
 
 

问题原因


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

解决方法


 

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

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

2、卸载当前的 VirtualBox

 
下载完最新的 VirtualBox (当前最新版是 6.1.16) 安装包后,点击安装包会弹出如下界面,点击右下角的 VirtualBox_Uninstall.tool 进行卸载(记得先退出正在运行的 VirtualBox)
 
 
 
 
然后会弹出一个卸载 VirtualBox 的窗口,输出 yes 确认卸载,卸载完成后关闭窗口。
 
 
 
 

3、重新安装 VirtualBox

 
点击 VirtualBox.pkg 进行安装
 
 
点击 "允许"
 
 
点击 "继续"
 
 
 
 
 
 

4、允许安全与隐私

 
在安装完成后,还需要允许 VirtualBox 的安全与隐私。
 
设置 -> 安全性与隐私 -> 通用 -> 点击左下角的锁解锁 -> 点击 "允许"
 
 
 

5、重启 MacOS

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

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 以后发现没有报内核错误了,但还有如下的错误:

 
 
 
如果你也有类似的情况,请尝试再使用以下步骤清除 SIP 的设置。
 
 
(1) 重启 macOS 并按 Command + R 进入恢复模式
 
 
(2) 在恢复模式下打开终端
 
 
 
(3) 在打开的终端命令行输出 csrutil clear
 
使用 csrutil status 可以看到 macOS 当前的 SIP 都被禁用了。然后执行 csrutil clear 重置之前的 SIP 设置。
 
$ csrutil status    # 查看当前的 SIP 状态
$ csrutil clear     # 清除当前的 SIP 设置

 

 
 
 
(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
 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值