Как безопасно закрыть гостевую ОС в VirtualBox с помощью командной строки

У меня Ubuntu 10.10 и с использованием VirtualBox 3.2. В качестве гостевой ОС у меня есть другой Ubuntu в VirtualBox.

Я запускаю Guest Ubuntu автоматически, используя следующую команду после загрузки моего хоста Ubuntu:

VBoxHeadless -startvm Ubuntu --vrdp on

Затем я могу получить доступ к нему с помощью ssh или tsclient.

Теперь мне нужно автоматически выключить гостевой Ubuntu, как только я выключу свой Host Ubuntu. Кто-нибудь знает какой-либо безопасный метод автоматического отключения гостевой Ubuntu с помощью командной строки? Я обнаружил два способа отключения гостевой ОС, но я не уверен, безопасны они или нет. Вот они:

VBoxManage controlvm Ubuntu acpipowerbutton

или

VBoxManage controlvm Ubuntu poweroff
49 голосов | спросил Bakhtiyor 13 Maypm11 2011, 15:58:58

3 ответа


17

Для безопасного отключения vm используйте эту команду:

vboxmanage controlvm Ubuntu poweroff soft
ответил menzer 9 62013vEurope/Moscow11bEurope/MoscowSat, 09 Nov 2013 01:38:24 +0400 2013, 01:38:24
9

Если вы завершаете vm, когда сервер делает это, вам придется ждать vm (s)

(В этом shellscript «root» является invoker, а «theuser» является владельцем «thevm»)

Я знаю, что vms закончили, когда вывод команды VBoxManage list runningvms возвращает пустую строку.

Я использую это в своем сценарии оболочки

...
stop(){
    su -c "VBoxManage controlvm thevm acpipowerbutton" -s /bin/bash theuser
    while [ "`su -c 'VBoxManage list runningvms' -s /bin/bash theuser`" != "" ]
    do
        echo waiting for VMs to shutdown
        sleep 3
    done
}
...
ответил Jorge Sanchez 15 52013vEurope/Moscow11bEurope/MoscowFri, 15 Nov 2013 20:16:36 +0400 2013, 20:16:36
8

Не делайте этого:

VBoxManage controlvm Ubuntu poweroff

Это эквивалентно вытягиванию вилки питания на реальном компьютере. Вы не хотите этого делать!

Использовать метод выключения ACPI (проверьте настройки управления питанием, как предлагает Egil) или, может быть, предоставить метод сохранения состояния (savestate) a попробуйте.

ответил htorque 13 Maypm11 2011, 16:21:29

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132