如何删除GURU_MEDITATION错误状态下的虚拟机?

如何删除GURU_MEDITATION错误状态下的VirtualBox机器? VirtualBox没有运行的时候删除目录就够了吗?

编辑:张贴后,我删除了“在文件pipe理器中显示”导航到的整个目录。

看起来像:

Virtualbox Guru Meditation的屏幕截图

请注意,没有电源closures,甚至删除灰色。 我相信这是完全一样的,甚至在我删除目录之前。

编辑2:我删除文件后,尝试命令行关机。 它挂起:

vboxmanage controlvm wmf-vagrant_1354733432 poweroff 0%… 10%… 20%…

编辑3:它也无法从命令行注销它:

VBoxManage unregistervm wmf-vagrant_1354733432 –delete VBoxManage:错误:无法取消注册机器'wmf-vagrant_1354733432',而它被lockingVBoxManage:错误:详细信息:代码VBOX_E_INVALID_OBJECT_STATE(0x80bb0007),组件机器,接口IMachine,被调用nsISupports上下文:“Unregister清理模式(CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly:(CleanupMode_T)CleanupMode_DetachAllReturnNone,ComSafeArrayAsOutParam(aMedia))“在文件VBoxManageMisc.cpp

杀死VBoxHeadless进程并运行“ stream浪摧毁 ”

用“killall”命令破坏stream浪者并发送杀手信号如下所示:

killall -9 VBoxHeadless && vagrant destroy

我遇到了这个问题。 我读过的东西build议你应该总是通过虚拟盒子来pipe理盒子,而不是直接访问文件。 但是,当我有一个无效的框,unregistervm命令拒绝删除它和stream浪销毁不起作用。 最后,下面的过程工作。

  1. 杀死所有正在运行的VBox *进程
  2. 从文件夹“VirtualBox VMs”中删除文件夹“boxname”
  3. 编辑文件“VirtualBox.xml”,并删除对应于无效框的标签。

然后我运行这个命令validation框已经消失了。

 VBoxManage list vms 

之后,我能够创build一个同名的新vm。

如果您无法从VirtualBox GUIclosures机器,请使用vboxmanage命令(OS X上的VBoxManage )从命令行尝试,例如:

 vboxmanage controlvm NAMEOFVM poweroff 

使用vboxmanage list vms命令中的名称更改NAMEOFVM

然后取消注册并删除虚拟机:

 vboxmanage unregistervm NAMEOFVM --delete 

或手动删除它:

 rm -fr ~/"VirtualBox VMs/NAMEOFVM" 

我有一个类似的状态的虚拟机

 $ vagrant up Bringing machine 'tempu' up with 'virtualbox' provider... ==> mms: Checking if box 'hashicorp/precise64' is up to date... ==> mms: Resuming suspended VM... ==> mms: Booting VM... There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "9fcf2203-d4b3-47a1-a307-61bfa580bd28", "--type", "headless"] Stderr: VBoxManage: error: The machine 'temp-ubuntu' is already locked by a session (or being locked or unlocked) VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports VBoxManage: error: Context: "LaunchVMProcess(a->session, sessionType.raw(), env.raw(), progress.asOutParam())" at line 592 of file VBoxManageMisc.cpp 

我查找了一个名为VBoxHeadless ,但没有运行。

然后我跑了ps ,发现这个过程与vm id相同:

 $ ps aux | grep -i virtualbox user 63466 0.0 0.1 2523608 8396 ?? S 9:36am 0:02.67 /Applications/VirtualBox.app/Contents/MacOS/VBoxManage showvminfo 9fcf2203-d4b3-47a1-a307-61bfa580bd28 --machinereadable 

杀死该进程解决了这个问题,虚拟机启动后运行正常

我正在使用64位多处理器主机上的Debian Wheezy。 我能够通过删除所有的VirtualBox数据来解决它(尽pipe你不需要删除Vagrant基本框):

  1. 如果正在运行,closuresVirtualbox
  2. sudo apt-get remove –purge virtualbox
  3. 移动或删除〜/ .VirtualBox和〜/ VirtualBox \ VMs /。 如果您不确定, 请将它们备份到安全的地方。
  4. 重新开始。
  5. 重新安装virtualbox。
  6. 正常使用virtualbox / vagrant。

可能有一个破坏性较小的方式(例如,只删除这些目录的一部分)。 在我的情况下,幸运的是我当时只使用了一台虚拟机。

你可以使用下面的命令从vritual box-

 vagrant destroy 

并使用下面的命令创buildVM并重新启动 –

 vagrant up 

在Windows 10上,我解决了这个问题,设置了默认的防火墙configuration。

希望能帮助到你…

这是我绝望时使用的脚本。 它可以清除机器上所有虚拟机的痕迹,我可以find:

 VBoxManage list runningvms | awk '{print $2}' | xargs --no-run-if-empty -t -n1 -IXXX VBoxManage controlvm XXX poweroff VBoxManage list vms | awk '{print $2}' | xargs --no-run-if-empty -t -n1 VBoxManage unregistervm killall -9 VBoxHeadless rm -rf ~/Virtualbox\ VMs/*