Служба управления виртуальными машинами VirtualBox
↓ Настройка ↓ Установка ↓ Принцип работы ↓ Загрузка [English version]
Программа является win32 службой, которая позволяет автоматически при старте системы стартовать виртуальные машины VirtualBox и останавливать (выключать, сохранять состояние, переводить в режим сна) при выключении.
Настройка
Конфигурирование производится из .ini файла с таким же именем, как и имя запускного файла службы. Пример конфигурации есть в архиве дистрибутива.
Параметры:
VboxInstallPath | Директория в которую установлен VirtualBox |
VboxUserHome | Расположение домашней директории .VirtualBox |
VmName | Имя виртуальной машины, которой будет управлять служба |
ShutdownCommand | Команда выключения: poweroff, savestate, acpipowerbutton, acpisleepbutton |
ServiceName | Описание службы |
Loglevel | Журнал: 0=Выключен, 1=Включен, 2=Подробный, 3=Отладочный |
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_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.5.2 (для VirtualBox 5.2.x):
32-bit: vboxctrl-0.5.2.zip [74 КБ] (sha1: 0d25f43284f476b803c1ee1c9a46d0ba331f84f6)
64-bit: vboxctrl64-0.5.2.zip [76 КБ] (sha1: dab31f2a156b24a516f61b893903750131569ee0)
source: vboxctrl-0.5.2-src.zip [265 КБ] (sha1: 700b1d27e949dc6bcb5c30e5239820b935d39655)
Версия 0.5.1 (для VirtualBox 5.1.x):
32-bit: vboxctrl-0.5.1.zip [73.4 КБ] (sha1: 18a47449f81fe1bdb00db2f4c7d86ec5aab31fe1)
64-bit: vboxctrl64-0.5.1.zip [75.9 КБ] (sha1: 90668d16250536a86cb7db0d307151caf47e713f)
source: vboxctrl-0.5.1-src.zip [257.1 КБ] (sha1: 027a19193570dbe0cb8600a4f69f02f47feff086)
Версия 0.5.0 (для VirtualBox 5.0.x):
32-bit: vboxctrl-0.5.0.zip [73.2 КБ] (sha1: bf01e8afa59ef8f0c1238fec3ae15744e1bfd42c)
64-bit: vboxctrl64-0.5.0.zip [75.6 КБ] (sha1: 3d2d68feba7eff60a33b2a885e5b57fed7d764f4)
source: vboxctrl-0.5.0-src.zip [223.0 КБ] (sha1: e67cb20f58b4f3fb63ba6480b5f750b0b812c616)
Версия 0.4.7 (для VirtualBox 4.3.x):
32-bit: vboxctrl-0.4.7.zip [73.2 КБ] (sha1: 8deb3caf754b5a5fadfd2e04d327fd10ac51020e)
64-bit: vboxctrl64-0.4.7.zip [75.6 КБ] (sha1: 9fa88ced4b8f19278c345373226d6b892b37adde)
source: vboxctrl-0.4.7-src.zip [223.0 КБ] (sha1: 0211f8bca3489192aef2116aa724251f24ee8472)
Версия 0.4.6 (для VirtualBox 4.2.x):
32-bit: vboxctrl-0.4.6.zip [72.7 КБ] (sha1: 369444b19b27cca0347e8d1a2220624144f15803)
64-bit: vboxctrl64-0.4.6.zip [75.2 КБ] (sha1: 6b310fa072b99c37c0d0889e498ccca3e45a8183)
source: vboxctrl-0.4.6-src.zip [199.3 КБ] (sha1: ce4d26a23b5cb81b06bddede5ede4fa455b05d33)
Версия 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)
добавьте пожалуйста tray icon для удобного управления: например запуск\останов\конфиг для каждой ВМ
Добавлено в версии 0.3.0 (работает с VirtualBox 3.2.0 и выше)
Супер, спасибо. Намного удобней VBoxVmService (тем более что у меня этот монстр так и не запустился).
у меня ничо не получилось, хотя она говорит саксесфули, а в логе перед “саксесфулу” пишет:
error updating DACL
версия ОС и полный лог?
Я два дня потратил чтоб добиться работы 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.
Не знаю почему и зачем, но на всех 2k3, что я видел, переменная %USERPROFILE% действительно указывает в Default User.
Попробовал использовать вашу софтину. Сервис стартует нормально. А вот управлять сервисом не представляется возможным через иконку в трее. Вот что появляется в логе:
[08/17/10 13:00:54] ERROR opening session (0x80070057)
Если зайти под системную учётку и проверить статус или сделать 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.
Очистите лог файл, установите LogLevel=3 в vboxctrl.ini, переустановите сервис и попробуйте стартануть/остановить его из трея. Ну и лог сюда.
Проблема раз
Установил по новой сервис. Запустил управляющую утилиту. Из нее запустил виртуалку. Запустилась. Потом через нее запустил остановку. В сервисе висит статус “останавка”. Но ничего не происходит.
[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 (0x80040154)
[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 (0x80070057)
Надо зайти удаленно на гостевую ОС и завершить ее. Если запускать и останавливать гостевую ОС через сервис – та же проблема.
Проблема два
Я так понимаю она связана с vrdp. Есть автозапуск VB. Перезагружаю сервер (хост) и как обычно пытаюсь зайти по rdp на хост. И тут я вижу загрузку самого хоста, а может и гостевой ОС. Понять сложно. И там и там одна ОС. Вид такой как быд-то я напрямую работаю с компом, а не через rdp. Только я не знаю как в этом случае передать ctrl+alt+del чтоб в систему зайти. Подождав немного, зайдя на гостевую ОС (через rdp) и вырубя её и после этого уже зойдя на хост начинает работать нормально rdp на хосте.
В сурсах я увидел, что vboxheadless запускается с ключём -v config. Может надо с off? Или дать возможность в конфиге прописать как запускать.
1.1. Какая используется версия vboxctrl? Для 64-битного хоста, естественно, нужно использовать 64-битную.
1.2. Что стоит в vboxctrl.ini для VboxUserHome? Если …\Default User\.VirtualBox, то это не правильно. Весь смысл моего сервиса в том, чтобы держать это в директории пользователя.
1.3. Из под какой учетной записи производилась установка?
2. Порт для VRDP нужно ставить отличный от 3389, и всё будет нормально.
1.1. Ошибся, не то скачал, не обратил внимание с чем работаю…
1.2. Ок, поправил. Хотя можно сделать hardlink на конфиг у себя в профиле туда, в системный профиль. Но конечно проще в конфиге утилиты прописать.
1.3. Администратор домена.
4. теперь понятно.
Просто не той битности использовал в начале софтину. Теперь всё встало на свои места.
У вас ссылка на исходники ведёт на софтину.
спасибо.
большое спасибо за tray icon!
еще сделайте пожалуйста:
– значки вм запущен\остановлен в меню плохо различимы, поярче бы зеленый и черный, или красный;
– нотификацию об ошибках при запуске\работе\останове вм, можно MessageBox или Baloon, например убили процес vboxctrl64.exe с работавшей вм и появляется сообщение;
– Changelog в руской версии;
– пункт меню конфиг для каждой вм, или общий пункт для запуска VirtualBox.exe под правильным профилем;
Супер вещь! Спасибо!
У меня windows 7 я Администратор. vboxctrltray.exe работает только когда “Запуск от имени администратора”… Иначе пишет, “No VirualBox machines running” > “Service access denied”. Что делать? Руками запускать неудобно :(
Очистить лог файл, установить LogLevel=3 в vboxctrl.ini, переустановить сервис(ы). Запустить vboxctrltray.exe без “Запуск от имени администратора”. Показать лог.
[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.
А теперь то же самое, но с этой версией. В ней добавлено более информативное журналирование. Ну и лог сюда.
P.S. И так, на всякий случай, хост семерка 64-бит? Находится ли в домене?
[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. Не в домене.
Прошу прощения, допустил ошибку в той тестовой версии. Ещё раз то же самое. Ссылка та же.
[08/31/10 02:38:26] Service VirtualBox for win2003 (vboxctrl64) uninstalled successfully.
[08/31/10 02:38:42] ERROR creating ACL (0x00000534, 0x00000534)
[08/31/10 02:38:42] ERROR updating service DACL
[08/31/10 02:38:42] Service VirtualBox for win2003 (vboxctrl64) installed successfully.
ок, спасибо.
Протестируйте, пожалуйста, новую версию: vboxctrl64-0.3.2.zip. В ней это должно быть исправлено.
Спасибо!
Работает!
не нужно менять номер порта RDP. надо просто прописать жестко IP адрес в виртуальном хосте и все будет подключаться без проблем.
это к чему вообще? Если к тому, что VRDP порт можно оставить 3389, то это таки не правильно. И какое отношение к нему имеет IP адрес виртуальной машины? В виртуальной машине вообще может не быть ни одного сетевого адаптера, они для VRDP не нужны.
Здравствуйте!
Не могу настроить vboxctrltay.
Вроде все правильно настроено, но в меню vboxctrltay на против каждого сервиса пишется “Not configured”.
На что мне обратить внимание?
vboxctrltay.ini:
[VirtualBOX Windows]
ConfigFile=vboxctrl64.ini
[VirtualBOX AltLinux]
ConfigFile=vboxctrl64_altlinux.ini
Обратить внимание на пример конфигурационного файла, в котором указан полный путь к конфигурационным файлам vboxctrl, а не просто имя.
После установки 4 версии virtualbox имею следующую ошибку в логе:
ERROR creating VirtualBox instance (rc = 0x80004002)
До этого все работало как часы.
Похоже, что-то поменяли в параметрах запуска машины из VBoxHeadless.
Сильно поменялся API. На то оно и major update.
С 4-й версией пока не совместимо.
Жаль…
Можно надеяться на новую версию в ближайшее время?
Весьма вероятно, что в этом году не успеется.
А надеяться то всегда можно ;)
После более детального изучения, оказалось что старые грязные хаки, к моему удивлению, продолжают работать и в 4.0.
Так что надежды оправдались, обновлено до 0.4.
Для VirtualBox 3.2.х следует по прежнему использовать vboxctrl 0.3.3.
Огромное спасибо за оперативность!
И вообще за программку, очень полезная штука!
Имеется следующая проблема – при работе сервиса через некоторое время (ориентировочно неск. минут) ОС перестает определять изменение состояния USB устройств, т.е. если сразу после загрузки было подключено любое USB устройство, то через 10 минут ОС перестает определять факт его извлечения, а также новые вставленные устройства. При этом если устройства не трогать, то они функционируют нормально. При попытке безопасного извлечения ОС пишет, что устройство используется. После остановки службы и перезагрузки проблема исчезает.
ОС: Windows 7 HP 64
Virtualbox – 3.2, 4.0
Просто спасибо! :) Пользуюсь уже более полугода, никаких проблем не встечал ни в XP, ни в Vista, ни в W7 :)
Добавьте пожалуйста сброс\перезагрузку виртуалки в меню.
У меня стоит сохранение состояния при выключении, и если в виртуалке виснет винда то ни 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
Если проблема есть даже с родной оболочкой, то проблема с самим вбоксом, а не с vboxctrl. И при возникновении подобных проблем нужно остановить все сервисы vboxctrl. Подождать 10 секунд (или для пущей надежности перезагрузится, отключив автозапуск сервисов vboxctrl) и запустить родной интерфейс VirtualBox. Оттуда уже посбрасывать состояния машин, которые не запускаются и вообще проверить что машинки работают. Потом закрыть VirtualBox и снова минимум через 10 секунд можно запускать службы.
win7 x64 / vboxctrl 0.1.4.112 / VB 4.0.8 r71778
Не могу настроить. Установил сервис, если попробовать запустить из “Службы” то пишет “Не удалось запустить службу VirtualBox Mps-server на Локальный компьютер. Ошибка 5: Отказано в доступе”. Запуск из vboxctrltray ни к чему не приводит.
Первое что нужно сделать — переустановить сервис (очистив предварительно лог):
vboxctrl -u
vboxctrl -i
И показать что в логе, если это не решит проблему.
(ну и убедиться, что используется 64-битная версия vboxctrl)
Еще все действия желательно выполнять в привилегированном режиме (запустить от Администратора, в нашем случае нужно запускать консоль от администратора и в ней набирать команды).
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
Пользователь, который запускает vboxctrltray имеет доступ на запись в D:\mps-server\vboxctrl\ ?
Что есть по поводу vboxctrl в Event Log?
Переложил все на 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”.
похоже ему не нравятся русские буквы в “C:\Users\Толя\.VirtualBox”…
На сколько я понимаю, это он только в логе обрезает. Во всяком случае у меня всё запустилось с русским логином нормально.
А с родного VirtualBox GUI эта машина стартует? При «VM ‘mps-server’ stopped by itself» в логе обычно этого не происходит. Плюс в Event Log чего-то пишет.
Через GUI стартует.
Event Log (XML):
–
–
7036
0
4
0
0
0x8080000000000000
21612
System
t
–
VirtualBox Mps-server
Остановлена
760062006F0078006300740072006C00360034005F006D00700073005F007300650072007600650072002F0031000000
Настроил запуск сервиса от своего имени, и стало работать!
Ну это как бы не совсем правильно.
Впечатление, что у SYSTEM нет доступа каким-то файлам сервиса/виртуальной машины.
покажите вот этот конфиг D:\mps-server\vboxctrl\vboxctrl64_mps_server.ini
vu1tur, перемести пожалуйста этот коммент под коммент o08.ya.ru/ (2011-06-02 15:15:50 )
теперь экспериментирую на 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
скачав это ПО, я настроил все конфиги, получаю такой вот лог
[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 проходит на ура.
Как можно объяснить сей факт?
Подскажите что делаю не так
Система 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
Как мне указать где находиться виртуальная машина?
Во-первых, VmName=win2003_sdo — это должно быть в точности именем виртуальной машины, как указано через интерфейс VirtuallBox
Во-вторых, если сервис установлен как «vboxctrl_copy -i», то конфигурационный файл должен называться vboxctrl_copy.ini
В-третьих, нужно не забывать что интерфейс VirtualBox содзает блокировки, и соответственно перед запуском через tray helper выгружать его (и остановить все виртуальные машины, запущенные через него).
Уже отстроенная виртуальная машина в вашем сервисе останавливается еще на старте.
[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 (0x80070057)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 (0x80004005) 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 описание машины. У Вас где-то пропущен момент с локалью или кодировкой строк, чем могу, помогу, что донастроить?
Как-то я не понял вашего «фикса». У меня нет русскоязычных сетевых интерфейсов, да и серваки под руками все английские, сам не могу сейчас смоделировать.
Вот если с нуля — создаем виртуальную машину через GUI, добавляем виртуальную сетевую, выбираем, скажем, Bridged Adapter и линкуем её с «Сетевая карта…». Сохраняем машинку, закрываем GUI и смотрим в .xml файл виртуальной машины — как выглядит <BridgedInterface …>? Если его имя хоть как-то не совпадает с реальным именем интерфейса, то машина даже через GUI стартовать не сможет. Потому я не могу понять, как дописывание туда чего-либо может что-то исправить. По-моему только сломать.
В выпадающем списке настроек машины нужный интерфейс стоит без этой приписки, соответственно и в описание машины попадает вот так:
и с этим описанием машина нормально стартует из родного графического интерфейса. В случае запуска из под сервиса сразу получаем завершение работы машины с логом, что я привел выше (хотя с другими полностью англоязычными интерфейсами все работает нормально). Танцы с бубном привели к тому, что заработала машина под сервисом только после того как я привел описание к виду:
в utf8
Поело текст из-за скобок.
В выпадающем списке настроек машины нужный интерфейс стоит без этой приписки, соответственно и в описание машины попадает вот так:
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
По поводу сломать, забыл сказать, что через 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 (0x80070057)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 (0x80004005) 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
лог самого бокса имеет смысл приводить? он здоровый при успешном запуске.
Нет, успешный лог не нужен.
Какой родной язык хоста? Какой язык интерфейса стоит у пользователя? Если я правильно понял проблему, то скорее всего язык системы русский (соответственно локаль учетки SYSTEM тоже русская), а язык интерфейса пользователя английский. Потому машина отстроенная от учетки пользователя не запускается от SYSTEM. Если это так, то я склонен считать это не глюком, а недофичей. Выходов два — настраивать виртуальную машину из под SYSTEM (через psexec) или иметь одинаковые языковые настройки с системой.
И действительно.
Control panel -> Region and language -> Keyboards and Languages -> Display language
Панель управления -> Язык и региональные стандарты -> Языки и клавиатуры -> Язык интерфейса
В моем случает действительно стояла английская локаль, а системная русская. Переключил и перелогинился. Теперь в настройке сетевой карты виртуальной машины появилась:
‘Сетевая карта Realtek RTL8168D/8111D Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)’
И виртуальная машина ведет себя адекватно и при запуске в родном гуи и при запуске через ваш сервис.
Спасибо Вам большое.
Обновился, и все перестало работать. при старте винды выпадает ошибка что память не может быть read.
windows xp sp3
в логах:
[07/26/11 10:27:02] ERROR creating VirtualBox instance (rc = 0x80004002)
пришлось откатиться до предыдущей версии
Там выше указано — Версия 0.4.2 (для VirtualBox 4.1.x)
Т.е. если используется предыдущая ветка VirtualBox 4.0.x, то следует оставаться на vboxctrl 0.4.1.
Здраствуйте, такая проблема: настроил две виртуалки, длительное время все работало отлично. Вот где-то с неделю назад начала одна виртуалка падать, вторая работает по прежнему без сбоев. Может что подскажете куда копать, что смотреть? win 2008×32
Доброго времени суток.
У меня проблема почти как у Альт’а.
Интерфейс называется “Адаптер мини-порта виртуального 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 (0x80070057)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 (0x80004005) 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.
Запарился :(((((
—————————-
[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 = 0x80004005)
—————————————
Windows7 x64
VirtualBox 4.1.6r74713
Где я косячу?
А в EventLog что?
[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)
Это лог vboxctrl. А я про Event Log (Administrative Tools\Event Viewer).
Имя сбойного приложения: vboxctrl64.exe, версия: 0.4.2.114, отметка времени: 0x4e2858e8
Имя сбойного модуля: msvcrt.dll, версия: 7.0.7600.16385, отметка времени 0x4a5bdfbe
Код исключения: 0xc0000409
Смещение ошибки: 0x000000000004623b
Идентификатор сбойного процесса: 0x1570
Время запуска сбойного приложения: 0x01ccdb3550dbbf30
Путь сбойного приложения: d:\MySoftware\Tools\VBoxCtrl\vboxctrl64.exe
Путь сбойного модуля: C:\Windows\system32\msvcrt.dll
Код отчета: 8e91cf90-4728-11e1-93ca-001d92320933
Не факт что эта ошибка относится именно к ERROR creating VirtualBox instance (rc = 0×80004005).
В Event Log может быть много всяческого, что может подсказать в чем дело. И искать нужно что-то относящееся скорее к VirtualBox, а не vboxctrl. Можно попробовать переустановить VirtualBox, чтобы он перерегил свои COM интерфейсы.
Сегодня схема моей сети немного изменилась. Пропал “Адаптер мини-порта виртуального WiFi Microsoft” + обновил вируалюлкс.
Програмка заработала. Думаю помогло первое.
Скажите, пожалуйста, а зачем vboxctrltray.exe лазит на ip 80.91.191.101?
http://s017.radikal.ru/i442/1201/b7/022e149764cf.png
Это проверка наличия обновлений. Обращается по адресу http://vu1tur.eu.org/updatecheck/vboxctrl
Здравствуйте! Излагаю такую проблему… Необходимо с VirtualBox управлять удаленно оборудованием, через com порт1.В графическом интерфейсе VirtualBox,в настройках устанавливаю путь com порта : I/O base 0x3F8, IRQ4 (написал всё так,как в окне адреса пути к порту). Появляется ошибка названия пути: E_FAIL (0x8004005)
I console {1968b7d3-e3bf-4ceb-99eo-cb7c913317bb)
Если не трудно,скажите как правильно указать адрес к порту,и может какие ещё настройки поменять,чтобы программа могла работать через виртуальную машину.
Win 2008 r2 64bit
VMware 4.0.8. r71778
vboxctrl64.ini
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\admin\.VirtualBox
VmName=dc_new
ShutdownCommand=savestate
ServiceName=VirtualBox dc_new
Loglevel=3
Priority=Normal
vboxctrl64.log
Service VirtualBox dc_new (vboxctrl64) uninstalled successfully.
Service VirtualBox dc_new (vboxctrl64) installed successfully.
VirtualBox Control Service v0.4.1.112 (x64) started
Initializing VirtualBox interface
VirtualBox Interface v4.0.8 initialized
Using VBOX_USER_HOME: C:\Windows\system32\config\systemprofile/.VirtualBox
ERROR: Could not find registered VM ‘dc_new’
Closing VirtualBox interface
Я не понимаю зачем использовать здесь VirtualBox на 2008 сервере, когда есть Hyper-V, и почему VirtualBox на столько старый.
А по теме — создается впечатление, что при старте сервиса был запущен VirtualBox GUI (или другой какой инстанс), причем запущен от SYSTEM. В итоге корректное определение VBOX_USER_HOME ломается. Самое надежное — перезапустить хост и стартануть сервис ещё раз.
Большое спасибо за полезный и качественный софт. Все вышло с первого раза))
Однако я не уловил, можно ли запускать, останавливать виртуальную машину без использования визуального vboxctrltray в трее.
То есть через консоль. Мне нужно программно перезагружать мою виртуальную машину каждые пол часа.
WinXP 32 – VBox 3.2.12
Можно. Если имя сервиса vboxctrl, то так:
net stop vboxctrl && net start vboxctrl
Добрый вечер. Спасибо за ответ на предыдущий вопрос.
Однако возник следующий. У меня сеть из 20 хост машин, Win7 и WinXP, все 32 разрядные, На хост машинах присутствует моя служба (без доступа к десктопу), она и устанавливает vboxctrl на уже готовый и сконфигурированный vbox. До установки vboxctrl, виртуалки запускались через службу с доступом к десктопу. Теперь, 5 машин из 20 работают отлично, на 15 выскакивает ошибка “ERROR creating VirtualBox instance (rc = 0x80040154)”. При этом VboxUserHome указывается 100% правильно и вроде как различий между работающими и не работающими виртуалками я не смог найти.
Буду благодарен за любую помощь, и опишите пожалуйста детальнее эту ошибку.
Виртуалка – WinXP 32 – VBox 3.2.12
Спасибо.
Что-то я не совсем понял вашу конфигруацию и проблему. Что такое «моя служба»? Что значит она устанавливает vboxctrl?
Судя по ошибке — это несоответствие версии vboxctrl и VirtualBox. Для 3.2.12 нужно использовать vboxctrl 0.3.3.
День добрый.
Сразу о системе Windows 7-64bit, Virtualbox 4.1.14 r77440, vboxctrl64-0.4.2, также использую phpvirtualbox 4.1.7 для веб администрирования., работаю в домене.
Спасибо за программку то что искал.
Сначала проблема:
Vboxctrltrai.exe кинул в папку Автозагрузка и все нормально виртуальная машина стартует через RDP захожу на нее без проблем, НО в Vm VirtualBox Menedger состояние “Выключена” также и через phpvirtualbox тоже состояние “Выключена”, но “Свойство” виртуальной машины активны. Что делать? где капнуть?
И второе пожелание:
можно ли сделать, чтоб запускалось автоматически VboxWebSrv.exe при загрузке системы. Прописывал сам в vboxctrl64.ini “RunVboxWebSrv=yes” но толку нет.
С Уважением Олег.
1. vboxctrltray никуда кидать не надо. Нужно просто включить опцию Autostart on logon в контекстном меню. Более того, на старт виртуальной машины это никак не влияет. Виртуальная машина стартует, если у сервиса стоит запуск «Авто».
2. Прочтите внимательно раздел «Принцип работы и ограничения», а именно о том, как следует запускать интерфейс VirtualBox для управления запущенной через vboxctrl виртуальной машиной.
3. Ну и почему должен быть толк от опции, о которой в описании ничего не указано? Запускать vboxwebsrv через vboxctrl нельзя.
Ну на счет 3 пункта, это конечно желание, если Вы будите развивать далее этот проект, то конечно хотелось бы иметь эту функцию в новой версии программы.
Со 2 пунктом так и не понял пока, буду разбирается, но все равно спасибо за оперативность (если можно объяснить проще, то пожалуйста объясните)
С Уважением Олег
Цитата:
2 бага vboxctrltray
1) хинт не обновляется:
наводим мышь на иконку vboxctrltray в трее – всплывает хинт “нет запущенных машин”,
кликаем на иконку, запускаем одну,
снова наводим мышь на иконку в трее – всплывает тот же хинт “нет запущенных вм” (хотя уже есть!),
кликаем на иконку чтобы хинт обновился,
снова наводим мышь на иконку в трее – всплывает правильный хинт “1 вм запущена”.
2) недогруженные картинки раздвигают меню:
если сразу после перезагрузки хоста как только появится иконка vboxctrltray в трее сразу кликнуть на нее, то в появившемся меню левая колонка вместо зеленых и серых значков будет пустая и очень широкая (пикселей 100-200).
через минуту, когда все уже прогрузится, меню становится нормальным.
1. Это почти фича, а не баг. Для простоты все опросы виртуальных машин происходят по вызову менюшки. Исправлять это у меня намерений не было, т.к. информативность сообщений «1 вм запущена» и пр. на мой взгляд стремится к нулю. Но с таким подходом опроса есть другие проблемы (хоть и весьма редкие), если придумаю простое и красивое решение, то починим и хинт.
2. Пока повторить не получалось, будем поглядеть ещё.
1. Если информативности нет, то может хинт убрать совсем? Зачем он людей путает.
Если делать, то вижу 2 варианта:
1) опрос и обновление раз в 2-3 секунды,
2) подписка на внутренние события изменения статуса машин, и обновление по событию (но не чаще раза в 1 сек) – это будет лучше но трудней 1го варианта.
2. Щас винду переставил – тоже редко успеваю увидеть испорченное меню. Видимо зависит от количества автостартующих процессов.
Win7 SP1 x64
VirtualBox 4.1.18
vboxctrl64-0.4.2.zip
установил VirtualBox на Windows server 2008. Запустил, как сказано выше. Все работает ОК. Попытался законектиться в psexec через GUI mode. Не видит виртуальных машин. В windows7 все те же действия, но там вроде виртуальные машины видны. Как запустить GUI так, чтоб были видны виртуалки, работающие как сервис.
Добрый день.
Переустановил систему и перестала работать программа.
— vboxctrl64.log
[10/30/12 01:00:12] VirtualBox Control Service v0.4.4.120 (x64) started
[10/30/12 01:00:12] Initializing VirtualBox interface
[10/30/12 01:00:12] VirtualBox Interface v4.2.4 initialized
[10/30/12 01:00:12] Using VBOX_USER_HOME: D:\virtualbox
[10/30/12 01:00:12] ERROR: Could not find registered VM ‘Centos’
[10/30/12 01:00:12] Closing VirtualBox interface
— vboxctrl64.ini
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=D:\virtualbox
VmName=Centos
ShutdownCommand=savestate
ServiceName=VirtualBox Centos
Loglevel=3
Priority=Normal
Пути прописаны верно, в D:\virtualbox создаётся лог файл VBoxSVC.log
— VBoxSVC.log
VirtualBox COM Server 4.2.4 r81684 win.amd64 (Oct 26 2012 18:55:21) release log
00:00:00.000000 main Log opened 2012-10-29T21:00:12.412269600Z
00:00:00.000000 main OS Product: Windows 7
00:00:00.000000 main OS Release: 6.1.7601
00:00:00.000000 main OS Service Pack: 1
00:00:00.047000 main DMI Product Name: To Be Filled By O.E.M.
00:00:00.047000 main DMI Product Version: To Be Filled By O.E.M.
00:00:00.047000 main Host RAM: 16345MB total, 13813MB available
00:00:00.047000 main Executable: C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
00:00:00.047000 main Process ID: 5936
00:00:00.047000 main Package type: WINDOWS_64BITS_GENERIC
00:00:00.312000 VDInit finished
00:00:00.328000 ERROR [COM]: aRC=VBOX_E_OBJECT_NOT_FOUND (0x80bb0001) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={Could not find a registered machine named ‘Centos’}, preserve=false
00:00:05.335000 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false
В VirtualBox GUI машина Centos видна и называется так же?
В файле D:\virtualbox\VirtualBox.xml это машина описана?
Собственно я не уверен, что такая схема вообще рабочая. Ибо VirtualBox ищет VirtualBox.xml в %HOME%\.VirtualBox. И если %HOME% переопределить ещё можно, то .VirtualBox — нет. Верните расположение конфигурационных файликов и %HOME% к значениям по умолчанию.
Да в GUI видна, http://s7.postimage.org/b01xhltu3/screen.png
VirtualBox.xml – лежит в %HOME%\.VirtualBox
Ага, я понял. «Папка для машин» — это не то же самое, что VBOX_USER_HOME. Исправьте значение этого параметра в vboxctrl.ini на C:\Users\\.VirtualBox, подставив ваше имя пользователя (%HOME% в vboxctrl.ini использовать нельзя, нужен абсолютный путь).
Спасибо
Здравствуйте.
У меня вопрос по поводу возможности постановки виртуальной машины на паузу (аналог консольной команды: vboxmanage controlvm pause), снятия снапшота (vboxmanage snapshot take ) и удаления снапшота.
Возможно ли выполнить эти операции, в случае если ВМ запущены как службы с помощью vboxctrl? Это необходимо для создания резервной копию ВМ при условии работы 24/7.
Можно, описано в разделе «Принцип работы и ограничения»:
Для Windows Vista/7:
ну или VBoxManage.exe … по вкусу
Хостовая ОС: Windows 2003 Server x64.
При попытке запустить оболочку virtualbox из под SYSTEM (команда):
psexec.exe -s -d -i “C:\Program Files\Oracle\VirtualBox\Virtualbox.exe”
выдается сообщение об ошибке:
PsExec could not start C:\Program Files\Oracle\VirtualBox\Virtualbox.exe on testsrv:
Не удается найти указанный файл
Такая ошибка появляется, если запустить команду psexec именно с ключом -i.
Быть может такая ситуация возможна из-за того что, эти действия происходят в RDP-сессии, а не в консольной?
Нет, в RDP-сессии работает точно так же. У меня 2003-е серваки все 32-битные, потому проверить в х64 не могу.
Вбокс то точно установлен в C:\Program Files\Oracle\VirtualBox?
Да, при запуске:
psexec.exe -s -d “C:\Program Files\Oracle\VirtualBox\Virtualbox.exe”
процесс запускается (без возможности взаимодействия)
ну и таким же образом можно ещё запустить cmd.exe или файловый менеджер, и уже оттуда то что надо
пробовал с ключом -i запускать и cmd, результат тот же. Не получается запустить процесс в интерактивном режиме.
Так:
psexec.exe -s -d -i 1 “C:\Program Files\Oracle\VirtualBox\Virtualbox.exe”
где -i 1 – id RDP-сеанса, можно увидеть в “Диспетчере задач” (если ошибаюсь поправьте)
ошибка сохраняется.
Запускать нужно с ключом -i, иначе процесс не будет интерактивным (но, скажем, VBoxManage, наверное можно запускать и без, т.к. там всё что нужно передается параметрами в командной строчке и интерактив не нужен).
Возможно таки в 64-битном 2003-й серваке действительно иначе. Попробуйте запускать так же, как для Vista/7:
Спасибо! Попробую, но теперь уже только после выходных.
Рабочий вариант оказался таким:
psexec -s -d -i <> -w “C:\Program Files\Oracle\VirtualBox” cmd /c Virtualbox.exe
Примечательно то, что варианты с обычным указанием ключей и полным путем к Virtualbox.exe, как например:
psexec -s -d -i <> “C:\Program Files\Oracle\VirtualBox\Virtualbox.exe”
результата не дали. Также появлялась ошибка о том, что файл не найден.
О как. Спасибо за фидбэк! Поковыряю плотнее, как будет время.
А является ли этот сервер сервером терминалов?
Нет. Никаких ролей дополнительно не устанавливалось.
На всякий случай уточню версию ОСи: Windows Server 2003 R2.
64-битный
Ага, спасибо!
При попытке заверешения работы ВМ, через меню vboxctrltray -> “Имя ВМ” -> Stop
Параметр:
ShutdownCommand=acpipowerbutton
В случае с errorlevel=1 лог показывает:
[11/06/12 11:37:43] Using VBOX_USER_HOME: C:\Documents and Settings\admin\.VirtualBox
[11/06/12 11:37:43] Closing VirtualBox interface
[11/06/12 13:06:28] ERROR stopping VM ‘w2k3_01’ (0x80bb0002)
[11/07/12 18:16:42] ERROR creating VirtualBox instance (rc = 0x80080005)
ВМ продолжает работать пока не завершить работу изнутри.
В случае с errorlevel=2 лог показывает:
[11/08/12 08:59:43] Starting VM ‘w2k3_01’
[11/08/12 08:59:43] VM ‘w2k3_01’ started
[11/08/12 09:01:24] Stopping (acpipowerbutton) VM ‘w2k3_01’
[11/08/12 09:01:24] VM ‘w2k3_01’ was sent a stop signal (acpipowerbutton)
ВМ продолжает работать. Ждем… ничего. “Завершаем работу” изнутри ВМ и получаем в логе сообщение:
[11/08/12 09:03:15] VM ‘w2k3_01’ stopped (acpipowerbutton)
Завершение работы с параметром ShutdownCommand установленным в savestate отрабатывает успешно.
Хостовая ОС: Windows 2003 Server R2 x64
Используемая версия модулей управления виртуальными машинами VirtualBox – 0.4.4 для 64-bit.
Гостевая ОС: Windows 2003 Server R2 x86
Гостевые дополнения установлены
Конфиг vboxctrltray:
[global]
UpdateCheck=1
[w2k3_01]
ConfigFile=C:\vms\vservice\vboxctrl64_w2k3_01.ini
Конфиг ВМ:
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Documents and Settings\admin\.VirtualBox
VmName=w2k3_01
ShutdownCommand=acpipowerbutton
ServiceName=VirtualBox w2k3_01
Loglevel=2
Priority=Normal
ERROR stopping VM ‘w2k3_01′ (0x80bb0002) — Current virtual machine state prevents the operation. При каких состояниях вм не позволяет послать ей ACPI shutdown я даж не знаю, может оно там уже гасилось?
Ну а то, что оно продолжает работать — это вопрос к самой гостевой ОС. Она, видимо, не реагирует на ACPI shutdown. Я подозреваю, что если из VirtualBox GUI сказать ей Host+H (ACPI Shutdown) будет ровным счетом то же самое.
Дело было в гостевой ОС.
Если залогиниться в систему и через vboxctrltray сделать останов (acpipowerbutton), то система завершает свою работу в обычном режиме.
А если не логиниться, то в Windows Server 2003 ничего не происходит из-за того, что по умолчанию через групповые политики (gpedit.msc, Пoлитикa “Лoкaльный кoмпьютep” – Кoнфигypaция кoмпьютepa – Пapaмeтpы бeзoпacнocти – Лoкaльныe пoлитики – Пapaмeтpы бeзoпacнocти) не разрешено завершение работы системы без выполнения входа в систему. Надо включить этот параметр и тогда acpipowerbutton начнет работать.
Добрый день.
Настроил сервис, запускается ок.
Про попытке подключится через РДП к ВМ (метод авторизации: нет) подключение проходит успешно, но это не вариант. Если устанавливаю авторизацию внешнюю или гостевую, не пускает. Как только не крутил, не получается подключаться с авторизацией.
Установка софта и сервиса проходила под пользователем admin.
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Documents and Settings\admin\.VirtualBox
VmName=dima
ShutdownCommand=savestate
ServiceName=vboxctrl
Loglevel=1
Priority=Normal
Пытался изменить в настройках службы “Вход в систему с учетной записью admin”, и его же паролем, дефолт стоит “С системной учетной записью” служба не стартует, ВМ не запускается. Я так запускаю serv-u, надо для работы по сети, она работает, а эта служба не хочет.
Файл находятся F:\dima Hard Disk.vhd
Еще файлы есть C:\Documents and Settings\Admin\.VirtualBox\
877 selectorwindow.log
877 selectorwindow.log.1
1 015 VBoxSVC.log
1 015 VBoxSVC.log.1
1 466 VBoxSVC.log.10
1 466 VBoxSVC.log.6
1 466 VBoxSVC.log.8
2 059 VirtualBox.xml
1 960 VirtualBox.xml-prev
Еще есть файлы C:\Documents and Settings\Admin\VirtualBox VMs\dima\
12 132 dima.vbox
12 132 dima.vbox-prev
Logs
Snapshots
Что я делаю не так, что не могу авторизоваться используя внешнюю аутентификацию?
А если стартовать вм не через сервис, а через VirtualBox GUI, VBoxAuth работает?
Кстати, сразу не проверил, а щас попробовал и таки не работает, если стартовать через интерфейс. В чем трабл?
Ну это уже как бы не ко мне вопрос.
Windows 8 – vboxctrl64 – vbox 4.2.4
Не запускает машину в лог пишет:
[11/27/12 04:59:32] ERROR: Could not find registered VM ‘Router’
“C:\Program Files\Oracle\VirtualBox\VBoxManage.exe” startvm Router – Без проблем запускает машину, так что она зарегистрирована.
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\Сергей\.VirtualBox
VmName=Router
ShutdownCommand=savestate
ServiceName=Router VirtualMachine
Loglevel=2
Priority=High
c:\Users\Сергей\.VirtualBox\ – путь к VirtualBox.xml
Путь к машинкам: e:\vm\
С недавних версий VirtualBox стал немного иначе стартовать свой интерфейс и vboxctrl не всегда может правильно передать вбоксу путь к VirtualBox.xml. В Windows 8 — всегда не может, по моим наблюдениям. Но решение похоже найдено, ждите обновления в ближайшее время.
Круто. С нетерпением жду, поскорее бы.
Когда примерно ожидать обновление?
уже доступна 0.4.5
Достойно но не до конца рабочий вариант, чуть позже сделаю видео и напишу – про цветомузыку:)
Сделал 14 мб архив с видео, куда прислать можно?
Да на любой файлообменник можно выложить, например http://rghost.net/
Если бы я хотел видео в паблик, я бы его на ютюб закинул – может свяжешься со мной по почте? Gmail – а там я тебе перешлю?
Есть проблема с версией 0.4.6 – не стартует виртуалка. Лог-файлы:
—cut—
00:00:01.484000 VDInit finished
00:00:01.484000 Loading settings file “D:\Virtual\Ubuntu\Ubuntu.vbox” with version “1.12-windows”
00:00:06.500000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘D:\Virtual\Ubuntu\Ubuntu.vhd’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
00:00:06.500000 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false
—end—
Windows 8 x64, VirtualBox 4.2.4.
Вы же сами ответ процитировали: «Medium ‘D:\Virtual\Ubuntu\Ubuntu.vhd’ cannot be closed because it is still attached to 1 virtual machines»
Виртуальный диск уже используется какой-то машиной.
Дело в том, что виртуалка больше нигде не запущена. Гуй тоже выключен. При этом именно из гуёв запускается нормально :(
Используется не в смысле сейчас запущена, а в смысле диск подключен к другой машине.
Ещё надо проверить права на все файлики виртуальной машины. Может у SYSTEM банально нет прав на чтение .vhd или ещё какого файлика?
Ну и проверить, не применимо ли это здесь https://www.virtualbox.org/ticket/8910
Пользуюсь сабжем давно и успешно. Спасибо, что он есть!
Доброго всем времени суток! Установил данную службу, настроил конфиги. Vboxctrltray пишет,что машина запущена, но почему-то ничего не запускается на самом деле. Ничего не происходит. Логи в норме. Что не так?
Добрый вечер!
Система windows 7 x64
Virtualbox версии 4.2.6
vboxctrl64 версии 0.4.6
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\Алдар\.VirtualBox
VmName=linux
ShutdownCommand=poweroff
ServiceName=virtual linux
Loglevel=3
Priority=Normal
[eventlog винды]
Имя сбойного приложения: vboxctrl64.exe, версия: 0.4.6.159, отметка времени: 0x50c347ed
Имя сбойного модуля: vboxctrl64.exe, версия: 0.4.6.159, отметка времени 0x50c347ed
Код исключения: 0xc0000005
Смещение ошибки: 0x00000000000017bd
Идентификатор сбойного процесса: 0x528
Время запуска сбойного приложения: 0x01cde5a9d7e0ee31
Путь сбойного приложения: C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
Путь сбойного модуля: C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
Код отчета: 2c271511-519d-11e2-9e6c-08002700589c
В просмотрах событий ничего связанного с virtualbox’ом нет. Virtualbox перестанавливал – не помогло.
Помогите.
Совсем забыл лог вашей проги
[12/29/12 17:52:43] Service virtual linux (vboxctrl64) installed successfully.
[12/29/12 18:02:47] VirtualBox Control Service v0.4.6.159 (x64) started
[12/29/12 18:02:47] Started VBoxSVC[692]
[12/29/12 18:02:48] Initializing VirtualBox interface
[12/29/12 18:03:24] ERROR creating VirtualBox instance (rc = 0x80080005)
У вас скорее всего запущен родной интерфейс VirtualBox или другие машины из него.
А еще что это может быть?
Virtualbox выключен. Даже перестанавливать пробовал.
Ну во-первых убедиться, что он действительно «выключен». До запуска vboxctrl не должно быть ни одного процесса VBoxSVC.exe.
Во-вторых, убедитсья, что машина стартует из VirtualBox GUI.
В-третьих, посмотреть в лог самого VBoxSVC (находится в %VBOX_USER_HOME%).
1. В диспетчере задач убедился что нет ни одного процесса VBoxSVC.exe. Запустил службу vboxctrl64.exe. -> вылезает та же самая ошибка “ERROR creating VirtualBox instance (rc = 0×80080005)”
2. Удалил службу vboxctrl64.exe. Запустил VirtualBox. Запустил VM машину. -> все работает.
3. Посмотрел лог VirtualBox’a “VirtualBox COM Server 4.2.6 r82870 win.amd64 (Dec 19 2012 14:42:41) release log
00:00:00.016000 main Log opened 2012-12-29T15:50:01.351693300Z
00:00:00.016000 main OS Product: Windows 7
00:00:00.016000 main OS Release: 6.1.7601
00:00:00.016000 main OS Service Pack: 1
00:00:00.047000 main DMI Product Name: To Be Filled By O.E.M.
00:00:00.047000 main DMI Product Version: To Be Filled By O.E.M.
00:00:00.047000 main Host RAM: 3817MB total, 1749MB available
00:00:00.047000 main Executable: C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
00:00:00.047000 main Process ID: 5548
00:00:00.047000 main Package type: WINDOWS_64BITS_GENERIC
00:00:00.920000 Loading settings file “C:\Users\Алдар\.VirtualBox\VirtualBox.xml” with version “1.12-windows”
00:00:01.139000 VDInit finished
00:00:01.139000 Loading settings file “C:\virtual machines\linux\linux.vbox” with version “1.12-windows”
00:00:06.162000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘C:\virtual machines\linux\linux.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
00:00:06.162000 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false”
Обратил внимание на “‘C:\virtual machines\linux\linux.vdi’ cannot be closed because it is still attached to 1 virtual machines}”, Запустил VirtualBox. Удалил виртуальную машину из списка. Закрыл VirtualBox. Запустил службу vboxctrl64. На заработало -> лог virtualBox’a изменился на “00:00:00.047000 main Package type: WINDOWS_64BITS_GENERIC
00:00:00.920000 Loading settings file “C:\Users\Алдар\.VirtualBox\VirtualBox.xml” with version “1.12-windows”
00:00:01.123000 VDInit finished
00:00:06.131000 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false”
Что делать?
Если виртуальной машины нет в списке, её и запустить нельзя.
Приходит на ум только проверить права на файлики (vdi в частности) виртуальной машины для SYSTEM.
Спасибо огромное. Заработало сразу же с первого раза.
У меня точно такая же проблема, как у Алдара.
Ситуация:
был установлен VirtualBox 4.1.4 с vboxctrl 0.4.2. Я решил обновиться до последних версий. Поставил VirtualBox 4.2.6 и vboxctrl 0.4.6. После чего виртуалка перестала запускаться, как сервис (через vboxctrl). Хотя если запустить через VirtualBox, то всё прекрасно работает.
vboxctrl64.log показывает:
ERROR creating VirtualBox instance
VBoxSVC.log показывает:
00:00:07.082000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘W:\programs\VirtualBox\hdd\Debian.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
В итоге откатился обратно на 4.1.4 и 0.4.2. Всё сразу же заработало.
Спасибо.
Попробую откатиться до 4.1.4 и 0.4.2 – Может заработает)
К сожалению я не могу у себя повторить это. Ставлю старый VirtualBox, создаю машину, обновляю VirtualBox и vboxctrl — всё стартует.
Если есть желание, можете проверить эту идею: https://www.virtualbox.org/ticket/8910
Или более радикально — создать новую машину в новой версии VirtualBox.
Здравствуйте, вот такая проблема: установил последную версию virtual vox, и соответствующую версию 0.4.6 (для VirtualBox 4.2.x)
При запуске службы пишет: Ошибка1067: процесс был неожиданно завершен.
А в логах: ERROR creating VirtualBox instance (rc = 0x80004002).
Что делать?
Забыл добавить: пробовал на Windows 7×64 и Windows server R2
vboxctrl тоже должен быть 64-битным тогда
Само собой. На семерке вылечилось полным удалением вм и virtualbox. Но на сервере так сделать не могу…
А есть консольные команды по управлению виртуальными машинами? Для удаленного запуска и остановки виртуальных машин.
Например, VBoxVmService позволяет запускать с помощью VmServiceControl.exe -su 0
net start vboxctrl
Это понятно, запустить службу, остановить ее.
А вот запуск, остановка и главное – проверка статуса (включена/зависла/остановлена) конкретно виртуальных машин?
запуск/остановка службы = запуск/остановка виртуальной машины (ведь для каждой вм — своя служба)
А, если так, тогда все проще.
Например, VmServiceControl.exe -st 0 выдаст сообщение “VM TEST_VM is running” или “VM TEST_VM in unknown state 12” или “VM TEST_VM is aborted”
управлять консольно большой кучей виртуальных машин (у нас на нескольких десятках реальных ПК крутится по виртуалке в фоне) всяко проще :) а главное – знать, что же с ними сейчас происходит
А чем VBoxManage не устраивает?
Не знал, пошел курить :)
Здравствуйте!
Используем VB 4.2.12
Хостовая среда Windows 2003 x32.
Гостевая Windows 2012
Запуск ВМ с помощью vboxctrl-0.4.6.zip
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\WINDOWS\system32\config\systemprofile\.VirtualBox
VmName=W12
ShutdownCommand=acpipowerbutton
ServiceName=VirtualBox W12
Loglevel=1
Priority=Normal
Запуск проходит нормально.А вот остановка ВМ не происходит при остановке службы VirtualBox W12.
Сама служба останавливается, а ВМ продолжает работать.
Подскажите в чем м.б. дело.
Спасибо!
автор программы вот как комментирует данную особенность:
http://vu1tur.eu.org/post/1668#
Оказалось, что при завершении работы нет гарантии, что сервис нормально завершится. Скоро будет доступна новая версия.
Правда полностью решить проблему можно только для Vista/7. В XP/2003 гарантировать корректное завершение сервиса похоже невозможно.
Возможно потребуется скопировать
c:\ Documents and Settings \User\.VirtualBox\
в
c:\Windows\System32\config\systemprofile\.VirtualBox\
Virtualbox версия 4.2.12 r84980
vboxctrl64-0.4.6
ОС Windows Server 2008r2 Std x64
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Documents and Settings\Администратор.TS1\.VirtualBox
VmName=ast-zabbix-vhd
ShutdownCommand=savestate
ServiceName=VirtualBox ast-zabbix-vhd
Loglevel=2
Priority=Normal
Лог при загрузке виртуальной машины, предварительное состояние “сохранена”, за пуск через vboxtray, процесс vboxsvc не запущен:
[06/07/13 10:43:49] ERROR creating VirtualBox instance (rc = 0x80080005)
При запуске как службы
[06/07/13 11:31:38] ERROR creating VirtualBox instance (rc = 0x80080005)
Что может быть?
Да, добавлю
Имя журнала: Application
Источник: Application Error
Дата: 07.06.2013 12:03:04
Код события: 1000
Категория задачи:(100)
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: TS1
Описание:
Имя сбойного приложения: vboxctrl64.exe, версия: 0.4.6.159, отметка времени: 0x50c347ed
Имя сбойного модуля: vboxctrl64.exe, версия: 0.4.6.159, отметка времени 0x50c347ed
Код исключения: 0xc0000005
Смещение ошибки: 0x00000000000017bd
Идентификатор сбойного процесса: 0x2610
Время запуска сбойного приложения: 0x01ce635dbef89142
Путь сбойного приложения: C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
Путь сбойного модуля: C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
Код отчета: 0f8ef2b1-cf51-11e2-a3b4-0800270054b5
Xml события:
1000
2
100
0x80000000000000
167404
Application
TS1
vboxctrl64.exe
0.4.6.159
50c347ed
vboxctrl64.exe
0.4.6.159
50c347ed
c0000005
00000000000017bd
2610
01ce635dbef89142
C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
C:\Program Files\Oracle\VirtualBox\service\vboxctrl64.exe
0f8ef2b1-cf51-11e2-a3b4-0800270054b5
Убедитесь сначала, что виртуальная машина стартует нормально из VirtualBox GUI.
Стартует нормально. Проблема только при запуске как службы или из трея.
Делал даже копирование .Virtualbox в C:\Windows\System32\config\systemprofile\
пока эффекта нет :(
Сколько раз говорил, что делать это бесполезно… а иногда и вредно.
Остановите машину полностью, а не до состояния «сохранена». Ребут и пробуйте снова.
Также много полезного можно прочитать в VBoxSVC.log
Таки есть ошибки при обычном запуске
00:00:18.281000 ERROR [COM]: aRC=VBOX_E_INVALID_VM_STATE (0x80bb0002) aIID={22781af3-1c96-4126-9edf-67a020e0e858} aComponent={Machine} aText={Machine is not locked for session (session state: Unlocked)}, preserve=false
00:00:20.000000 ERROR [COM]: aRC=VBOX_E_IPRT_ERROR (0x80bb0005) aIID={22781af3-1c96-4126-9edf-67a020e0e858} aComponent={SessionMachine} aText={Saved screenshot data is not available (VERR_NOT_SUPPORTED)}, preserve=false
Решил проблему запустив под другим пользователем (скопировал папку .Virtualbox с одного юзера в другого) имя у которого не кирилическое. После этого всё заработало без ошибок
На самом деле кириллическое имя пользователя не должно влиять — я в своё время проверял. Видимо пофиксило то, что это *новый* пользователь, что наталкивает на мысль о не правильных разрешениях (на файлы, доступ к сервису).
Здравствуйте. Спасибо за разработанную вами службу, но что-то я не могу нормально её настроить.
Что имею. Сервер 2008 R2 x64 установил VirtualBox 4.2.16 настроил на нём сервер 2003 x86. Через GUI всё хорошо работает. Настроил NAT для RDP на гостевую машину. Скачал ваш 64-bit: vboxctrl64-0.4.6.zip настроил конфиг.
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\SuperAdmin\.VirtualBox
VmName=WindowsServer2003x86
ShutdownCommand=savestate
ServiceName=VirtualBox WindowsServer2003x86
Loglevel=3
Priority=Normal
Установил и запустил службу. Всё прошло без ошибок. При работе службы виртуальная машина работает (заходим на неё по RDP нормально). Установил программу для трея. Тоже всё норм.
Теперь о главном. При перезагрузке сервера (хоста) служба запускается но признаков жизни виртуальной машины никаких. Если авторизоваться под админом и перезапустить службу, то всё начинает работать.
В логах ошибок нет (как при перезапуске так и при первой загрузки содержание следующее).
[07/10/13 09:30:30] VirtualBox Control Service v0.4.6.159 (x64) started
[07/10/13 09:30:30] Started VBoxSVC[2156]
[07/10/13 09:30:31] Initializing VirtualBox interface
[07/10/13 09:30:31] Using VBOX_USER_HOME: C:\Users\SuperAdmin\.VirtualBox
[07/10/13 09:30:31] VirtualBox Interface v4.2.16 initialized
[07/10/13 09:30:31] Starting VM ‘WindowsServer2003x86’
[07/10/13 09:30:31] VM ‘WindowsServer2003x86’ started
Подскажите в какую сторону копать. Получается что теряется весь смысл этой службы. Ведь нужно чтоб без участия админов всё запускалось и работало. Спасибо.
Если в логе vboxctrl всё нормально, то нужно читать логи касающиеся непосредственно виртуальной машины. Частично они есть в Event Log, много всяческого есть в %VBOX_USER_HOME%\VBoxSVC.log. Надо в первую очередь поглядеть туда, ибо вслепую мы так не поймем в чем дело. Если предположить, что виртуальная машина запускается раньше, чем надо (скажем, не доступен какой-то сервис/устройство, от которого она может зависеть), то можно попробовать руками поставить сервису vboxctrl тип запуска Delayed Start.
Так и есть. изменил тип запуска службы с “Автоматически” на “Автоматически (отлложенный запуск)” и всё заработало как надо.
Видимо сервис vboxctrl стартовал раньше сетевых служб и поэтому виртуальной машины не было видно в сети.
Спасибо за помощь.
Добрый день.
Прошу подсказать где ошибка.
Windows 7 x64
В логе наблюдаю следущее:
[08/13/13 18:40:49] VirtualBox Control Service v0.4.6.159 (x64) started
[08/13/13 18:40:49] Started VBoxSVC[1456]
[08/13/13 18:40:50] Initializing VirtualBox interface
[08/13/13 18:41:20] ERROR creating VirtualBox instance (rc = 0x80080005)
У вас скорее всего запущен родной VirtualBox GUI. Чего делать нельзя.
Проблему уже устранил!
Спасибо!
а каким образом и в чем была проблема?
gui не запущен. процессов vb нет. Все равно такая же ошибка.
День добрый!
Описываю ситуацию:
1. Хост машина Win2003 R2 x64, VirtualBox 4.2.16
Виртуальные машины из VBoxManager работают нормально, но
при остановке машин VBoxSVC дает лог:
….
00:00:04.859000 ERROR [COM]: aRC=VBOX_E_INVALID_VM_STATE (0x80bb0002) aIID={22781af3-1c96-4126-9edf-67a020e0e858} aComponent={Machine} aText={Machine is not locked for session (session state: Unlocked)}, preserve=false
00:00:05.937000 ERROR [COM]: aRC=VBOX_E_IPRT_ERROR (0x80bb0005) aIID={22781af3-1c96-4126-9edf-67a020e0e858} aComponent={SessionMachine} aText={Saved screenshot data is not available (VERR_NOT_SUPPORTED)}, preserve=false
00:29:13.719000 USBPROXY usbLibDevCfgDrGet: DeviceIoControl 2 fail winEr (170)
00:30:04.125000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘D:\VirtualMachines\Kerio\Kerio.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
00:30:04.125000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘D:\VirtualMachines\Application_win2003\hdd0.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
00:30:04.125000 main ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘D:\VirtualMachines\Application_x64\hdd0.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
00:30:04.125000 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false
2. vboxctrl64-0.4.6 при добавлении сервиса дает лог:
[08/13/13 18:39:10] ERROR retrieving security descriptor of the service (0x000001e7)
[08/13/13 18:39:10] ERROR updating service DACL
[08/13/13 18:39:10] Service Kerio (vboxctrl64) installed successfully.
тоже и на вторую машину.
В диспетчере задачач от родного Vbox ничего запущено не было.
Все делалось под учетной записью Администратор.
Файл vboxctrl64.ini:
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Documents and Settings\Администратор\.VirtualBox
VmName=Kerio
ShutdownCommand=savestate
ServiceName=Kerio
Loglevel=3
Priority=Normal
Все названия машин из VBoxManage!
При перезагрузке выдает ошибку сервиса и не стартует.
Колдовал более 2-х часов-без результата.
3. В итоге под профилем другого пользователя(группа Администраторы) запустил VirtualBox, создалась папка .VirtualBox в профиле.
Добавил в менеджере виртуальные машины, подправил конфиги, все заработало, но при создании сервиса vboxctrl
в логе те же сообщения, что и выше.
VBoxSVC в новом профиле без ошибок. Виртуальные машины в новом профиле не запускались.
Единственное отличие имя пользователя на англицком.
4.После пробовал убирать виртуальные машины из VBoxManager у Администратора, удалять папку из профиля,
создавать все заново – “не прокатило”.
Собственно вопрос: почему не заработало под профилем Администратор и что за странные ошибки по поводу остановки жестких дисков?
Здравствуйте. После настройки появляется ошибка при запуске. Помогите пожалуйста разобраться.
Windows server ent 2008 r2 x64 rus sp1
vb – ver. 4.2.16 r86992
Версия 0.4.6 (для VirtualBox 4.2.x) x64
Вот лог:
[08/26/13 00:34:40] VirtualBox Control Service v0.4.6.159 (x64) started
[08/26/13 00:34:40] Started VBoxSVC[3724]
[08/26/13 00:34:41] Initializing VirtualBox interface
[08/26/13 00:35:17] ERROR creating VirtualBox instance (rc = 0x80080005)
Конфиг
[VBoxCtrl]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\Администратор\.VirtualBox
VmName=srv1c
ShutdownCommand=savestate
ServiceName=VirtualBox srv1c
Loglevel=3
Priority=Normal
[08/28/13 13:45:35] ERROR: VboxInstallPath not configured
[Elastix]
VboxInstallPath=C:\Program Files\Oracle\VirtualBox
VboxUserHome=C:\Users\Администратор\.VirtualBox
VmName=Elastix
ShutdownCommand=savestate
ServiceName=VirtualBox Elastix
Loglevel=1
Priority=Normal
Испытываю проблему, аналогичную описанным выше. При попытке запустить виртуалку из трея получаю в логе службы:
ERROR creating VirtualBox instance (rc = 0x80080005)
Лог самого Виртуалбокса думает об этом следующее:
Loading settings file “D:\Virtual Machines\foobar\foobar.vbox” with version “1.12-windows”
ERROR [COM]: aRC=VBOX_E_OBJECT_IN_USE (0x80bb000c) aIID={29989373-b111-4654-8493-2e1176cba890} aComponent={Medium} aText={Medium ‘D:\Virtual Machines\foobar\foobar-root.vdi’ cannot be closed because it is still attached to 1 virtual machines}, preserve=false
ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={3b2f08eb-b810-4715-bee0-bb06b9880ad2} aComponent={VirtualBox} aText={The object is not ready}, preserve=false
Операционная система: Windows 8 Профессиональная x86
Версия Виртуалбокса: 4.2.16
Версия службы: 0.4.6
Ещё у меня кириллический логин.
Виртуальная машина Foobar — единственная, диск foobar-root.vdi — единственный виртуальный носитель, показываемый в менеджере виртуальных носителей.
Через сам Виртуалбокс машина запускается нормально.
Подскажите, пожалуйста,куда копать?
> Ещё у меня кириллический логин.
С некириллическим та же ерунда, как оказалось.
А нет, похоже, дело было-таки в нём. Было необходимо поменять ещё путь к пользователю в инишнике службы.
Поимел такую же проблему на Win 8.1 Enterprise Preview
Что сделал.
Попробовал запустить службу от локального пользователя – запустилась.
Поменял обратно на системную – опять запустилась.
Хотя мне кажется дело могло быть не в этом. При первом запуске службы у меня был открыт VirtualBox. Машины не были запущены.
VirtualBox я закрыл, но служба опять не запустилась. Может полетели какие настройки.
А подумал я так, поскольку при запущенной службе VirtualBox запускаться отказываться.
Добрый день! Большое спасибо за программу, разобрался и запустил за 5 минут :)
1. Спасибо за замечательную программу! Она отлично работает и добавляет столь нужный функционал.
2. А вот можно попросить создать версию для VirtualBox 4.3.x ? В 4.3.x есть полезные плюшки и надо бы попробовать на нее перелезть, да вот сервис падает. Поэтому остаюсь на 4.2.18 пока…
Поддержка ветки 4.3.x доступна в 0.4.7.
Ура!!! Спасибо большое!
Ушел ставить…
У меня 2 машины, одна запускается нормально, а в логах второй следующее:
[11/19/13 10:07:52] VirtualBox Control Service v0.4.7.160 started
[11/19/13 10:07:52] Started VBoxSVC[3456]
[11/19/13 10:07:52] Initializing VirtualBox interface
[11/19/13 10:07:54] Using VBOX_USER_HOME: C:\Documents and Settings\Administrator\.VirtualBox
[11/19/13 10:07:54] VirtualBox Interface v4.3.2 initialized
[11/19/13 10:07:54] Starting VM ‘W2K3_64’
[11/19/13 10:07:56] VM ‘W2K3_64’ started
[11/19/13 10:07:56] VM ‘W2K3_64’ stopped (savestate)
[11/19/13 10:07:56] Closing VirtualBox interface
если запускать из интерфейса vbox – запускается без проблем. Что может быть?
хост w2k3-32
Первое — остановить машину из интерфейса vbox (не save state, а полностью) — и потом уже включить сервисом (вторую вм при этом тоже погасить, естественно). У меня помню залипало так в savestate.
Второе — смотреть EventLog (хоста), т.к. внешне это больше похоже на остановку самой вм, а не управляющего сервиса — в логах может быть что-то полезное.
Третье — смотреть VBoxSVC.log в %VBOX_USER_HOME%.
Сервис не стартует. В логе vboxctrl.log:
[11/28/13 19:07:32] VirtualBox Control Service v0.4.7.160 started
[11/28/13 19:07:32] Started VBoxSVC[3260]
[11/28/13 19:07:33] Initializing VirtualBox interface
[11/28/13 19:08:03] ERROR creating VirtualBox instance (rc = 0x80080005)
В виндовых логах ошибка: Faulting application vboxctrl.exe, version 0.4.7.160, faulting module vboxctrl.exe, version 0.4.7.160, fault address 0x00001875.
По-скольку не написано обратного, я предполагаю, что у вас запущен родной интерфейс VirtualBox.
Нет небыли запущены процессы. Специально смотрел, так как перечитал все советы Ваши. Перепробовал все версии и решил что надо поискать что то другое. И нашел… Автозапуск virtualbox с помощью VBoxVmService 3.0. Замечательно я скажу работает и да же быстрее и проще настраивается. http://forum.infotes.mobi/viewtopic.php?f=25&t=126
Тут столкнулся с ERROR creating VirtualBox instance (rc = 0x80080005)
Метод решения:
указать в VboxUserHome= отдельную папку
скопировать в неё VirtualBox.xml вынеся из него все остальные машины
Здравствуйте. Подскажите, почему то не могу запустить виртуальную машину. В логах пишет
[01/10/15 17:27:45] VirtualBox Control Service v0.4.7.160 (x64) started
[01/10/15 17:27:45] Started VBoxSVC[2224]
[01/10/15 17:27:45] Initializing VirtualBox interface
[01/10/15 17:27:46] Using VBOX_USER_HOME: C:\Users\Алексей\.VirtualBox
[01/10/15 17:27:46] VirtualBox Interface v4.3.16 initialized
[01/10/15 17:27:46] ERROR: Could not find registered VM ‘WindowsXP’
[01/10/15 17:27:46] ERROR: Could not find registered VM ‘WindowsXP’
[01/10/15 17:27:47] Closing VirtualBox interface
В VirtualBox так и называется WindowsXP, и если командой запускать
“C:\Program Files\Oracle\VirtualBox\VBoxManage.exe” startvm “WindowsXP” –type vrdp
то запускается
Разобрался.
Удалил VirtualBox, удалил vboxctrl, скачал ещё раз последние версии и поставил всё заново. Заработало.
Расположите по пути, где нет кирилических символов. -i делали?
Установил, службы работают, но есть проблема с запуском интерфейса Virtualbox через psexec. Команда выглядит так:
C:\sysinternals\PsExec.exe -sd -i 0 “C:\Program Files\Oracle\VirtualBox\VirtualBox.exe”
Результат выполнения:
Couldn’t install PsExec service:
Отказано в доступе.
Если запускать от имени администратора – оно запускается, в процессах висит, но интерфейса я не вижу.
Версия Vboxctrlt – 0.4.7 x64
Версия VirtualBox – 4.3.26
Хост – Windows 8.1 x64
Есть проблема с Удаленным дисплеем, конкретно с функцией “Разрешать несколько подключений”.
Vboxctrlt не позволяет подключаться нескольким пользователям к гостевой машине с установленным Windows, разрешает создавать только один сеанс. С гостевой машиной с Linux таких проблем нет.
Проверял, если запустить гостевую машину с Windows через обычный интерфейс VirtualBox, то все работает, можно подключаться через Удаленный дисплей сразу нескольким пользователям. А вот при использовании Vboxctrlt не получается.
Есть решение этого вопроса?
Решение нашел самостоятельно.
Удалил Касперского на хостовой машине и все заработало. Теперь можно подключаться нескольким пользователям к гостевой машине с Windows через Удаленный дисплей.
Осталось понять что именно касперу не понравилось в прошлый раз.
Здравствуйте,
Спасибо за этот проект. Вышел VirtualBox 5.0. Версия 0.4.7 с ним не работает.
Спасибо за идею и реализацию замечательной программы!
И опять и снова прошу создать новую версию vboxctrl для 5 ветки virtualbox.
Установлена версия 0.5.0.166 (x64), версия VirtualBox v5.1.4
Лог при запуске службы:
[08/30/16 16:54:03] Service VirtualBox VirtualMachineName (vboxctrl64) installed successfully.
[08/30/16 16:54:17] VirtualBox Control Service v0.5.0.166 (x64) started
[08/30/16 16:54:17] Initializing VirtualBox interface
[08/30/16 16:54:34] Using VBOX_USER_HOME: C:\Documents and Settings\emelyanov\.VirtualBox
[08/30/16 16:54:34] VirtualBox Interface v5.1.4 initialized
[08/30/16 16:54:34] Starting VM ‘TeleDu’
На этом всё зависает, виртуалка не запускается.
В файле VBoxSVC.log при этом появляется ошибка:
01:00:33.411366 ERROR [COM]: aRC=E_INVALIDARG (0x80070057) aIID={b2547866-a0a1-4391-8b86-6952d82efaa0} aComponent={MachineWrap} aText={Invalid boot position: 18587760 (must be in range [1, 4])}, preserve=false aResultDetail=0
Есть ли рекомендации по устранению?
Поддержка VirtualBox ветки 5.1.* добавлена в vboxctrl 0.5.1
Not Found
The requested URL /tools/vboxctrl64-0.5.1.zip was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.