Jak automatycznie zamykać maszynę wirtualną przy zamykaniu systemu gospodarza?

Kiedy zaczniesz już korzystać z maszyn wirtualnych w codziennej pracy. Na pewno będziesz chciał ułatwić sobie pewne zadania i je zautomatyzować. Tak, by działały same bez ingerencji użytkownika w danej sytuacji. Wśród takich akcji można wyróżnić na przykład to, aby maszyny wirtualne zamykały się automatycznie przy zamykaniu systemu gospodarza.

Domyślnie, gdy system gospodarza dostanie sygnał zamknięcia to próbuje wyłączyć wszystkie uruchomione aplikacje, w tym całego virtualboksa. Czego efektem jest to, że uruchomione wirtualne maszyny zostają natychmiastowo zamknięte , bez całego poprawnego procesu zamykania systemu zwirtualizowanego. To może powodować błędy i problemy w wirtualnym systemie i jego usługach.

Sposobem na to może być wysłanie sygnału zamknięcia do wirtualnego systemu w momencie, gdy aplikacja virtualbox jest zamykana. Aby tego dokonać można ustawiając opcje „wyślij sygnał wyłączenia” jako domyślną akcję przy próbie zamknięcia okna wirtualnej maszyny. W tym celu należy wydać polecenie:

vBoxManage.exe setextradata "NazwaWirtualki" GUI/DefaultCloseAction Shutdown

Zatrzymajmy się na chwile tutaj przy poleceniu GUI/DefaultCloseAction ponieważ ma ono więcej opcji, które czasem mogą być przydatne

Shutdown – wypomniane właśnie w naszym przykładzie polecenie, które wysyła polecenie ACPI power-off do systemu goscia.

PowerOff – po prostu natychmiastowe zamkniecie wirtualnej maszyny. Można to porownać to wyłączenia przyciskiem zasilania.

SaveState – zapisuje a właściwie „zamraża” aktualny stan systemu wirtualnego.

Detach – przełącza maszynę w tryb „headless” (bezgłowy) czyli okno maszyny jest zamykane jednak sam proces pozostaje i maszyna wirtualna dalej pracuje we tle.

PowerOffRestoringSnapshot – wyłącza natychmiastowo maszynę i przywraca stan systemu z poprzedniej migawki (Snapshota).

Wykonanie polecenia vBoxManage.exe setextradata "NazwaWirtualki" GUI/DefaultCloseAction opcja na stałe zmienia ustawienia wirtualnej maszyny. Nie trzeba go wykonywać po każdym restarcie ponieważ zmieniana jest konfiguracja w pliku NazwWirtualki.vbox.


Program może zauważyć, że konfiguracja maszyny została zmieniona i zapyta czy zachować nowe ustawienia czy je odrzucić. Oczywiście je zachowujemy.
Warto dodać, że plik .vbox to zwykły plik xml jednak nie zalecane jest aby edytować go w edytorze tekstowym. Właściwym sposobem jego edycji jest tu narzędzie vBoxManage.exe lub zmiana opcji w interfejsie graficznym programu.


Jeśli interesujesz się tematem Virtualboxa to zapraszam Cię do kursu Virtualbox w praktyce – tam poznasz szczegółowo wszystkie najważniejsze zagadnienia programu.
Natomiast jeśli chcesz zautomatyzować swoje maszyny wirtualne to kurs Vagrant w praktyce jest właśnie dla Ciebie.