vmwareplayer

Запуск VMware Player, как Windows Service

Перевод с английского
February 10, 2006 10 февраля 2006 г.
by Dan Thomasset ( dct@stowers-institute.org )

У вас есть желание запускать Vmware как фоновый процесс на компьютере с Windows?
Ничего из нижеописанного не одобрено VMware. Это руководство описывает только мой способ использования VMware Player.

  1. Создание виртуальной машины
  2. Установка VMware Player
  3. Создание службы VMware Player
  4. Запуск виртуальных машин при старте Windows


1. Создание виртуальной машин
Используйте продукты VMWare для создания виртуальных машин. Я использовал Workstation версии 5.5, поскольку она создает виртуальные машины 5 поколения. Если вы используете другой продукт VMware, убедитесь, что ваш продукт будет создать виртуальную машину, которая совместима с VMWare Player.
(Примечание переводчика: Проще всего использовать VMWare Server 2.0, который совершенно бесплатен, наряду с VMWare Player. Но так же, конечно, можно создать виртуальную машину на современной версии Workstation 6.5)
VMware Player будет использоваться для запуска виртуальной машины (так как это бесплатный продукт!). Я также запускаю VMware ACE в качестве сервиса с использованием тех же методов, что и в случае VMware Player.

Пятое поколение виртуальных машин позволяет автоматически масштабировать память RAM виртуальной мишины с учетом имеющейся физической памяти, для этого требуется только добавить несколько параметров в Vmx файл.


memsize = "2048"

MemAllowAutoScaleDown = "TRUE"

В этом случае, В. М. (виртуальная машина) будет распорядаться 2 ГБ оперативной памяти, если таковая имеется.На машинах с менее чем 2 ГБ ОЗУ, плеер будет автоматически корректировать используемый объем с учетом имеющейся оперативной памяти.Memsize 2048 это не предел.Если у вас установлено более чем 2 ГБ памяти, просто увеличьте это число.

Насколько я знаю, это недокументированная функция.Я нашел это в Vmx-файле одной виртуальной машины, поставляемой VMware.

2. Установка VMware Player
На машине, на которой будет выполняться сервис (далее называемой «целевой машины»), устанавливаем VMware Player. В данном примере используется версия 1.0.1. Player не может сосуществовать с другими продуктами VMware на одном и том же компьютере, так что целевая машина должна отличаться от машины, когда виртуальная машина была создана.

(Примечание переводчика: имеется в виду отдельная инсталляция плейера, если у вас не установлена Workstation, которая включает в себя плейер. Так же вы можете просто удалить с компьютера VMWare Server после создания виртуальной машины)

