Столкнулся с проблемой, начали шалить электрики и после перезагрузки сервера на Ubuntu виртуальные машины (VirtualBox) не запускались автоматически. Решение проблемы - настроить автозагрузку виртуальных машин VirtualBox в Ubuntu.
Самое простое решение автозапуска виртуальных машин (VirtualBox) в Ubuntu:
в файле /usr/rc.local
написать команды для запуска виртуальных машин без графической оболочки, вот мой пример файла:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo su -c "VBoxManage startvm WinServer2003 --type headless" username
sudo su -c "VBoxManage startvm dc-ubuntu --type headless" username
sudo su -c "VBoxManage startvm ubuntu-srv-16.04-x64 --type headless" username
exit 0
Здесь необходимо пояснить строку sudo su -c "VBoxManage startvm ubuntu-srv-16.04-x64 --type headless" username
. Дело в том, что команды выполняются от имени root и команда VBoxManage startvm ubuntu-srv-16.04-x64 --type headless
вызовет ошибку, а файлы VirtualBox, с вашими виртуальными машинами находятся в окружении другого пользователя. Значит, необходимо запустить виртуальные машины VirtualBox от имени другого пользователя, что собственно и происходит благодаря sudo su -c "команда" username
Полезные команды для работы с VirtualBox в терминале:
- #Для того, чтобы посмотреть список существующих виртуальных машин, нужно выполнить
VBoxManage list vms
- #Запустить какую-либо машину
VBoxManage startvm vmname
- #Запустить без графического окна, в фоне, только для удаленного подключения, нужно указать опцию type как headless
VBoxManage startvm vmname --type headless
- #Посмотреть список запущенных виртуальных машин
VBoxManage list runningvms
Источники: