Как уничтожить виртуальную машину, когда я удаляю файл .vagrant? - программирование
Подтвердить что ты не робот

Как уничтожить виртуальную машину, когда я удаляю файл .vagrant?

Я удалил каталог, содержащий файл .vagrant. Когда я создаю новую виртуальную машину, она жалуется на использование портов. Итак, как я могу уничтожить виртуальную машину без ее .vagrant файла?

4b9b3361

Ответ 1

Следующие команды VirtualBox могут помочь. Если poweroff не работает, попробуйте unregistervm.

$ VBoxManage list runningvms
$ VBoxManage controlvm <uuid> poweroff
$ VBoxManage unregistervm <uuid>

Источник: https://support.cloud.engineyard.com/entries/21449637-I-deleted-Vagrantfile-vagrant-and-or-the-app-directory-before-halting-the-VM-Now-ey-local-up-errors-

Shell script, чтобы остановить все запущенные vms:

VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff

Ответ 2

Самое простое - просто запустить GUI-клиент VirtualBox и удалить (возможно, после завершения) виртуальную машину. Вы можете просто щелкнуть правой кнопкой мыши виртуальную машину и выполнить эти действия.

enter image description here

Ответ 3

Если вы удалили виртуальную машину с помощью графического интерфейса, и вы все еще получаете ошибку, вы можете попытаться удалить указанную виртуальную машину из "% userprofile%\VirtualBox VM". Это сработало для меня

Ответ 4

Следующая функция bash отключит и уничтожит все файлы, относящиеся ко всем виртуальным машинам для текущего пользователя:

function killvms() {
  VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff
  VBoxManage list vms | awk '{print $2;}' | xargs -I vmid VBoxManage unregistervm --delete vmid
}

Добавьте его в свой ~/.bash_aliases и вызовите его в своей оболочке через killvms.