将 mac 更新为 12.0.1 monterey 后无法 运行 virtualbox - 仅主机适配器出错

Cant run virtualbox after updating mac to 12.0.1 monterey - error with host only adapter

我是 运行 在 mac 上使用 vagrant 的 virtualbox 图像。一切正常,直到我更新到最新的 Mac 版本(12.0.1 Monterey)。

当我尝试使用 vagrant up 启动 machine 时,出现以下错误:

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 HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp

如果我进入 virtualbox(mac 应用程序)并在那里启动 machine,我也会得到一个错误(只是说它无法启动 machine。 如果我去

的主机网络管理器部分

因此,仅主机适配器似乎有问题。

在深入研究并查看其他人的问题和解决方案后,我尝试了以下方法:

  1. 允许来自安全和隐私设置的 oracle,但是这并没有出现
  2. 运行 一个重启 virtualbox 的命令(找不到它是什么了,抱歉:/)
  3. 正在重新安装 virtualbox
  4. 从 virtualbox(6.1) 安装测试版本
  5. 将 virtualbox 添加到完整磁盘权限
  6. 从 vagrantfile 中的 vagrant documentation 代码添加以下内容:
    config.vm.provider "virtualbox" do |v|
      v.gui = true
    end

每次我尝试安装 virtualbox 时,我都会收到一条错误消息,指出安装失败。但是图标又回来了。

这是什么情况,我该如何解决?

重新启动您的电脑并运行这些命令:

sudo kextload -b org.virtualbox.kext.VBoxDrv
sudo kextload -b org.virtualbox.kext.VBoxNetFlt
sudo kextload -b org.virtualbox.kext.VBoxNetAdp
sudo kextload -b org.virtualbox.kext.VBoxUSB

之后,再试一次vagrant up

这对我有用,让我绕过了那个错误

最终帮助的是允许 oracle 在恢复模式下通过终端

  1. 启动mac
  2. 同时按住 command 和 r 直到看到苹果标志
  3. 转到实用程序
  4. spctl kext-consent add VB5E2TV963
  5. 重启

这里有完整的文档:https://appuals.com/kernal-driver-not-installed-rc-1908-error-mac/

但现在每次我想重启 vagrant 时,我都需要在终端中执行以下操作。 我的 vagrant installfile(6.1.28) 位于我的主文件夹中,如果它对您来说不同,请同时更改命令中的位置

  1. sudo hdiutil attach VirtualBox-6.1.28-147628-OSX.dmg
  2. cd /Volumes/VirtualBox
  3. sudo installer -package VirtualBox.pkg -target /

您会找到大量的答案,可能有些对您有用。 在尝试了几次并了解当前保存的状态是导致问题的原因后,我执行了这些简单的步骤并开始工作而无需重新启动 VM 或 Mac.

见图1,如果你的一样,按照我的路径删除.vbox-prev文件

参见图 2,在打开 VM 管理器的情况下,右键单击您创建的机器,然后选择删除保存的状态...

然后Bingo,正常启动你的机器。

尝试需要 15 秒。

[删除 .vbox-prev][1]