Служба управления виртуальными машинами VirtualBox

Настройка    ↓ Установка    ↓ Принцип работы    ↓ Загрузка      [English version]

Программа является win32 службой, которая позволяет автоматически при старте системы стартовать виртуальные машины VirtualBox и останавливать (выключать, сохранять состояние, переводить в режим сна) при выключении.

Настройка

Конфигурирование производится из .ini файла с таким же именем, как и имя запускного файла службы. Пример конфигурации есть в архиве дистрибутива.

Параметры:

VboxInstallPathДиректория в которую установлен VirtualBox
VboxUserHomeРасположение домашней директории .VirtualBox
VmNameИмя виртуальной машины, которой будет управлять служба
ShutdownCommandКоманда выключения: poweroff, savestate, acpipowerbutton, acpisleepbutton
ServiceNameОписание службы
LoglevelЖурнал: 0=Выключен, 1=Включен, 2=Отладочный
PriorityПриоритет процесса виртуальной машины: Idle, Below Normal, Normal, Above Normal, High

Перед установкой службы конфигурационный файл должен быть настроен. Также подразумевается, что все виртуальные машины уже были созданы и сконфигурированы через интерфейс VirtualBox.

Конфигурирование панели управления (vboxctrltray) производится из файла vboxctrltray.ini. Для каждой службы vboxctrl добавьте новую секцию с названием по усмотрению и с помощью параметра ConfigFile задайте расположение файла конфигурации службы. См. пример конфигруации в дистрибутиве.

Установка

Поместите vboxctrl.exe и vboxctrl.ini в любое место по усмотрению.

Для установки службы выполните:

vboxctrl -i

Для удаления службы выполните:

vboxctrl -u

Имя для службы берется из имени запускного файла. Параметр ServiceName задает описание службы.

Для управления несколькими виртуальными машинами сделайте копии файлов vboxctrl.exe и vboxctrl.ini с другим именем (без пробелов), измените параметры VmName/ShutdownCommand/ServiceName в конфигурационном файле (VmName и ServiceName должны быть различными для каждой службы) и выполните:

vboxctrl_copy -i
или
vboxctrl_copy -u
для установки или удаления новой службы.

Поместите файлы vboxctrltray.exe и vboxctrltray.ini в любое место по усмотрению. Добавьте в конфигурационный файл vboxctrltray.ini установленные службы управления виртуальными машинами VirtualBox.

При обновлении предыдущей версии обязательно замените все файлы vboxctrl.exe и переустановите службы.

Принцип работы и ограничения

Поскольку VirtualBox запускает виртуальные машины с правами и окружением текущего пользователя, то для запуска его как службы под учетной записью SYSTEM вам пришлось бы создавать и конфигурировать виртуальные машины с помощью интерфейса VirtualBox, запущенного под той же учетной записью SYSTEM. Это не совсем удобно, и простое решение — скопировать вашу директорию .VirtualBox (%USERPROFILE%\.VirtualBox) в системный профиль (%SYSTEMROOT%\system32\config\systemprofile) после того, как были созданы и сконфигурированы все виртуальные машины. Но на самом деле, расположение директории .VirtualBox устанавливается с помощью переменной окружения %VBOX_USER_HOME% и если переопределить эту переменную для учетной записи SYSTEM, то копировать директорию .VirtualBox будет не нужно. Это и делает данная служба управления виртуальными машинами.

Но так как VirtualBox блокирует настройки пользователя при запуске, то как только вы стартовали хотя бы одну виртуальную машину с помощью этой службы, любые изменения в конфигурации VirtualBox (например, создание новых или переименование машин) должны производиться от учетной записи SYSTEM. Изменения же, проведённые от текущего пользователя, для службы будут доступны только после останова всех виртуальных машин (выключения или сохранения состояния).

Если необходимо добавить или настроить виртуальную машину, но нет возможности остановить все работающие в этот момент машины, вам нужно будет запустить интерфейс VirtualBox из под учетной записи SYSTEM с помощью программы psexec. Более того, для этого вам необходимо, чтобы хотя бы одна служба управления виртуальными машинами была запущена, чтобы была правильно установлена переменная %VBOX_USER_HOME%. Таким образом, использовать этот метод нужно в том и только том случае, когда запущена хотя бы одна служба управления виртуальными машинами.

Для Windows XP/2003 выполните:

psexec -sdi "%VBOX_INSTALL_PATH%\VirtualBox.exe"

В Windows Vista и Windows 7 появилась изоляция сеанса, в котором работают системные службы от сеанса пользователя (Session 0 Isolation), так что команда будет другая:

psexec -sd -i 0 "%VBOX_INSTALL_PATH%\VirtualBox.exe"
после чего нужно нажать на кнопку «Просмотреть сообщение» в диалоговом окне «Обнаружение интерактивных служб».

Примечание для пользователей Windows XP/2003. Если для выключения или сохранения состояния виртуальной машины требуется слишком много времени, Windows завершит сервис, не дожидаясь его корректного завершения. Время, через которое Windows насильно завершает сервис зависит от многих факторов и может быть весьма мало. Если ваши виртуальные машины не успевают остановиться, вам нужно будет вручную останавливать все сервисы управления виртуальными машинами перед выключением или перезагрузкой системы.

Лицензионное соглашение

Это программа является свободным программным обеспечением. Вы можете распространять и/или модифицировать её согласно условиям Стандартной Общественной Лицензии GNU, опубликованной Фондом Свободного Программного Обеспечения, версии 3 или, по Вашему желанию, любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ ВСЯКИХ ГАРАНТИЙ, в том числе подразумеваемых гарантий ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ и ГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОГО ПРИМЕНЕНИЯ. Смотрите Стандартную Общественную Лицензию GNU для получения дополнительной информации.

