How do I delete a virtualbox machine in the GURU_MEDITATION error state?

落爺英雄遲暮 提交于 2019-12-29 10:53:25

问题


How do I delete a VirtualBox machine in the GURU_MEDITATION error state? Is it enough just to delete the directory while VirtualBox is not running?

EDIT: After posting, I deleted the entire directory that "Show in File Manager" navigates to.

It looks like:

Note that there is no power off, and even remove is greyed out. I believe this is the exact same as it looked even before I deleted the directory.

EDIT 2: I tried the command line poweroff after deleting the files. It hangs:

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

EDIT 3: It also fails to unregister it from the command-line:

VBoxManage unregistervm wmf-vagrant_1354733432 --delete VBoxManage: error: Cannot unregister the machine 'wmf-vagrant_1354733432' while it is locked VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports Context: "Unregister(fDelete ? (CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly : (CleanupMode_T)CleanupMode_DetachAllReturnNone, ComSafeArrayAsOutParam(aMedia))" at line 160 of file VBoxManageMisc.cpp


回答1:


Kill the VBoxHeadless process and run "vagrant destroy"

Destroying vagrant and sending the kill signal with the "killall" command looks like:

killall -9 VBoxHeadless && vagrant destroy




回答2:


I hit this problem. Eveything I read recommend that you should always manage the boxes via Virtual Box, not directly access files. But when I had an invalid box, the unregistervm command refused to delete it and vagrant destroy did not work. In the end the following process worked.

  1. Kill all running VBox* processes
  2. Delete the folder "boxname" from the folder "VirtualBox VMs"
  3. Edit the file "VirtualBox.xml" and remove the tag corresponding to the invalid box.

I then ran this command the verify the box was gone.

VBoxManage list vms

After that I was able to create a new vm with the same name.




回答3:


If you can't power off the machine from VirtualBox GUI, then try from the command line using vboxmanage command (VBoxManage on OS X), e.g.:

vboxmanage controlvm NAMEOFVM poweroff

Change NAMEOFVM with the name from vboxmanage list vms command.

then unregister and delete the VM:

vboxmanage unregistervm NAMEOFVM --delete

Or delete it manually:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"



回答4:


I had a VM that got in a similar state

$ 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

I looked for a process called VBoxHeadless, but it wasn't running.

I then ran ps and found this process with the same 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

Killing that process fixed the problem and VM started correctly after running vagrant up




回答5:


This is a script I use when I get desperate. It wipes as much trace of any VM from the machine as I can 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/* 



回答6:


I am using Debian Wheezy on a 64-bit multiple-processor host. I was able to solve it eventually by removing all VirtualBox data (though you did not need to delete the Vagrant base box):

  1. Close Virtualbox if running
  2. sudo apt-get remove --purge virtualbox
  3. Move or delete ~/.VirtualBox and ~/VirtualBox\ VMs/. If you're not sure, back them up to a safe place.
  4. Restart.
  5. Reinstall virtualbox.
  6. Use virtualbox/vagrant as normal.

There may be a less disruptive way (e.g. removing only parts of these directories). In my case, fortunately I was using only one VM at the time.




回答7:


On windows 10, i solved this problem setting Default firewall configurations back.

Hope it helps...




回答8:


In my case, I wanted to delete ALL Vagrant boxes I currently have on my system by a command line, I did that by:

$ vagrant box list | cut -f 1 -d ' ' | xargs -L 1 vagrant box remove -f --all

Of course, after making sure no further process is attached any more:

killall -9 VBoxHeadless && vagrant destroy
No matching processes belonging to you were found



回答9:


You can use below command to delete VM from vritual box-

vagrant destroy

And use below command to create VM and start again-

vagrant up


来源:https://stackoverflow.com/questions/13769808/how-do-i-delete-a-virtualbox-machine-in-the-guru-meditation-error-state

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!