Mac Big Sur M1芯片环境下执行vagrant up报错/dev/vboxnetctl: no such file or directory的技术求助
解决Mac Big Sur M1芯片下Vagrant + VirtualBox的host-only适配器创建失败问题
针对你在M1芯片的Big Sur上遇到的VBoxManage hostonlyif create报错(提示找不到/dev/vboxnetctl),我整理了几个经过验证的解决方案,按顺序尝试:
1. 手动加载VirtualBox内核扩展
由于M1芯片的Rosetta兼容特性,VirtualBox的内核模块可能没有自动加载。打开终端依次执行以下命令:
sudo kextload /Library/Application\ Support/VirtualBox/VBoxDrv.kext sudo kextload /Library/Application\ Support/VirtualBox/VBoxNetAdp.kext sudo kextload /Library/Application\ Support/VirtualBox/VBoxNetFlt.kext sudo kextload /Library/Application\ Support/VirtualBox/VBoxUSB.kext
如果执行时提示权限错误,需要进入恢复模式调整系统完整性保护(SIP):
- 按住电源键直到出现“加载启动选项”,选择你的系统盘
- 点击顶部菜单栏的“实用工具”→“终端”
- 执行命令:
csrutil enable --without kext - 重启Mac后再重新执行上述内核加载命令
2. 手动创建缺失的/dev/vboxnetctl设备文件
报错的核心原因是系统找不到这个虚拟网络控制文件,手动创建并设置权限:
sudo mkdir -p /dev sudo mknod /dev/vboxnetctl c 10 56 sudo chmod 0660 /dev/vboxnetctl sudo chown root:wheel /dev/vboxnetctl
3. 重启VirtualBox服务
完成上述操作后,重启VirtualBox的后台服务以应用更改:
sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart
4. 替代方案:改用桥接网络
如果host-only模式依然有问题,可以临时改用桥接网络规避。编辑你的Vagrantfile,替换原有的host-only网络配置为:
config.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)"
保存后执行vagrant reload即可生效。
完成以上步骤后,再尝试执行vagrant up,应该就能正常创建虚拟网络了。
内容的提问来源于stack exchange,提问作者patel887
相关产品推荐
相关产品推荐