Загрузка

Версия 0.4.2 (для VirtualBox 4.1.x):

32-bit: vboxctrl-0.4.2.zip [43.6 КБ] (sha1: 87d7254851b320972c23f63ed1301c53e3212179)
64-bit: vboxctrl64-0.4.2.zip [46.0 КБ] (sha1: 4305ee1d241cbfe0d00ea3bc560970f662aac989)
source: vboxctrl-0.4.2-src.zip [197.6 КБ] (sha1: 000746373121ecfcdf1dfc85207e6d75ea1c4a61)

Версия 0.4.1 (для VirtualBox 4.0.x):

32-bit: vboxctrl-0.4.1.zip [43.3 КБ] (sha1: 67741ca0daab8d9900c6d314c6a1e25c7d96b9e8)
64-bit: vboxctrl64-0.4.1.zip [45.8 КБ] (sha1: b01e371c569cd15969d0fc11b5e191dc48a63337)
source: vboxctrl-0.4.1-src.zip [189.2 КБ] (sha1: b3cbbfdb07e8b039460a29095fb923dade4f73fc)

Версия 0.3.3 (для VirtualBox 3.2.x):

32-bit: vboxctrl-0.3.3.zip [40.6 КБ] (sha1: 68efbc4b17ec8b9c6783fb25c8315225b53546ec)
64-bit: vboxctrl64-0.3.3.zip [43.0 КБ] (sha1: f55f281f3ea864aea5a7313928ae401118e54fd5)
source: vboxctrl-0.3.3-src.zip [153.5 КБ] (sha1: c0dd797dee86a46b8973db32cff93a8ebe001850)

Версия 0.2.0 (для VirtualBox 3.1.8 и ниже):

32-bit: vboxctrl-0.2.0.zip [12.8 КБ] (sha1: 04ea7a9c830e870f430639a12ed44c44e22873be)
64-bit: vboxctrl64-0.2.0.zip [14.6 КБ] (sha1: 0cc3b8f011895d0218f739b24d161bc9a6e147aa)

75 Comments »

E
2010-04-16 23:05:07

добавьте пожалуйста tray icon для удобного управления: например запуск\останов\конфиг для каждой ВМ

2010-06-04 15:47:00

Добавлено в версии 0.3.0 (работает с VirtualBox 3.2.0 и выше)

 
 
ingulets
2010-07-15 15:49:46

Супер, спасибо. Намного удобней VBoxVmService (тем более что у меня этот монстр так и не запустился).

 
apropo
2010-08-11 15:28:06

у меня ничо не получилось, хотя она говорит саксесфули, а в логе перед “саксесфулу” пишет:

error updating DACL

2010-08-11 17:08:20

версия ОС и полный лог?

 
 
2010-08-17 09:29:13

Я два дня потратил чтоб добиться работы virtualbox как сервиса. Везде в сети я встречал что профиль систеной учетки лежит вот там %SYSTEMROOT%\system32\config\systemprofile. Но в итоге я понял что профиль таки в другом месте, вон там C:\Documents and Settings\Default User. Скопировав (или можно сделать hardlink) в папку .virtualbox файл VirtualBox.xml всё заработало.

Я не знаю почему все указывают неверный профиль (может вы знаете?). Проверить профиль можно так

psexec -i -d -s cmd

Потом ввести команду set и посмотреть переменную USERPROFILE.

PS

ОС на которой я запустил virtualbox как сервис – windows 2k3 r2 x64.

2010-08-18 01:48:42

Не знаю почему и зачем, но на всех 2k3, что я видел, переменная %USERPROFILE% действительно указывает в Default User.

 
 
2010-08-17 12:20:37

Попробовал использовать вашу софтину. Сервис стартует нормально. А вот управлять сервисом не представляется возможным через иконку в трее. Вот что появляется в логе:

[08/17/10 13:00:54] ERROR opening session (0×80070057)

Если зайти под системную учётку и проверить статус или сделать savestate – всё работает.

Есть еще один вопрос. Я попробовал поднять сервис используя Srvany.exe и Instsrv.exe из Windows Resource Kit. В принципе всё работает. В gpedit.msc я прописал скрипт который должен завершать (savestate) работу виртуалки. Но проблема в том, vboxmanage не видит работу виртуалки. Если зайти под системного пользователя и и выполнить:

vboxmanage showvminfo win2k3dc

То статус – power off. Хотя на самом деле машина работает и по rdp я могу спокойно зайти. Но если запустить ваш сервис и проверить статут – running. Вот и вопрос: что нужно поменять или добавить чтоб vboxmanage из под системной учётки увидел работающую виртуалку под той же учеткой? Ну, если конечно это связано не с программирование. Я не работал с %VBOX_USER_HOME%, т.к. не могу ее где либо встретить… Как ее переопределить? (возможно из-за этого мой вариант не работает).

Как я писал уже у меня у системной учётки профайл лежит -> C:\Documents and Settings\Default User.

2010-08-18 01:46:35

Очистите лог файл, установите LogLevel=3 в vboxctrl.ini, переустановите сервис и попробуйте стартануть/остановить его из трея. Ну и лог сюда.

2010-08-18 08:06:37

Проблема раз

Установил по новой сервис. Запустил управляющую утилиту. Из нее запустил виртуалку. Запустилась. Потом через нее запустил остановку. В сервисе висит статус “останавка”. Но ничего не происходит.

[08/18/10 04:07:04] ERROR updating service DACL

[08/18/10 04:07:04] Service VB: DC (vboxctrl) installed successfully.

[08/18/10 04:07:15] VirtualBox Control Service v0.3.1.88 started

[08/18/10 04:07:15] Initializing VirtualBox interface

[08/18/10 04:07:15] VirtualBox Interface v3.2.8 initialized

[08/18/10 04:07:15] Using VBOX_USER_HOME: C:\Documents and Settings\Default User\.VirtualBox

[08/18/10 04:07:15] ERROR creating session instance (0×80040154)

[08/18/10 04:07:15] Starting VM ‘dc’

[08/18/10 04:07:15] VM ‘dc’ started

[08/18/10 04:14:17] Stopping (savestate) VM ‘dc’

[08/18/10 04:14:17] ERROR opening session (0×80070057)

Надо зайти удаленно на гостевую ОС и завершить ее. Если запускать и останавливать гостевую ОС через сервис – та же проблема.

Проблема два

Я так понимаю она связана с vrdp. Есть автозапуск VB. Перезагружаю сервер (хост) и как обычно пытаюсь зайти по rdp на хост. И тут я вижу загрузку самого хоста, а может и гостевой ОС. Понять сложно. И там и там одна ОС. Вид такой как быд-то я напрямую работаю с компом, а не через rdp. Только я не знаю как в этом случае передать ctrl+alt+del чтоб в систему зайти. Подождав немного, зайдя на гостевую ОС (через rdp) и вырубя её и после этого уже зойдя на хост начинает работать нормально rdp на хосте.

В сурсах я увидел, что vboxheadless запускается с ключём -v config. Может надо с off? Или дать возможность в конфиге прописать как запускать.

2010-08-18 08:57:39

1.1. Какая используется версия vboxctrl? Для 64-битного хоста, естественно, нужно использовать 64-битную.

1.2. Что стоит в vboxctrl.ini для VboxUserHome? Если …\Default User\.VirtualBox, то это не правильно. Весь смысл моего сервиса в том, чтобы держать это в директории пользователя.

1.3. Из под какой учетной записи производилась установка?

2. Порт для VRDP нужно ставить отличный от 3389, и всё будет нормально.

2010-08-18 09:50:05

1.1. Ошибся, не то скачал, не обратил внимание с чем работаю…

1.2. Ок, поправил. Хотя можно сделать hardlink на конфиг у себя в профиле туда, в системный профиль. Но конечно проще в конфиге утилиты прописать.

1.3. Администратор домена.

4. теперь понятно.

Просто не той битности использовал в начале софтину. Теперь всё встало на свои места.

 
 
 
 
 
2010-08-17 13:19:48

У вас ссылка на исходники ведёт на софтину.

2010-08-18 01:31:14

спасибо.

 
 
E
2010-08-22 01:59:49

большое спасибо за tray icon!

еще сделайте пожалуйста:

- значки вм запущен\остановлен в меню плохо различимы, поярче бы зеленый и черный, или красный;

- нотификацию об ошибках при запуске\работе\останове вм, можно MessageBox или Baloon, например убили процес vboxctrl64.exe с работавшей вм и появляется сообщение;

- Changelog в руской версии;

- пункт меню конфиг для каждой вм, или общий пункт для запуска VirtualBox.exe под правильным профилем;

 
o08
2010-08-24 22:28:39

Супер вещь! Спасибо!

У меня windows 7 я Администратор. vboxctrltray.exe работает только когда “Запуск от имени администратора”… Иначе пишет, “No VirualBox machines running” > “Service access denied”. Что делать? Руками запускать неудобно :(

2010-08-24 22:41:21

Очистить лог файл, установить LogLevel=3 в vboxctrl.ini, переустановить сервис(ы). Запустить vboxctrltray.exe без “Запуск от имени администратора”. Показать лог.

o08
2010-08-25 11:34:51

[08/25/10 12:32:35] Service VirtualBox for win2003 (vboxctrl64) uninstalled successfully.

[08/25/10 12:32:39] ERROR updating service DACL

[08/25/10 12:32:39] Service VirtualBox for win2003 (vboxctrl64) installed successfully.

2010-08-26 08:45:32

А теперь то же самое, но с этой версией. В ней добавлено более информативное журналирование. Ну и лог сюда.

P.S. И так, на всякий случай, хост семерка 64-бит? Находится ли в домене?

 
 
 
 
o08
2010-08-26 11:59:34

[08/26/10 12:57:09] Service VirtualBox for win2003 (vboxctrl64) uninstalled successfully.

[08/26/10 12:57:19] ERROR creating ACL (0x000c0037)

[08/26/10 12:57:19] ERROR updating service DACL

[08/26/10 12:57:19] Service VirtualBox for win2003 (vboxctrl64) installed successfully.

1. Хост 64-бит.

2. Не в домене.

2010-08-26 15:11:05

Прошу прощения, допустил ошибку в той тестовой версии. Ещё раз то же самое. Ссылка та же.

o08
2010-08-31 01:46:10

[08/31/10 02:38:26] Service VirtualBox for win2003 (vboxctrl64) uninstalled successfully.

[08/31/10 02:38:42] ERROR creating ACL (0×00000534, 0×00000534)

[08/31/10 02:38:42] ERROR updating service DACL

[08/31/10 02:38:42] Service VirtualBox for win2003 (vboxctrl64) installed successfully.

2010-08-31 13:11:20

ок, спасибо.

Протестируйте, пожалуйста, новую версию: vboxctrl64-0.3.2.zip. В ней это должно быть исправлено.

o08
2010-08-31 13:35:36

Спасибо!

Работает!

 
 
 
 
 
radiogen
2010-08-30 16:49:19

не нужно менять номер порта RDP. надо просто прописать жестко IP адрес в виртуальном хосте и все будет подключаться без проблем.

2010-08-30 17:09:09

это к чему вообще? Если к тому, что VRDP порт можно оставить 3389, то это таки не правильно. И какое отношение к нему имеет IP адрес виртуальной машины? В виртуальной машине вообще может не быть ни одного сетевого адаптера, они для VRDP не нужны.

 
 
Андрей
2010-11-10 09:25:23

Здравствуйте!

Не могу настроить vboxctrltay.

Вроде все правильно настроено, но в меню vboxctrltay на против каждого сервиса пишется “Not configured”.

На что мне обратить внимание?

vboxctrltay.ini:

[VirtualBOX Windows]

ConfigFile=vboxctrl64.ini

[VirtualBOX AltLinux]

ConfigFile=vboxctrl64_altlinux.ini

2010-11-10 09:36:05

Обратить внимание на пример конфигурационного файла, в котором указан полный путь к конфигурационным файлам vboxctrl, а не просто имя.

 
 
WilliE
2010-12-22 20:37:25

После установки 4 версии virtualbox имею следующую ошибку в логе:

ERROR creating VirtualBox instance (rc = 0×80004002)

До этого все работало как часы.

Похоже, что-то поменяли в параметрах запуска машины из VBoxHeadless.

2010-12-22 21:43:58

Сильно поменялся API. На то оно и major update.

С 4-й версией пока не совместимо.

WilliE
2010-12-22 21:58:45

Жаль…

Можно надеяться на новую версию в ближайшее время?

2010-12-22 22:40:53

Весьма вероятно, что в этом году не успеется.

А надеяться то всегда можно ;)

 
2010-12-23 00:08:28

После более детального изучения, оказалось что старые грязные хаки, к моему удивлению, продолжают работать и в 4.0.

Так что надежды оправдались, обновлено до 0.4.

Для VirtualBox 3.2.х следует по прежнему использовать vboxctrl 0.3.3.

 
 
 
 
WilliE
2010-12-23 09:27:28

Огромное спасибо за оперативность!

И вообще за программку, очень полезная штука!

 
tush
2010-12-27 01:15:34

Имеется следующая проблема – при работе сервиса через некоторое время (ориентировочно неск. минут) ОС перестает определять изменение состояния USB устройств, т.е. если сразу после загрузки было подключено любое USB устройство, то через 10 минут ОС перестает определять факт его извлечения, а также новые вставленные устройства. При этом если устройства не трогать, то они функционируют нормально. При попытке безопасного извлечения ОС пишет, что устройство используется. После остановки службы и перезагрузки проблема исчезает.

ОС: Windows 7 HP 64

Virtualbox – 3.2, 4.0

 
selfchief
2011-01-15 16:25:35

Просто спасибо! :) Пользуюсь уже более полугода, никаких проблем не встечал ни в XP, ни в Vista, ни в W7 :)

 
E
2011-04-21 12:50:25

Добавьте пожалуйста сброс\перезагрузку виртуалки в меню.

У меня стоит сохранение состояния при выключении, и если в виртуалке виснет винда то ни AcpIPower ни PowerOff не сбрасывают ее – после включения вижу тот же зависший экран.

При этом в родном менеджере тоже не могу сбросить состояние:

- если запускать под собой то он даже не видит что она запущена;

- если запускать psexec -sdi “%VBOX_INSTALL_PATH%\VirtualBox.exe” то видит что запущена, но кнопка Сбросить неактивна, активна только Пауза;

- если запускать psexec -sd -i 0 “%VBOX_INSTALL_PATH%\VirtualBox.exe” то процесс появляется но вообще никаких окон нет… хотя это вроде рекомендованный способ для вин7.

vboxctrl64-0.4.1

VirtualBox-4.0.4-70112

Win 7 x64

2011-04-23 14:25:23

Если проблема есть даже с родной оболочкой, то проблема с самим вбоксом, а не с vboxctrl. И при возникновении подобных проблем нужно остановить все сервисы vboxctrl. Подождать 10 секунд (или для пущей надежности перезагрузится, отключив автозапуск сервисов vboxctrl) и запустить родной интерфейс VirtualBox. Оттуда уже посбрасывать состояния машин, которые не запускаются и вообще проверить что машинки работают. Потом закрыть VirtualBox и снова минимум через 10 секунд можно запускать службы.

 
 
2011-05-31 19:30:00

win7 x64 / vboxctrl 0.1.4.112 / VB 4.0.8 r71778

Не могу настроить. Установил сервис, если попробовать запустить из “Службы” то пишет “Не удалось запустить службу VirtualBox Mps-server на Локальный компьютер. Ошибка 5: Отказано в доступе”. Запуск из vboxctrltray ни к чему не приводит.

2011-05-31 22:11:57

Первое что нужно сделать — переустановить сервис (очистив предварительно лог):

vboxctrl -u

vboxctrl -i

И показать что в логе, если это не решит проблему.

(ну и убедиться, что используется 64-битная версия vboxctrl)

Сергей
2011-05-31 22:15:19

Еще все действия желательно выполнять в привилегированном режиме (запустить от Администратора, в нашем случае нужно запускать консоль от администратора и в ней набирать команды).

2011-06-02 15:15:50

1. Версия для x64 (Windows 7 у меня x64)

2. Консоль запустил от администратора

—-

D:\mps-server\vboxctrl>vboxctrl64_mps_server -i

VirtualBox Mps-server (vboxctrl64_mps_server) service installed successfully.

—-

3. Запустил vboxctrltray, там пробую запустить. И тишина.

4. Лог

—-

[06/02/11 15:42:04] Service VirtualBox Mps-server (vboxctrl64_mps_server) installed successfully.

—-

Больше в лог ни чего не пишет вообще. Пробовал с разными Loglevel.

Далее ini:

<<>>

[mps-srv]

ConfigFile=D:\mps-server\vboxctrl\vboxctrl64_mps_server.ini

<<>>

[VBoxCtrl]

VboxInstallPath=C:\Program Files\Oracle\VirtualBox

VboxUserHome=C:\Users\Толя\.VirtualBox

VmName=mps_server

ShutdownCommand=savestate

ServiceName=VirtualBox Mps-server

Loglevel=3

Priority=Normal

2011-06-02 15:25:39

Пользователь, который запускает vboxctrltray имеет доступ на запись в D:\mps-server\vboxctrl\ ?

Что есть по поводу vboxctrl в Event Log?

 
2011-06-02 15:33:21

Переложил все на C: (C:\Program Files\vboxctrl) и вот:

[06/02/11 16:30:52] Service VirtualBox Mps-server (vboxctrl64_mps_server) installed successfully.

[06/02/11 16:30:56] VirtualBox Control Service v0.4.1.112 (x64) started

[06/02/11 16:30:56] Initializing VirtualBox interface

[06/02/11 16:30:57] VirtualBox Interface v4.0.8 initialized

[06/02/11 16:30:57] Using VBOX_USER_HOME: C:\Users\

[06/02/11 16:30:57] Starting VM ‘mps-server’

[06/02/11 16:30:57] VM ‘mps-server’ started

[06/02/11 16:30:58] VM ‘mps-server’ stopped by itself

[06/02/11 16:30:58] Closing VirtualBox interface

PS в прошлых экспериментах по мимо другого диска была ошибка “mps_server” вместо “mps-server”.

2011-06-02 15:52:20

похоже ему не нравятся русские буквы в “C:\Users\Толя\.VirtualBox”…

2011-06-02 16:03:20

На сколько я понимаю, это он только в логе обрезает. Во всяком случае у меня всё запустилось с русским логином нормально.

А с родного VirtualBox GUI эта машина стартует? При «VM ‘mps-server’ stopped by itself» в логе обычно этого не происходит. Плюс в Event Log чего-то пишет.

2011-06-02 16:16:37

Через GUI стартует.

Event Log (XML):

-

-

7036

0

4

0

0

0×8080000000000000

21612

System

t

-

VirtualBox Mps-server

Остановлена

760062006F0078006300740072006C00360034005F006D00700073005F007300650072007600650072002F0031000000

 
2011-06-06 15:51:18

Настроил запуск сервиса от своего имени, и стало работать!

2011-06-06 16:07:50

Ну это как бы не совсем правильно.

Впечатление, что у SYSTEM нет доступа каким-то файлам сервиса/виртуальной машины.

 
 
 
 
 
 
 
 
 
Сергей
2011-06-02 15:17:18

покажите вот этот конфиг D:\mps-server\vboxctrl\vboxctrl64_mps_server.ini

Сергей
2011-06-02 15:18:03

vu1tur, перемести пожалуйста этот коммент под коммент o08.ya.ru/ (2011-06-02 15:15:50 )

 
2011-06-02 15:34:59

теперь экспериментирую на C:

[VBoxCtrl]

VboxInstallPath=C:\Program Files\Oracle\VirtualBox

VboxUserHome=C:\Users\Толя\.VirtualBox

VmName=mps-server

ShutdownCommand=savestate

ServiceName=VirtualBox Mps-server

Loglevel=3

Priority=Normal

 
 
daedra
2011-06-24 21:47:27

скачав это ПО, я настроил все конфиги, получаю такой вот лог

[06/25/11 00:41:39] Service VirtualBox ubuntu-server (vboxctrl) installed successfully.

[06/25/11 00:41:54] VirtualBox Control Service v0.4.1.112 (x64) started

[06/25/11 00:41:54] Initializing VirtualBox interface

[06/25/11 00:41:54] VirtualBox Interface v4.0.8 initialized

[06/25/11 00:41:54] Using VBOX_USER_HOME: C:\Users\daedra\.VirtualBox

[06/25/11 00:41:54] Starting VM ‘ubuntu-server’

но почему, я не могу подключиться, используя RDP ?

хотя, если я запускаю виртуальные машины через сам VirtualBox, то коннект через RDP проходит на ура.

Как можно объяснить сей факт?

 
Tim.San
2011-07-01 15:37:32

Подскажите что делаю не так

Система Windows 2003 r2 установлен VirtualBox 4.0.8 установлена и настроена виртуальная машина. Запуск через интерфейс VB проблем не испытывает.

Установлен сервис

vboxctrl_copy -i

через трей пытаюсь запустить вываливается ошибка

[07/01/11 15:32:35] VirtualBox Control Service v0.4.1.112 started

[07/01/11 15:32:35] Initializing VirtualBox interface

[07/01/11 15:32:35] VirtualBox Interface v4.0.8 initialized

[07/01/11 15:32:35] Using VBOX_USER_HOME: C:\Documents and Settings\

[07/01/11 15:32:35] ERROR: Could not find registered VM ‘win2003_sdo’

[07/01/11 15:32:35] Closing VirtualBox interface

содержание vboxctrl.ini

[VBoxCtrl]

VboxInstallPath=c:\Program Files\Oracle\VirtualBox\

VboxUserHome=C:\Documents and Settings\Администратор\.VirtualBox

VmName=win2003_sdo

ShutdownCommand=poweroff

ServiceName=VirtualBox VirtualMachineName

Loglevel=3

Priority=Normal

Как мне указать где находиться виртуальная машина?

2011-07-01 16:39:53

Во-первых, VmName=win2003_sdo — это должно быть в точности именем виртуальной машины, как указано через интерфейс VirtuallBox

Во-вторых, если сервис установлен как «vboxctrl_copy -i», то конфигурационный файл должен называться vboxctrl_copy.ini

В-третьих, нужно не забывать что интерфейс VirtualBox содзает блокировки, и соответственно перед запуском через tray helper выгружать его (и остановить все виртуальные машины, запущенные через него).

 
 
Альт
2011-07-24 20:32:45

Уже отстроенная виртуальная машина в вашем сервисе останавливается еще на старте.

[07/24/11 18:28:15] VirtualBox Control Service v0.4.2.114 (x64) started

[07/24/11 18:28:15] Initializing VirtualBox interface

[07/24/11 18:28:15] VirtualBox Interface v4.1.0 initialized

[07/24/11 18:28:15] Using VBOX_USER_HOME: C:\Documents and Settings\alto\.VirtualBox

[07/24/11 18:28:15] Starting VM ‘VPC’

[07/24/11 18:28:15] VM ‘VPC’ started

[07/24/11 18:28:16] VM ‘VPC’ stopped by itself

[07/24/11 18:28:16] Closing VirtualBox interface

Хотя в родной консоли стартует и работает на ура. На хосте живет win2008 R2, соответствено там x64.Гостевая winXP SP3 x32.

Стартово ставил VirtualBox-4.0.12-72916-Win.exe и vboxctrl64-0.4.1.zip, с аналогичным логом запуска вашей программы выше и самого бокса:

VirtualBox 4.1.0 r73009 win.amd64 (Jul 19 2011 13:05:53) release log

00:00:00.093 Log opened 2011-07-24T11:12:29.331343100Z

00:00:00.093 OS Product: Windows 7

00:00:00.093 OS Release: 6.1.7601

00:00:00.093 OS Service Pack: 1

00:00:00.113 DMI Product Name: System Product Name

00:00:00.119 DMI Product Version: System Version

00:00:00.124 Host RAM: 8183MB RAM, available: 5677MB

00:00:00.124 Executable: C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe

00:00:00.124 Process ID: 1508

00:00:00.124 Package type: WINDOWS_64BITS_GENERIC

00:00:00.124 Installed Extension Packs:

00:00:00.124 Oracle VM VirtualBox Extension Pack (Version: 4.1.0 r73009; VRDE Module: VBoxVRDP)

00:00:00.127 SUP: Opened VMMR0.r0 (C:\Program Files\Oracle\VirtualBox\VMMR0.r0) at 0xfffff8800a601000.

00:00:00.127 SUP: windbg> .reload /f C:\Program Files\Oracle\VirtualBox\VMMR0.r0=0xfffff8800a601000

00:00:00.167 File system of ‘C:\Users\alto\VirtualBox VMs\VPC\Snapshots’ (snapshots) is ntfs

00:00:00.193 File system of ‘D:\VBox\XP\XP.vdi’ is ntfs

00:00:00.405 AssertLogRel E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3893) Console::configNetwork:

00:00:00.405 NetworkAttachmentType_Bridged: FindByName failed, rc=E_INVALIDARG (0×80070057)VMSetError: E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3894) Console::configNetwork; rc=VERR_INTERNAL_ERROR

00:00:00.405 VMSetError: Nonexistent host networking interface, name ‘Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’

00:00:00.531 ERROR [COM]: aRC=E_FAIL (0×80004005) aIID={1968b7d3-e3bf-4ceb-99e0-cb7c913317bb} aComponent={Console} aText={Nonexistent host networking interface, name ‘Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’ (VERR_INTERNAL_ERROR)}, preserve=false

00:00:00.595 Power up failed (vrc=VERR_INTERNAL_ERROR, rc=E_FAIL (0X80004005))

На свежих версиях, как видно невооруженным глазом, ситуация не изменилась. Вывод ipconfig /all говорит о нужном мне интерфейсе вот так:

Description . . . . . . . . . . . : Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)

Разница в “описании” сетевой карты “описания” самой машины, на любых других интерфейсах (англоязычных) свободно стартует. Но родная консоль вполне себе ест свое же описание из выпадающего списка настроек самой машины и работает. Вылечилось ручной правкой настроек самой виртуальной машины:

т.е. я дописал руками “Сетевая карта” в utf8 описание машины. У Вас где-то пропущен момент с локалью или кодировкой строк, чем могу, помогу, что донастроить?

2011-07-24 21:04:08

Как-то я не понял вашего «фикса». У меня нет русскоязычных сетевых интерфейсов, да и серваки под руками все английские, сам не могу сейчас смоделировать.

Вот если с нуля — создаем виртуальную машину через GUI, добавляем виртуальную сетевую, выбираем, скажем, Bridged Adapter и линкуем её с «Сетевая карта…». Сохраняем машинку, закрываем GUI и смотрим в .xml файл виртуальной машины — как выглядит <BridgedInterface …>? Если его имя хоть как-то не совпадает с реальным именем интерфейса, то машина даже через GUI стартовать не сможет. Потому я не могу понять, как дописывание туда чего-либо может что-то исправить. По-моему только сломать.

Альт
2011-07-25 06:37:14

В выпадающем списке настроек машины нужный интерфейс стоит без этой приписки, соответственно и в описание машины попадает вот так:

