Подтвердить что ты не робот

Как удалить виртуальную машину в состоянии ошибки GURU_MEDITATION?

Как удалить машину VirtualBox в состоянии ошибки GURU_MEDITATION? Достаточно ли просто удалить каталог, пока VirtualBox не запущен?

EDIT: после публикации, я удалил весь каталог, в который входит "Показать в диспетчере файлов".

Похоже:

Screenshot of Virtualbox Guru Meditation

Обратите внимание, что нет питания, и даже удаление выделено серым цветом. Я считаю, что это то же самое, что и раньше, чем я удалил каталог.

ИЗМЕНИТЬ 2: Я попытался отключить командную строку после удаления файлов. Он зависает:

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

EDIT 3: он также не может отменить регистрацию из командной строки:

VBoxManage unregistervm wmf-vagrant_1354733432 --delete VBoxManage: Ошибка: не удается отменить регистрацию машины "wmf-vagrant_1354733432", пока она заблокирован VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), компонентная машина, интерфейс IMachine, вызываемый Контекст nsISupports: "Отменить регистрацию (fDelete? (CleanupMode_T) CleanupMode_DetachAllReturnHardDisksOnly: (CleanupMode_T) CleanupMode_DetachAllReturnNone, ComSafeArrayAsOutParam (aMedia))" в строке 160 файла VBoxManageMisc.cpp

4b9b3361

Ответ 1

Убейте процесс VBoxHeadless и запустите " vagrant destroy"

Уничтожение бродяг и отправка сигнала kill с помощью команды "killall" выглядит следующим образом:

killall -9 VBoxHeadless && vagrant destroy

Ответ 2

Я ударил эту проблему. Все, что я читал, рекомендует, чтобы вы всегда управляли ящиками через Virtual Box, а не напрямую обращались к файлам. Но когда у меня был недопустимый флажок, команда unregistervm отказалась удалить его, а бродячий уничтожить не получилось. В итоге работал следующий процесс.

  • Убейте все запущенные процессы VBox *
  • Удалите папку "boxname" из папки "VirtualBox VMs"
  • Отредактируйте файл "VirtualBox.xml" и удалите тег, соответствующий недопустимому.

Затем я запустил эту команду, чтобы убедиться, что окно не прошло.

VBoxManage list vms

После этого я смог создать новый vm с тем же именем.

Ответ 3

Если вы не можете отключить аппарат от VirtualBox GUI, попробуйте выполнить команду из командной строки с помощью команды vboxmanage (vboxmanage в OS X), например:

vboxmanage controlvm NAMEOFVM poweroff

Измените NAMEOFVM на имя из команды vboxmanage list vms.

затем отмените регистрацию и удалите виртуальную машину:

vboxmanage unregistervm NAMEOFVM --delete

Или удалите его вручную:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

Ответ 4

У меня была виртуальная машина, которая попала в аналогичное состояние

$ 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

Убив этот процесс, исправленная проблема, и виртуальная машина начала работать правильно после запуска vagrant up

Ответ 5

Я использую Debian Wheezy на 64-битном многопроцессорном хосте. Я смог в конечном итоге решить проблему с помощью удаления всех данных VirtualBox (хотя вам не нужно было удалять базовую базу Vagrant):

  • Закрыть Virtualbox при запуске
  • sudo apt-get remove --purge virtualbox
  • Переместить или удалить ~/.VirtualBox и ~/VirtualBox\VMs/. Если вы не уверены, верните их в безопасное место.
  • Restart.
  • Переустановите виртуальный бокс.
  • Используйте virtualbox/vagrant как обычно.

Там может быть менее разрушительный способ (например, удаление только частей этих каталогов). В моем случае, к счастью, в то время я использовал только одну виртуальную машину.

Ответ 6

Вы можете использовать команду ниже для удаления VM из vritual box -

vagrant destroy

И используйте команду ниже для создания виртуальной машины и повторного запуска -

vagrant up

Ответ 7

В Windows 10 я решил эту проблему установить настройки брандмауэра по умолчанию.

Надеюсь, что это поможет...

Ответ 8

Это script Я использую, когда отчаянно получаю. Он вытирает столько следов любой VM из машины, сколько я могу найти:

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/*