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

Mat*_*hen 61 virtualization virtualbox vagrant

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

编辑:发布后,我删除了"在文件管理器中显示"导航到的整个目录.

看起来像:

Virtualbox Guru Meditation的屏幕截图

请注意,没有断电,甚至删除都是灰色的.我相信这与我删除目录之前的情况完全相同.

编辑2:我删除文件后尝试命令行poweroff.它挂起:

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

编辑3:它也无法从命令行取消注册:

VBoxManage unregistervm wmf-vagrant_1354733432 - 删除VBoxManage:错误:无法注销机器'wmf-vagrant_1354733432'当它被锁定VBoxManage:错误:详细信息:代码VBOX_E_INVALID_OBJECT_STATE(0x80bb0007),组件机器,接口IMachine,被调用者nsISupports上下文:"取消注册( fDelete?(CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly:(CleanupMode_T)CleanupMode_DetachAllReturnNone,ComSafeArrayAsOutParam(aMedia))"在文件VBoxManageMisc.cpp的第160行

jon*_*han 126

杀死VBoxHeadless进程并运行" vagrant destroy "

使用"killall"命令销毁vagrant并发送kill信号如下:

killall -9 VBoxHeadless && vagrant destroy

  • 要在OS X上杀死它:`ps aux | grep -i virtualbox`然后`kill -9 <PID>`然后运行`vagrant destroy` (10认同)
  • 如果您正在运行多台计算机,则只需要终止与要销毁的计算机关联的一个进程. (3认同)
  • 在osx`killall -9 VBoxHeadless`然后`vagrant destroy`对我很好 (2认同)

Wil*_*ass 10

我遇到了这个问题.我读过的Eveything建议您应该始终通过Virtual Box管理这些框,而不是直接访问文件.但是当我有一个无效的盒子时,unregistervm命令拒绝删除它,并且vagrant destroy不起作用.最后,以下过程有效.

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

然后我运行此命令验证框已消失.

VBoxManage list vms
Run Code Online (Sandbox Code Playgroud)

之后,我能够创建一个具有相同名称的新vm.


ken*_*orb 9

如果无法从VirtualBox GUI关闭机器,请尝试从命令行使用vboxmanage命令(VBoxManage在OS X上),例如:

vboxmanage controlvm NAMEOFVM poweroff
Run Code Online (Sandbox Code Playgroud)

NAMEOFVMvboxmanage list vms命令更改名称.

然后取消注册并删除VM:

vboxmanage unregistervm NAMEOFVM --delete
Run Code Online (Sandbox Code Playgroud)

或者手动删除:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"
Run Code Online (Sandbox Code Playgroud)

  • (+1)在linux上你还有`vboxmanage`(小写)所以,我用:`vboxmanage unregistervm --delete <vm-name>`(一点化妆品) (2认同)

Gia*_* P. 5

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

$ 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
Run Code Online (Sandbox Code Playgroud)

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

然后我运行ps并发现该进程具有相同的虚拟机 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
Run Code Online (Sandbox Code Playgroud)

终止该进程解决了问题,并且虚拟机在运行后正确启动vagrant up


Mat*_*hen 1

我在 64 位多处理器主机上使用 Debian Wheezy。我最终通过删除所有 VirtualBox 数据解决了这个问题(尽管您不需要删除 Vagrant 基础框):

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

可能有一种破坏性较小的方法(例如仅删除这些目录的一部分)。就我而言,幸运的是我当时只使用一台虚拟机。