如果安装失败或显示内核驱动程序错误,如何在 MacOS Mojave 中安装 VirtualBox
如果您尝试在 macOS Mojave 中安装 VirtualBox,您可能已经注意到安装有时会失败,并显示一般的“安装失败”错误消息。然后,当尝试运行 VirtualBox 时,您可能会遇到另一个错误,提示“未安装内核驱动程序”并且 VirtualBox 无法运行。我们将介绍安装/运行 VirtualBox 问题的两种不同解决方案,一种涉及 Gatekeeper 绕过,另一种使用 Gatekeeper 异常(适用于 macOS 10.14.5 或更高版本)。
安装失败和内核模块无法成功加载的原因是由于MacOS Mojave的安全限制,因此为了能够成功安装VirtualBox并运行应用程序,您需要进行相对简单的绕过上述安全限制(或者,您也可以完全禁用Gatekeeper,但这通常不是受到推崇的)。顺便说一句,虽然本文显然侧重于 VirtualBox,但您会发现安装包含内核扩展的其他应用程序也需要同样的一般过程。
如何在 MacOS Mojave 中成功安装 VirtualBox(如果失败)
假设您已经将 VirtualBox 下载到 Mac 上(可以免费在此处下载) ,以下是如何在 MacOS Mojave 中成功安装和运行 VirtualBox:
- 照常运行 VirtualBox 安装程序,您最终会看到“安装失败”消息
- 失败后退出 VirtualBox 安装程序
- 现在下拉 Apple 菜单并打开系统偏好设置
- 选择“安全和隐私”并转到“安全”偏好面板中的“常规”选项卡,然后点击锁定按钮并输入管理员密码
- 在“安全常规”部分的底部,查找“来自开发商‘Oracle America, Inc’的系统软件被阻止加载”的消息,然后点击“允许”按钮
- 重新启动 VirtualBox 安装程序并像往常一样继续安装,现在应该会按预期成功
- 通过重新启动并同时按住 COMMAND + R 键将 Mac 重新启动到恢复模式
- 在“实用程序”屏幕上,下拉“实用程序”菜单并选择“终端”以从恢复模式启动终端
- 输入以下命令:
- 按回车键,然后像往常一样以正常启动方式重新启动 Mac
继续像往常一样运行 VirtualBox,它应该可以正常加载,没有任何内核驱动程序错误消息。如果您仍然遇到问题,请参阅下一步,这是更高版本的 MacOS 中所需的不同过程。
无法在 MacOS 10.14.5 或更高版本中安装/运行 VirtualBox?试试这个
如果您尝试在运行 macOS Mojave 10.14.5 或更高版本的计算机上安装 VirtualBox,您可能会遇到 App Store 以外的应用程序的公证要求。要解决这个问题(现在直到 VirtualBox 被公证)尝试以下操作:
spctl kext-consent add VB5E2TV963
此解决方案已通过 VirtualBox 论坛 并且似乎适用于许多运行 macOS 10.14.5 或更高版本的用户(感谢各种评论者留下这个解决方案!)。显然“VB5E2TV963”是 Oracle 的代码,在命令行中输入这个 Gatekeeper 异常将允许 VirtualBox 安装在具有公证要求的最新版本的 MacOS 中。在 VirtualBox 最终通过 Apple 概述的流程得到公证之前,这可能只是暂时的必要。
现在尝试安装和/或运行 VirtualBox,它应该可以在最新版本的 MacOS 系统软件中正常运行。
在下面的屏幕截图中,您可以看到 VirtualBox 在带有 BeOS / Haiku OS 的 MacOS 10.14.x 中运行。
如果您是高级用户(如果您在第一名)那么您可能对允许通过按照指示调整 Gatekeeper 从 MacOS 中的任何位置安装应用程序感兴趣这里。
对于一些快速的背景知识,MacOS Mojave 10.14.5 和更高版本的 MacOS 需要公证才能安装 App Store 之外的一些应用程序。此外,GateKeeper 是 Mac OS 安全机制,旨在防止不受信任的应用程序在 Mac 上运行或安装。默认情况下,更现代的 MacOS 版本具有特别严格的 Gatekeeper 设置,并且会抛出developer/”>错误消息指出某个应用无法打开,因为它来自身份不明的开发者等等,尽管只需在大多数应用上右键单击并选择“打开”即可绕过该机制,您还可以也可以从“安全”首选项面板中绕过它。最新的 macOS 版本,如 Mojave,更进一步,并且还需要开发人员对应用程序进行公证(或按照后面教程中的说明手动绕过),或者绕过 Gatekeeper 以安装捆绑内核扩展的某些软件,例如虚拟盒子。如果您对 MacOS 的这些保护机制不满意,您可以随时完全禁用 Gatekeeper和 禁用系统完整性保护,尽管通常不建议这样做.