在使用Vagrant控制VirtualBox时,执行CLI命令`VBoxManage`出现错误。该错误发生在Windows 10操作系统中。

38

昨天我刚刚在powershell上使用laravel homestead成功运行了。但现在,它甚至都无法运行。我只是暂停了vagrant并关闭了电脑。现在它一直提示我这个错误:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Clearing any previously set forwarded ports...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["modifyvm", "b21f2dd0-7f73-4d0f-b1e0-0f82ecdda1fe",    
"--natpf1", "delete", "ssh", "--natpf1", "delete", "tcp33060", 
"--natpf1", "delete", "tcp44300", "--natpf1", "delete", "tcp54320", 
"--natpf1", "delete", "tcp8000"]

Stderr: VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified   
error (extended info not available)
VBoxManage.exe: error: Context: "LockMachine(a->session,  
LockType_Write)" at line 493 of file VBoxManageModifyVM.cpp

1
它无法再找到虚拟盒了,它是否仍然安装着?PATH有所变化吗?你能否从命令行中运行VBoxManage.exe - Frederic Henri
我不明白,今天早上我通过删除“.vagrant”文件夹再次修复了它,现在错误又出现了... - rendell
如果你使用的是Windows系统,这个链接可能会有所帮助。 - VivekDev
17个回答

24

我遇到了同样的问题,之前的答案对我没用。我打开了VirtualBox GUI并发现虚拟机正在运行。我停止了它,然后执行"vagrant up"。一切都很顺利。


22

好的,我最终解决了这个问题。尝试重新启动我的笔记本电脑,它不再给我那个错误了。以下是我所做的事情:

  1. 在Windows桌面上右键单击“This PC”/“我的电脑”
  2. 选择“属性”
  3. 转到“高级”选项卡
  4. 在底部点击“环境变量…”
  5. 在“系统变量”下点击“新建…”
  6. 将“变量名称”设置为“VBOX_INSTALL_PATH”
  7. 将“变量值”设置为“C:\Program Files\Oracle\VirtualBox\”
  8. 选择“确认”并关闭所有其他设置窗口

来源:https://github.com/mitchellh/vagrant/issues/3852


谢谢,这个解决方案很好用,请标记为正确答案。 - zheek
这在我电脑上不起作用(2017年6月16日),在Windows 10更新后出现了问题。 - WaQaR Ali
1
对我无效。请尝试此解决方案:https://www.jesusamieiro.com/there-was-an-error-while-executing-vboxmanage-a-cli-used-by-vagrant-for-controlling-virtualbox/ - gvd
对我也不起作用。在我的情况下,这是在我进行Windows更新后发生的,我认为这是VirtualBox的问题。我尝试重新安装VirtualBox,然后它就可以工作了。 - Chhaileng

13

输入图像描述

只需在安全与隐私中启用VirtualBox权限即可。


10

对于Mac OS,请关闭所有正在运行的虚拟机,并使用以下命令重新启动VirtualBox:

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

5
  1. 首先使用vagrant destroy命令销毁虚拟机。
  2. 进入C:\Users\用户名目录,将"用户名"替换为你的用户名。
  3. 删除.vagrant.d文件夹。
  4. 进入VirtualBox VMs文件夹并删除其中的所有内容。
  5. 再次使用vagrant up命令启动虚拟机。

这样应该可以正常工作。


4
哎?一个回答提到修改路径,另一个回答提到重新启动vagrant,你却建议删除大量文件只是为了“应该能正常工作”?那看起来不像是一个好的答案…… - Nico Haase

2

请按照以下步骤操作: 1. 以管理员身份运行命令提示符 2. 运行“vagrant halt” 3. 运行“vagrant up” 4. 如果需要,在vagrant启动后再运行“vagrant provision”。


1

禁用在Windows中启用的Hyper-V虚拟化。

以管理员身份打开命令提示符并运行以下命令:

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

之后,重新启动电脑并再次尝试使用VirtualBox。


1

我的错误:

Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

我首先尝试禁用“VirtualBox Host-Only”适配器,但没有起作用。然后尝试将virtualbox从6.1.28降级到6.1.26,但也不行。删除一切,重新安装6.1.26,仍然不行。在循环中转了一圈后,我意识到还有另一个我没有禁用的适配器,名为“Ethernet 5”,并带有“VirtualBox Host-Only…”的描述。不确定它是否是我第一次运行virtualbox 6.1.28时创建的,但在我禁用它之后,它就可以工作了。之后注意到又创建了另一个适配器(“Ethernet 6”),因此我非常确定第一个问题与其他人使用6.1.28的问题相同,然后错误变成了我上面发的那个。

在控制面板>网络和Internet>网络连接下,禁用所有VirtualBox Host-Only Ethernet Adapter #*。

enter image description here


0

对我来说,只需重新启动机器即可解决问题。我刚刚安装了VirtualBox,也许路径没有正确设置。


0
在Windows升级后,我也遇到了这个问题,我认为这是VirtualBox的问题。我的解决方案是重新安装VirtualBox。
还要确保VirtualBox目录路径C:\Program Files\Oracle\VirtualBox\位于PATH环境变量中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接