删除.vagrant文​​件后如何销毁VM?

时间:2013-03-14 12:11:42

标签: virtual-machine vagrant

我删除了包含.vagrant文​​件的目录。当我启动一个新VM时,它抱怨正在使用的端口。那么如何在不使用.vagrant文​​件的情况下销毁虚拟机?

4 个答案:

答案 0 :(得分:94)

  

以下VirtualBox命令可能会有所帮助。如果poweroff不起作用,请尝试unregistervm。

$ VBoxManage list runningvms
$ VBoxManage controlvm <uuid> poweroff
$ VBoxManage unregistervm <uuid>

来源:https://support.cloud.engineyard.com/entries/21449637-I-deleted-Vagrantfile-vagrant-and-or-the-app-directory-before-halting-the-VM-Now-ey-local-up-errors-

用于停止所有正在运行的vms的Shell脚本:

VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff

答案 1 :(得分:29)

最简单的方法是启动VirtualBox的GUI客户端并删除(可能在关闭之后)虚拟机。您只需右键单击虚拟机并执行这些操作即可。

enter image description here

答案 2 :(得分:2)

以下bash函数将关闭并销毁当前用户与所有VM相关的所有文件:

function killvms() {
  VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff
  VBoxManage list vms | awk '{print $2;}' | xargs -I vmid VBoxManage unregistervm --delete vmid
}

将其添加到~/.bash_aliases并通过killvms在您的shell中调用它。

答案 3 :(得分:0)

如果您使用GUI删除了VM并且仍然收到错误,则可以尝试从“%userprofile%\ VirtualBox VMs”中删除指定的VM。这对我有用