Столкнулся с проблемой на FreeBSD - не запускаются виртуальные машины при загрузке системы.

Все оказалось довольно просто - нужные модули ядра не подгружались при загрузке системы, выход оказался очень прост - при запуске скрипта /usr/local/etc/rc.d/vboxheadless подгружать эти модули, если они вдруг не загружены.

Открываем стартовый скрипт /usr/local/etc/rc.d/vboxheadless, находим там строки:

vboxheadless_start()
{
 local machine mpidfile pid vmname vmuser vmflags vmdelay

И добавляем заветные строки, которые будут проверять и загружать необходимые модули ядра, если потребуется:

vboxheadless_start()
{
 local machine mpidfile pid vmname vmuser vmflags vmdelay

( ! kldstat | grep vboxnetflt >/dev/null ) && kldload vboxnetflt
( ! kldstat | grep vboxnetadp >/dev/null ) && kldload vboxnetadp

Ну и не забываем в /etc/rc.conf указать нужные настройки:

#---------------------- VirtualBox ----------------------------------------#
vboxnet_enable="YES"
vboxheadless_enable="YES"  # (bool): Set to "NO" by default. Set it to "YES" to enable vboxheadless.
vboxheadless_user="root"  # (str): Default user account to run with. (default: vboxusers)
vboxheadless_stop="poweroff"  # (str): Default stop cmd for VBoxManage controlvm. (default: savestate)
vboxheadless_delay="0"   # (int): Default startup/shutdown delay in seconds. (default: 0)
vboxheadless_machines="Win7"  # (str): Space separated list of machines.
#--------------------------------------------------------------------------#

А так же в файле /boot/loader.conf добавляем строку:

vboxdrv_load="YES"

Теперь все будет само запускаться, при загрузке системы!


Comments

comments powered by Disqus