7

我运行了一个测试厨房实例,一切都很好,但最后当我尝试用以下方法摧毁它时:

roberto@pc:~$ kitchen destroy

Virtualbox 给了我这个错误。

-----> Starting Kitchen (v1.1.1)
-----> Destroying <default-ubuntu-1204>...
       [default] Destroying VM and associated drives...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #destroy action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant destroy -f ----
STDOUT: [default] Destroying VM and associated drives...
STDERR: There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["unregistervm", "2507bc77-3734-429b-a573-d92fadb80e95", "--delete"]

Stderr: VBoxManage: error: Cannot unregister the machine 'default-ubuntu-1204_default_1391521776' while it is locked
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "Unregister(CleanupMode_DetachAllReturnHardDisksOnly, ComSafeArrayAsOutParam(aMedia))" at line 158 of file VBoxManageMisc.cpp
---- End output of vagrant destroy -f ----
Ran vagrant destroy -f returned 1]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details

我运行了 Virtualbox,但我无法删除该实例,因为它也被锁定并且关闭选项被禁用。

还有其他人有这个问题吗?

4

2 回答 2

5

VBoxManage:错误:机器“X”被锁定时无法取消注册。

它被锁定了,因为它正在使用中,所以基本上你需要关闭它,例如

VBoxManage controlvm VMNAME poweroff

更改VMNAME为您的机器名称,例如default-ubuntu-1204_default_1391521776.

然后您可以通过以下方式取消注册:

VBoxManage unregistervm VMNAME --delete

指定--delete将删除您的 VM。如果您不想删除它,您可以从~/"VirtualBox VMs/VMNAME.

于 2016-03-17T15:19:57.977 回答
1

有两件事可能导致此问题。请确保:

  1. 安装/更新 VirtualBox 后重新启动计算机
  2. 请确保在使用驱动程序之前至少手动打开一次 VirtualBox

如果机器出现在 VBox GUI 的虚拟机列表中,请再次尝试该命令。如果它们未在 VirtualBox GUI 中列出,请删除该.kitchen目录并重试。

于 2014-02-08T19:15:03.793 回答