Ответ 1
Убейте процесс VBoxHeadless и запустите " vagrant destroy"
Уничтожение бродяг и отправка сигнала kill с помощью команды "killall" выглядит следующим образом:
killall -9 VBoxHeadless && vagrant destroy
Как удалить машину VirtualBox в состоянии ошибки GURU_MEDITATION? Достаточно ли просто удалить каталог, пока VirtualBox не запущен?
EDIT: после публикации, я удалил весь каталог, в который входит "Показать в диспетчере файлов".
Похоже:
Обратите внимание, что нет питания, и даже удаление выделено серым цветом. Я считаю, что это то же самое, что и раньше, чем я удалил каталог.
ИЗМЕНИТЬ 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
Убейте процесс VBoxHeadless и запустите " vagrant destroy"
Уничтожение бродяг и отправка сигнала kill с помощью команды "killall" выглядит следующим образом:
killall -9 VBoxHeadless && vagrant destroy
Я ударил эту проблему. Все, что я читал, рекомендует, чтобы вы всегда управляли ящиками через Virtual Box, а не напрямую обращались к файлам. Но когда у меня был недопустимый флажок, команда unregistervm отказалась удалить его, а бродячий уничтожить не получилось. В итоге работал следующий процесс.
Затем я запустил эту команду, чтобы убедиться, что окно не прошло.
VBoxManage list vms
После этого я смог создать новый vm с тем же именем.
Если вы не можете отключить аппарат от VirtualBox GUI, попробуйте выполнить команду из командной строки с помощью команды vboxmanage
(vboxmanage
в OS X), например:
vboxmanage controlvm NAMEOFVM poweroff
Измените NAMEOFVM
на имя из команды vboxmanage list vms
.
затем отмените регистрацию и удалите виртуальную машину:
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
Убив этот процесс, исправленная проблема, и виртуальная машина начала работать правильно после запуска vagrant up
Я использую Debian Wheezy на 64-битном многопроцессорном хосте. Я смог в конечном итоге решить проблему с помощью удаления всех данных VirtualBox (хотя вам не нужно было удалять базовую базу Vagrant):
Там может быть менее разрушительный способ (например, удаление только частей этих каталогов). В моем случае, к счастью, в то время я использовал только одну виртуальную машину.
Вы можете использовать команду ниже для удаления VM из vritual box -
vagrant destroy
И используйте команду ниже для создания виртуальной машины и повторного запуска -
vagrant up
В Windows 10 я решил эту проблему установить настройки брандмауэра по умолчанию.
Надеюсь, что это поможет...
Это 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/*