macOS Monterey 12.0.1运行vagrant up时VBoxManage报错如何解决?
macOS Monterey 下 Vagrant 启动报错解决方案
问题根因
报错中提示failed to open /dev/vboxnetctl是因为VirtualBox的内核扩展没有被macOS系统正确加载,属于Monterey系统安全策略限制导致的常见问题。
修复步骤
- 步骤1:允许VirtualBox内核扩展签名
打开macOS「系统偏好设置」-「安全与隐私」,在「通用」选项卡底部找到「来自开发者“Oracle America, Inc.”的系统软件已被阻止」的提示,点击「允许」,按提示重启系统。 - 步骤2:手动加载内核模块(如重启后仍报错)
终端执行以下命令手动加载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.VBoxUSBls /dev/vboxnetctl确认文件存在,无报错即为加载成功。 - 步骤3:正确配置Vagrantfile的可选参数
你查到的配置段需要插入到Vagrantfile的Vagrant.configure块内任意位置即可,推荐按规范换行书写:
该参数作用是启动VirtualBox的GUI界面,方便排查启动过程中的可视化报错。Vagrant.configure("2") do |config| # 其他原有配置保留不变,新增以下内容 config.vm.provider "virtualbox" do |v| v.gui = true end end - 步骤4:手动预创建主机仅用网卡(可选)
打开VirtualBox客户端,点击「全局工具」-「主机网络管理器」,手动创建一个vboxnet0网卡,设置IP段为192.168.56.0/24,开启DHCP,之后在Vagrantfile中指定私有网络使用该网卡即可:config.vm.network "private_network", ip: "192.168.56.10", name: "vboxnet0"
验证
所有配置完成后,终端执行vagrant up即可正常启动虚拟机。
内容的提问来源于stack exchange,提问作者mann
相关产品推荐
相关产品推荐