3. Создание службы VMWare Player

  1. Найдите копии instsrv.exe и Srvany.exe из соответствующего Windows Resource Kit. Например, я использовал Windows 2003 Resource Kit. Скопируйте instsrv.exe и Srvany.exe в % SYSTEMROOT% на целевой машине.
  2. Скопируйте файлы виртуальной машины в директорию на целевом компьютере. Не все файлы нужны, я скопировал только файлы , как показано ниже.
  3. virtual-server-files

  4. Добавьте поля в Vmx файл так, что VMware Player подавлял все «Ok»-сообщения, генерируемые пользовательским интерфейсом, и не показывал пользователю интерфейс.

  5. server.vmx
    ... ...
    hints.hideAll = "TRUE"
    msg.noOk = "TRUE"
    ...

    Параметр Hints.hideAll был упомянут в статье VMware — At Your Service! в июне 2004 года. Параметр Msg.noOk был найден в форумах VMware.

  6. Создайте службу VirtualServer на целевой машине с помощью instsrv.exe.

  7. instsrv VirtualServer "%SYSTEMROOT%\System32\srvany.exe"

    Добавьте ключи реестра для Srvany.exe так, чтобы она запускала vmplayer.exe с вашей виртуальной машиной. Для получения подробной объяснения создания пользовательских служб в Windows см. статью базы знаний Как создать пользовательскую службу.

    VirtualServer.reg
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VirtualServer\Parameters]
    "Application"="\"C:\\\\Program Files\\\\VMware\\\\VMware Player\\\\vmplayer.exe\""
    "AppParameters"="\"C:\\\\VirtualServer\\\\server.vmx\""
    "AppDirectory"="\"C:\\\\VirtualServre\\\\\""

    Чтобы использовать другой продукт Vmware, такой как ACE, измените значение ключа «Application» . Чтобы использовать другую виртуальную машину, измените значение «AppParameters» .

  8. Создайте пакетный файл запуска виртуальной машины под названием start-vm.bat.Этот сценарий сначала проверяет, установлены ли файлы виртуальной машины, и что служба не запущена. Затем он убивает все старые VMware процессы и устраняет различные файлы состояния с последнего запуска виртуальной машины. По окончанию — стартует службу виртуальной машины.

  9. ::
    :: start-vm.bat
    ::
    :: If the server isn't installed, then don't start it
    if not exist C:\VirtualServer goto noServer
    :: If the service is already running, then skip starting it
    net start | grep -q -i "VirtualServer"
    if %ERRORLEVEL% == 0 goto noServer
    :: To make sure that lingering processes are dead, force kill the process
    taskkill /F /IM vmplayer.exe
    taskkill /F /IM vmware-vmx.exe
    :: Remove *.lck, *.vmss from the grid directory
    del "C:\VirtualServer\*.lck"
    del "C:\VirtualServer\*.vmss"
    del "C:\VirtualServer\*.vmem"
    :: Start the server service
    net start VirtualServer
    :noServer

     

     

  10. Создайте пакетный файл для остановки виртуальной машины под названием stop-vm.bat. Сценарий остановки виртуального сервиса убивает любые процессы VMware , связанные с запущенной виртуальной машиной.


::
:: stop-vm.bat
::
:: If the server isn't installed, then don't start it
if not exist C:\VirtualServer goto noServer
:: Start the service
net stop VirtualServer
:: Force kill the processes
taskkill /F /IM vmplayer.exe
taskkill /F /IM vmware-vmx.exe
:noServer

Важно: виртуальная машина должна быть в нормальном состоянии после жесткого закрытия. Уничтожение процесса виртуальной машины аналогично тому, как будто вы выдернули шнур из розетки на физическом компьютере.  Если состояние виртуальной машины не имеет значения, то вы можете использовать функцию nonpersistent disk. Так как содержимое диска не изменяется во время работы виртуальной машины, такое завершение процесса не сможет повлиять на состояние виртуального диска.

4. Запуск виртуальных машин при старте Windows

  1. Поместите скрипт запуска в %SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup. Для этого примера, скриптом запуска является файл start-vm.bat.
  2. grouppolicy-startup

  3.  На целевой машине сделать так, чтобы start-vm.bat запускался при старте системы, добавив его в перечень автозапуска групповой политики. gpedit.msc является редактором групповых политик. Выполните команду gpedit.msc, чтобы открыть редактор групповой политики (Примечание переводчика: Меню Пуск — Выполнить). .
  4. gpedit-machine_002

  5. В разделе «Scripts (Startup/Shutdown)» редактора групповых политик, откройте окно Startup Properties.Нажмите кнопку «Добавить» и введите имя скрипта запуска виртуальной машины.
  6. gpedit-startup_000

  7. Выполните шаги 1-3 для для групповой политики Shutdown, но используйте stop-vm.bat как скрипт завершения. Добавление групповой политики Shutdown не является строго обязательным, однако может быть важно запускать stop-vm.bat, если в нем содержится больше команд, чем просто завершение процесса виртуальной машины.

Все. Пользуйтесь.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA
Reload the CAPTCHA codeSpeak the CAPTCHA code