и с этим описанием машина нормально стартует из родного графического интерфейса. В случае запуска из под сервиса сразу получаем завершение работы машины с логом, что я привел выше (хотя с другими полностью англоязычными интерфейсами все работает нормально). Танцы с бубном привели к тому, что заработала машина под сервисом только после того как я привел описание к виду:

в utf8

 
Альт
2011-07-25 06:43:56

Поело текст из-за скобок.

В выпадающем списке настроек машины нужный интерфейс стоит без этой приписки, соответственно и в описание машины попадает вот так:

BridgedInterface name=”Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)”

и с этим описанием машина нормально стартует из родного графического интерфейса. В случае запуска из под сервиса сразу получаем завершение работы машины с логом, что я привел выше (хотя с другими полностью англоязычными интерфейсами все работает нормально). Танцы с бубном привели к тому, что заработала машина под сервисом только после того как я привел описание к виду:

BridgedInterface name=”Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)”

в utf8

 
Альт
2011-07-25 06:57:48

По поводу сломать, забыл сказать, что через GUI теперь действительно машина не стартует с обратным логом:

VirtualBox 4.1.0 r73009 win.amd64 (Jul 19 2011 13:05:53) release log

00:00:00.547 Log opened 2011-07-25T03:50:35.227889700Z

00:00:00.547 OS Product: Windows 7

00:00:00.547 OS Release: 6.1.7601

00:00:00.547 OS Service Pack: 1

00:00:00.551 Host RAM: 8183MB RAM, available: 5859MB

00:00:00.551 Executable: C:\Program Files\Oracle\VirtualBox\VirtualBox.exe

00:00:00.551 Process ID: 5624

00:00:00.551 Package type: WINDOWS_64BITS_GENERIC

00:00:00.551 Installed Extension Packs:

00:00:00.551 Oracle VM VirtualBox Extension Pack (Version: 4.1.0 r73009; VRDE Module: VBoxVRDP)

00:00:00.564 SUP: Loaded VMMR0.r0 (C:\Program Files\Oracle\VirtualBox\VMMR0.r0) at 0xfffff8801e8cc000 – ModuleInit at fffff8801e8e2940 and ModuleTerm at fffff8801e8e29d0 using the native ring-0 loader

00:00:00.564 SUP: VMMR0EntryEx located at fffff8801e8e3970, VMMR0EntryFast at fffff8801e8e2bc0 and VMMR0EntryInt at fffff8801e8e2bb0

00:00:00.564 SUP: windbg> .reload /f C:\Program Files\Oracle\VirtualBox\VMMR0.r0=0xfffff8801e8cc000

00:00:00.597 File system of ‘C:\Users\dpn\VirtualBox VMs\VPC\Snapshots’ (snapshots) is ntfs

00:00:00.598 File system of ‘D:\VBox\XP\XP.vdi’ is ntfs

00:00:00.866 AssertLogRel E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3893) Console::configNetwork:

00:00:00.866 NetworkAttachmentType_Bridged: FindByName failed, rc=E_INVALIDARG (0×80070057)VMSetError: E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3894) Console::configNetwork; rc=VERR_INTERNAL_ERROR

00:00:00.866 VMSetError: Nonexistent host networking interface, name ‘Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’

00:00:00.992 ERROR [COM]: aRC=E_FAIL (0×80004005) aIID={1968b7d3-e3bf-4ceb-99e0-cb7c913317bb} aComponent={Console} aText={Nonexistent host networking interface, name ‘Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’ (VERR_INTERNAL_ERROR)}, preserve=false

00:00:01.064 Power up failed (vrc=VERR_INTERNAL_ERROR, rc=E_FAIL (0X80004005))

но зато работает под сервисом:

[07/25/11 10:52:43] VirtualBox Control Service v0.4.2.114 (x64) started

[07/25/11 10:52:43] Initializing VirtualBox interface

[07/25/11 10:52:44] VirtualBox Interface v4.1.0 initialized

[07/25/11 10:52:44] Using VBOX_USER_HOME: C:\Documents and Settings\dpn\.VirtualBox

[07/25/11 10:52:44] Starting VM ‘VPC’

[07/25/11 10:52:44] VM ‘VPC’ started

лог самого бокса имеет смысл приводить? он здоровый при успешном запуске.

2011-07-25 09:24:25

Нет, успешный лог не нужен.

Какой родной язык хоста? Какой язык интерфейса стоит у пользователя? Если я правильно понял проблему, то скорее всего язык системы русский (соответственно локаль учетки SYSTEM тоже русская), а язык интерфейса пользователя английский. Потому машина отстроенная от учетки пользователя не запускается от SYSTEM. Если это так, то я склонен считать это не глюком, а недофичей. Выходов два — настраивать виртуальную машину из под SYSTEM (через psexec) или иметь одинаковые языковые настройки с системой.

Альт
2011-07-25 10:01:48

И действительно.

Control panel -> Region and language -> Keyboards and Languages -> Display language

Панель управления -> Язык и региональные стандарты -> Языки и клавиатуры -> Язык интерфейса

В моем случает действительно стояла английская локаль, а системная русская. Переключил и перелогинился. Теперь в настройке сетевой карты виртуальной машины появилась:

‘Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’

И виртуальная машина ведет себя адекватно и при запуске в родном гуи и при запуске через ваш сервис.

Спасибо Вам большое.

 
 
 
 
 
Олег Максимов
2011-07-31 21:05:02

Обновился, и все перестало работать. при старте винды выпадает ошибка что память не может быть read.

windows xp sp3

в логах:

