На радость вполне подходящее решение предоставляет VMWare Workstation 8. (На сколько я понял именно с 8ой версии). Не сразу можно найти функции для автозапуска машин. И тем более для корректного выключения вместе с хостом. Далее по шагам как это всё сделать.
Инструкция пригодна и для гостевой ОС Windows. Необходимое условие: наличие установленных «VMMware Tools».
Понадобилось мне на длительный срок на Windows 2003 Server поставить Debian Linux виртуальной машиной. (По некоторым причинам, этот вариант я посчитал наиболее удачным в моём случае.).
Необходимо корректно выключать гостевую машину вместе с хостом. Причем, чтобы виртуальная машина запускалась сразу после загрузки сервера без входа пользователя.
Погуглил… Предлагают:
- VMWare Server. «Компания VMWare объявила о конце срока поддержки VMWаre Sеrver 2 (летом 2011 заканчивается поддержка)»
- обернуть в сeрвис командную строку для запуска машины. Ceрвис меня не устраивает из-за возможных запросов виртуальной машины к пользователю. Такое решение на коленке может нестабильно работать. UPD: У команды vmrun есть ключ nogui. Но как быть с выключением? Из-за навороченности решение не пробовал, можно конечно использовать
vmrun -T ws stop "путь_к_файлу_виртуальной_машины.vmx" soft
перед выключение компьютера. (vmrun находится в Program Files\VMware\VMware Workstation) - vSphere — из пушки по воробьям.
С установкой VMWare Workstation 8 стало ясно, что можно настроить автозапуск.
В контекстном меню на нужной виртуальной машине выбираем Manage -> Share. Выбираем один из способов: переместить виртуальную машину, или создать клон. Всё это происходит в специальную папку для шареных машин. Изменить можно в настройках (Edit -> Preferences ->Shared VMs). В настройках можно поменять порт для удаленной работы с виртуальными машинами.
На панели «Library» появится новая виртуальная машина в разделе «Shared VMs». Выбираем Shared VMs -> Manage AutoStart VMs. В диалоговом окне настраиваем порядок запуска виртуальных машин. И галками какие из них автозапускать. Виртуальные машины стартую из под службы «VMWare Workstation Server».
Корректное выключение гостя (например ACPI выключение, или через установленные VMWare Tools) не отрабатывают с выключением хоста. (Настройка на кнопку на панели «выключение» также настроена на shutdown guest — выключение через VMWare tools).
Нужно править файлы конфигурации config.xml и vmAutoStart.xml в
Vista/7: C:\ProgramData\VMware\hostd\
XP/2003: C:\Documents and Settings\All Users\Application Data\VMware\hostd\
В config.xml нужно убрать комментарии:
<!-- The file containing the AutoStart settings -->
<vmAutoStart>/etc/vmware/hostd/vmAutoStart.xml</vmAutoStart>
В vmAutoStart.xml:
в элементе /ConfigRoot/SystemDefaults — настройки по умолчаиню и в /ConfigRoot/AutoStartOrder/e[@id] — настройки для каждой виртуальной машины
stopAction установить в guestShutdown, для выключения гостевой машины вместе с хoстом через «VMware Tools». Возможные значения stopAction: none, powerOff, guestShutdown, suspend.
Подробней о значениях элемента stopAction
Таким образом получаем удобную виртуальную машину, к которой можно подключаться удаленно при помощи той же VMWare Workstation.
Дополнительная информация:
1. Пакет VMWare Tools для дебиана open-vm-tools
2. Служба, отвечающая за шаринг «VMwareHostd» («vmware-hostd.exe»). Вход от имени локальная система. Каждая виртуальная машина запускается в процессе «vmware-vmx.exe».
3. Пример перезагрузки удаленной расшаренной виртуальной машины:
vmrun -T ws-shared -h ip:port -u administrator -p password list
Получили список виртуальных расшаренных машин. Можно теперь подставить имя файла виртуальной машины для удаленной «мягкой» перезагрузки:
vmrun -T ws-shared -h ip:port -u administrator -p password reset "[ha-datacenter/standard] Debian GNU_Linux 6 (64-bit)/Debian GNU_Linux 6 (64-bit).vmx" soft
Команда возвращает управление в то время, когда заново загрузятся VMware Tools (по моим наблюдениям)
у меня нет файла vmAutoStart.xml
Какая у вас версия VMWare, Windows, сколькибитная windows? Расшаривали ли вы виртуальные машины (есть ли машины в разделе SharedVMs)? (возможно только после расшаривания появляются файлы настроек).
У меня файл vmAutoStart.xml на Win2003 SP1 находится по пути «C:\Documents and Settings\All Users\Application Data\VMware\hostd» выглядит так (после правки):
Так же в папке есть ещё файлы (попробуйте поиск файлов), (логи и бэкапы не публикую):
stats\
authorization.xml
config.xml
datastores.xml
proxy.xml
vmAutoStart.xml
vmInventory.xml
Так же ещё файлы настроек могут скрытми/системными.
Метода хорошая — работает отлично!
Вот только есть одна ерундишка — после расшаривания виртуалки исчезает возможность использовать shared folders. Неудобно.
А вы перед расшариванием установите все желаемые настройки включая shared folder и лишь потом только расшаривайте. И ещё можно поискать соответствующую строчку в конфигурационном файле .vmx там будет строка для расшаренных папок.
Уведомление: VMWare Workstation 8 автозапуск и автоматическая остановка виртуальных машин (не ACPI) | ExtraLAN.ru
а еще при расшаривании почему то перестает работать сетевой мост(( гостевая машинка ни как не хочет получать адрес из сети(