Привет всем, сегодня я расскажу как заставить VirtualBox стартовать в качестве службы на Windows и корректно запускать и останавливать виртуальные машины без входа пользователя в систему.
Для этого нам понадобиться скачать и установить последний Virtual Box (выше 3.х), установка производиться по умолчанию (т.е. полная конфигурация).
Создать на диске С: (вообще можно на любом диске все это творить, просто исправьте потом пути) папки vbox\vdi и vbox\machines.
Теперь запустим VitualBox и настроим его. Файл - Настройка там правим пути Папка для жестких дисков C:\vbox\vdi, Папка для машин C:\vbox\machines. Сохраняем, ставим обычным образом виртуальные машины или импортируем их. Закрываем VirtualBox.
Скачиваем проект http://sourceforge.net/projects/vboxvmservice/ и распаковать его файлы в папку C:\vbox\vms.
Для своей работы проект запрашивает:
- Microsoft Windows 2003 Resource Kit Tools
- Microsoft Visual C++ Runtime (version 2005 or later)
- Microsoft Dotnet Framework 2.0
поэтому их придется поставить после этого надо изменить файл конфигурации C:\vbox\vms\VBoxVmService.ini
[Settings]
ServiceName=VBoxVmService
PathToVBoxSDL=C:\Program Files\Sun\VirtualBox\VBoxSDL.exe
PathToVBoxHeadless=C:\Program Files\Sun\VirtualBox\VBoxHeadless.exe
PathToVBoxManage=C:\Program Files\Sun\VirtualBox\VBoxManage.exe
VBOX_USER_HOME=C:\WINDOWS\system32\config\systemprofile\.VirtualBox
[Vm0]
VmName=UbuntuServer
CommandLineUp=E:\vbox\vms\startup.exe 0 BRUTEFORCE
CommandLineDown=E:\vbox\vms\shutdown.exe 0
WorkingDir=E:\vbox\vms
StartupMethod=vrdp
ShutdownMethod=savestate
VrdpPort=3001
имена машин можно узнать дав в консоле команду:
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" -list vms
Далее необходимо создать жесткую ссыдку на xml-файл с конфигурацией машин:
fsutil hardlink create "%windir%\System32\config\systemprofile\.VirtualBox\VirtualBox.xml" "%userprofile%\.VirtualBox\VirtualBox.xml"
Все, теперь ставим службу VBoxVmService:
C:\vbox\vms\VBoxVmService.exe -i
(удалить службу можно ключом -u)
Теперь идем в Пуск - Администрирование - Службы и ставим тип запуска нашей службы в Авто.
Собственно все. Теперь машины будут подниматься автоматом до входа пользователя.
Добавлено 11.05.2010:
При разворачивании службы на Windows 2003 стокнулся с проблемами:
1. Не удается создать папки начинающиеся на ".", решилось копированием папки ".VirtualBox" из профиля пользователя в нужную папку, с последующей ее очисткой и созданием ссылки.
2. Служба не находила VirtualBox.xml, поэтому не могла запустить виртуальную машину. Решил созданием жесткой ссылки в "C:\Document and Settings\Default User\.VirtualBox".
3. И самое обидное VirtualBox некорректно работает на сетевых картах в тиминге.
2 комментария:
Гы ... У меня осталось такое ощущение, что это какое-то поделие непонятное.
Часа два убил пока понял, что оно запускается только из папки c:\vms.
Вот собственно моя инструкция:
http://www.suse.brntech.ru/blog/?p=994
Что касается рабочей директории, то она по умолчанию определена как c:\vms, но может быть переназначена в
конфиг файле строками:
CommandLineUp=E:\vbox\vms\startup.exe 0 BRUTEFORCE
CommandLineDown=E:\vbox\vms\shutdown.exe 0
WorkingDir=E:\vbox\vms
Отправить комментарий