[07/26/11 10:27:02] ERROR creating VirtualBox instance (rc = 0×80004002)

пришлось откатиться до предыдущей версии

2011-07-31 21:18:19

Там выше указано — Версия 0.4.2 (для VirtualBox 4.1.x)

Т.е. если используется предыдущая ветка VirtualBox 4.0.x, то следует оставаться на vboxctrl 0.4.1.

 
 
victrium
2011-08-29 01:48:23

Здраствуйте, такая проблема: настроил две виртуалки, длительное время все работало отлично. Вот где-то с неделю назад начала одна виртуалка падать, вторая работает по прежнему без сбоев. Может что подскажете куда копать, что смотреть? win 2008×32

 
lastbyte
2011-08-30 09:41:53

Доброго времени суток.

У меня проблема почти как у Альт’а.

Интерфейс называется “Адаптер мини-порта виртуального WiFi Microsoft” в гуе и в конфиге прописывается верно. Через гуй всё стартует. Так же если запускать VBoxHeadless.exe” -s “vmubuntu_1″ тоже всё работает.

А вот после vboxctrl в логе появляется

00:00:00.399 AssertLogRel E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3903) Console::configNetwork:

00:00:00.399 NetworkAttachmentType_Bridged: FindByName failed, rc=E_INVALIDARG (0×80070057)VMSetError: E:\tinderbox\win-rel\src\VBox\Main\src-client\ConsoleImpl2.cpp(3904) Console::configNetwork; rc=VERR_INTERNAL_ERROR

00:00:00.399 VMSetError: Nonexistent host networking interface, name ‘Адаптер мини-порта виртуального WiFi Microsoft’

00:00:00.401 ERROR [COM]: aRC=E_FAIL (0×80004005) aIID={1968b7d3-e3bf-4ceb-99e0-cb7c913317bb} aComponent={Console} aText={Nonexistent host networking interface, name ‘Адаптер мини-порта виртуального WiFi Microsoft’ (VERR_INTERNAL_ERROR)}, preserve=false

00:00:00.443 Power up failed (vrc=VERR_INTERNAL_ERROR, rc=E_FAIL (0X80004005))

00:00:00.620 VRDP: TCP server closed.

 
BlackWarrior
2011-11-30 08:41:17

Запарился :(((((

—————————-

[VBoxCtrl]

VboxInstallPath=”C:\Program Files\Oracle\VirtualBox”

VboxUserHome=”c:\Users\BlackWarrior\.VirtualBox\

VmName=jetSurf

ShutdownCommand=acpipowerbutton

ServiceName=JetSurf4Twinkli

Loglevel=3

Priority=Below Normal

——————————-

[11/30/11 12:37:02] Service JetSurf4Twinkli (vboxctrl64) installed successfully.

[11/30/11 12:37:36] VirtualBox Control Service v0.4.2.114 (x64) started

[11/30/11 12:37:36] Initializing VirtualBox interface

[11/30/11 12:37:36] ERROR creating VirtualBox instance (rc = 0×80004005)

—————————————

Windows7 x64

VirtualBox 4.1.6r74713

Где я косячу?

2011-11-30 09:14:18

А в EventLog что?

BlackWarrior
2012-01-25 05:19:57

[11/30/11 12:37:02] Service JetSurf4Twinkli (vboxctrl64) installed successfully.

[11/30/11 12:37:36] VirtualBox Control Service v0.4.2.114 (x64) started

[11/30/11 12:37:36] Initializing VirtualBox interface

[11/30/11 12:37:36] ERROR creating VirtualBox instance (rc = 0×80004005)

2012-01-25 09:37:15

Это лог vboxctrl. А я про Event Log (Administrative Tools\Event Viewer).

BlackWarrior
2012-01-25 09:47:49

Имя сбойного приложения: vboxctrl64.exe, версия: 0.4.2.114, отметка времени: 0x4e2858e8

Имя сбойного модуля: msvcrt.dll, версия: 7.0.7600.16385, отметка времени 0x4a5bdfbe

Код исключения: 0xc0000409

Смещение ошибки: 0x000000000004623b

Идентификатор сбойного процесса: 0×1570

Время запуска сбойного приложения: 0x01ccdb3550dbbf30

Путь сбойного приложения: d:\MySoftware\Tools\VBoxCtrl\vboxctrl64.exe

Путь сбойного модуля: C:\Windows\system32\msvcrt.dll

Код отчета: 8e91cf90-4728-11e1-93ca-001d92320933

2012-01-25 10:35:01

Не факт что эта ошибка относится именно к ERROR creating VirtualBox instance (rc = 0×80004005).

В Event Log может быть много всяческого, что может подсказать в чем дело. И искать нужно что-то относящееся скорее к VirtualBox, а не vboxctrl. Можно попробовать переустановить VirtualBox, чтобы он перерегил свои COM интерфейсы.

 
 
 
 
 
 
lastbyte
2011-12-23 21:24:00

Сегодня схема моей сети немного изменилась. Пропал “Адаптер мини-порта виртуального WiFi Microsoft” + обновил вируалюлкс.

Програмка заработала. Думаю помогло первое.

 
o08
2012-01-24 12:21:29

Скажите, пожалуйста, а зачем vboxctrltray.exe лазит на ip 80.91.191.101?

http://s017.radikal.ru/i442/1201/b7/022e149764cf.png

2012-01-24 15:34:50

Это проверка наличия обновлений. Обращается по адресу http://vu1tur.eu.org/updatecheck/vboxctrl

 
 

Name (required)
E-mail (required, never shown publicly)
OpenID
Your Comment (smaller size | larger size)