Автозапуск виртуальной машины Vmware при включении компьютера

Обновлено: 21.11.2024

До VMware Workstation Pro 16 можно было автоматически использовать функцию Shared VM для запуска виртуальных машин во время загрузки. VMware Workstation Pro 16 не поддерживает функцию Shared VM. Хотя вы по-прежнему можете его использовать, в следующей версии VMware Workstation Pro он, вероятно, будет исключен.

В этой статье я покажу вам, как написать программу VMware Autostart с использованием языка сценариев оболочки Bash и настроить systemd для автоматического запуска виртуальных машин VMware Workstation Pro 16 при загрузке. Таким образом, у вас все еще будет план резервного копирования, когда VMware Workstation Pro навсегда откажется от функции Shared VM. Итак, приступим.

Содержание

Введение в программу автозапуска VMware

Основная цель программы VMware Autostart:

1) Прочтите файл конфигурации, содержащий все виртуальные машины VMware Workstation Pro 16, которые вы хотите автоматически запускать во время загрузки.

2) Автоматически запускать настроенные виртуальные машины во время загрузки и приостанавливать их работу перед выключением или перезапуском системы.

Для этого я создал,

1) Центральный файл конфигурации ВМ config.json.

2) Автозапуск сценария оболочки Bash. Он прочитает файл конфигурации config.json, чтобы определить управляемые виртуальные машины. Он запустит или приостановит настроенные виртуальные машины в зависимости от аргумента командной строки, предоставленного сценарию оболочки во время выполнения.

3) Файл модуля systemd vmware-autostart.service. Он автоматически запустит автозапуск сценария Bash для запуска всех настроенных виртуальных машин во время загрузки. Он также запустит автозапуск сценария Bash, чтобы приостановить настроенные виртуальные машины перед выключением или перезапуском системы.

Установка необходимых зависимостей

Я использовал файл JSON config.json для хранения конфигурации виртуальной машины VMware, которую программа VMware Autostart будет использовать для определения виртуальных машин для автоматического запуска при загрузке.

Чтобы проанализировать файл конфигурации JSON из сценария оболочки Bash программы VMware Autostart, я использовал команду jq.

В Ubuntu, Debian, Linux Mint, KDE Neon и других дистрибутивах Linux на основе Debian; вы можете установить jq с помощью следующей команды:

В CentOS 8/RHEL 8 вы можете установить jq с помощью следующей команды:

После установки jq выполните следующую команду, чтобы узнать, доступен ли jq из терминала.

Написание программы автозапуска VMware

В этом разделе показано, как написать программу автозапуска VMware, и объясняется, как она работает.

Сначала создайте новый каталог проекта /opt/vmware-autostart и создайте подкаталог bin/ в каталоге проекта следующим образом:

Создайте новый файл config.json в каталоге проекта /opt/vmware-autostart с помощью следующей команды:

В файле config.json хранится список виртуальных машин VMware Workstation Pro 16, которые вы хотите автоматически запускать при загрузке.

Запись виртуальной машины VMware Workstation Pro 16 имеет только 3 свойства.

  • name — имя виртуальной машины.
  • vmxpath — абсолютный путь к файлу .vmx виртуальной машины.
  • autostart — логическое значение. Если true, виртуальная машина будет автоматически запущена во время загрузки. Если false, виртуальная машина не будет управляться программой VMware Autostart. Таким образом, он не запустится автоматически во время загрузки.

Вы можете найти имя виртуальной машины и vmxpath в приложении VMware Workstation Pro 16, как показано на снимке экрана ниже.

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

Создайте новый автозапуск сценария Bash в каталоге /opt/vmware-autostart/bin с помощью следующей команды:

Введите следующие строки кода в сценарий автозапуска оболочки.

msg_auto_answer_disable() echo "отключение msg.autoAnswer для $vm_name"
sed -i.bak -s '/^msg\.autoAnswer/d' "$vmx_path"
>

msg_auto_answer_enable() echo "включение msg.autoAnswer для $vm_name"
echo 'msg.autoAnswer = "TRUE"' >> "$vmx_path"
>

start_vm() echo "$vm_name запускается."
/usr/bin/vmrun -T ws start "$vmx_path" nogui 2>/dev/null && echo "$vm_name запущено." || echo "Не удалось запустить $vm_name."
>

suspend_vm() echo "$vm_name приостановлено."
/usr/bin/vmrun -T ws suspend "$vmx_path" hard 2>/dev/null && echo "$vm_name приостановлено." || echo "$vm_name не удалось приостановить."
>

config_file=/opt/vmware-autostart/config.json
num_vms=$(jq '.vms | length' + X, за которым следует Y, и для сохранения сценария автозапуска Bash.

Функции msg_auto_answer_disable и msg_auto_answer_enable используются для удаления и установки параметра msg.autoAnswer в файле .vmx виртуальной машины соответственно.

Если для msg.autoAnswer задано значение TRUE, виртуальные машины VMware Workstation Pro 16 не будут ждать каких-либо действий пользователя. Если этот параметр не установлен, вы не сможете запускать виртуальные машины в фоновом режиме с помощью сценария автозапуска, если для его запуска требуется какое-либо взаимодействие с пользователем.

Функция start_vm используется для запуска виртуальной машины с использованием файла .vmx виртуальной машины. Он также выводит на экран необходимые сообщения журнала.

Функция suspend_vm используется для приостановки работы виртуальной машины с помощью файла .vmx виртуальной машины. Он также выводит на экран необходимые сообщения журнала.

Некоторые переменные определены в строках 23–25.

config_file — абсолютный путь к файлу config.json.

num_vms — использует jq для подсчета количества виртуальных машин, доступных в файле config.json.

action — первый аргумент командной строки — это действие, которое необходимо выполнить. Сценарий автозапуска использует его, чтобы определить, следует ли запускать виртуальные машины или приостанавливать их работу.

Строки 27–42 используются для обхода всех доступных виртуальных машин в файле config.json, включения/отключения свойства msg.autoAnswer для каждой виртуальной машины и запуска/приостановки виртуальных машин.

В цикле строки 29–31 определяют некоторые переменные.

vm_name — использует jq для получения свойства имени виртуальной машины из файла config.json.

vmx_path — использует jq для получения свойства vmxpath виртуальной машины из файла config.json.

vm_autostart — использует jq для получения свойства автозапуска виртуальной машины из файла config.json.

Если значением действия является start, а vm_autostart (свойство autostart в config.json) равно true, удалите свойство msg.autoAnswer из файла .vmx (если существует) виртуальной машины, установите для свойства msg.autoAnswer значение TRUE. в файле .vmx виртуальной машины и запустите виртуальную машину.

Если значение действия приостановлено, а vm_autostart (свойство autostart в config.json) равно true, удалите свойство msg.autoAnswer из файла .vmx, чтобы приостановить виртуальную машину.

После создания сценария автозапуска Bash сделайте его исполняемым с помощью следующей команды:

Автоматический запуск программы VMware Autostart при загрузке

В этом разделе я создам системную службу, которая автоматически запускает сценарий автозапуска Bash во время загрузки.

Создайте новый файл vmware-autostart.service в каталоге проекта /opt/vmware-autostart следующим образом:

Введите следующие строки в файл vmware-autostart.service.

[Unit]
Description=Автоматически запускать виртуальную машину VMware
After=network.target vmware.service
Requires=network.target vmware.service
Conflicts=shutdown.target
Before=shutdown.target multi-user.target

[Service]
Type=oneshot
ExecStart=/opt/vmware-autostart/bin/autostart start
ExecStop=/opt/vmware-autostart/bin/autostart suspend
Restart=no
RemainAfterExit=yes
User=shovon
Group=shovon

После завершения нажмите + X, а затем Y и , чтобы сохранить файл vmware-autostart.service.

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

ExecStop делает обратное. Он запускает сценарий автозапуска с параметром командной строки приостановки перед выключением или перезагрузкой компьютера. Таким образом, все виртуальные машины, доступные в файле config.json, будут приостановлены при выключении или перезапуске системы.

Сценарий автозапуска будет запускаться как shovon пользователя и shovon группы. Вы должны заменить его своим Пользователем для входа и именем основной группы.

Вы можете найти своего пользователя для входа и имя основной группы с помощью следующей команды:

Сделайте символическую ссылку на файл vmware-autostart.service в каталоге /etc/systemd/system следующим образом:

$ sudo ln -s /opt/vmware-autostart/vmware-autostart.service /etc/systemd/system/vmware-autostart.service

Чтобы изменения systemd вступили в силу, выполните следующую команду:

Теперь добавьте службу systemd vmware-autostart.service в автозагрузку системы, чтобы она автоматически запускалась во время загрузки.

Тестирование программы автозапуска VMware

Чтобы убедиться, что программа работает должным образом, необходимо перезагрузить компьютер. Прежде чем сделать это, обязательно добавьте виртуальные машины, которые вы хотите автоматически запускать при загрузке, в файл /opt/vmware-autostart/config.json.

Для демонстрации я добавлю виртуальные машины ubuntu-desktop-1 и work pc 1 в файл /opt/vmware-autostart/config.json.

После завершения перезагрузите компьютер с помощью следующей команды:

После загрузки компьютера вы должны увидеть, что служба systemd vmware-autostart.service активна.

Из журналов systemd видно, что виртуальные машины ubuntu-desktop-1 и work pc 1 автоматически запустились нормально.

Чтобы убедиться, что виртуальные машины VMware Workstation Pro 16 запускаются автоматически при загрузке, выполните следующую команду:

Как видите, виртуальные машины VMware Workstation Pro 16 работают нормально.

Вы также можете убедиться, что виртуальные машины запущены из приложения VMware Workstation Pro 16, как показано на снимке экрана ниже.

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

Закройте приложение VMware Workstation Pro 16 во время работы виртуальной машины.

Нажмите «Запустить в фоновом режиме», как показано на снимке экрана ниже.

Теперь перезагрузите компьютер с помощью следующей команды:

После загрузки компьютера откройте приложение VMware Workstation Pro 16, и вы увидите, что виртуальная машина находится в том же состоянии, что и в прошлый раз (восстановлена ​​из приостановленного состояния).

Известные проблемы

Не закрывайте виртуальную машину в приложении VMware Workstation Pro 16. Программа VMware Autostart не сможет приостановить виртуальную машину, когда вы выключите или перезагрузите компьютер, оставив приложение VMware Workstation Pro 16 открытым. Люди могут редко выключать или перезагружать свой компьютер, оставляя программы открытыми. Но программу можно улучшить, обеспечив закрытие приложения VMware Workstation Pro 16 перед приостановкой работы виртуальных машин.

Репозиторий GitHub

Программа VMware Autostart, показанная в этой статье, также доступна на GitHub. Вы можете клонировать репозиторий GitHub (shovon8/vmware-autostart) этой программы, чтобы не печатать.

Заключение

В этой статье показано, как написать программу VMware Autostart для автоматического запуска виртуальных машин VMware Workstation Pro 16 при загрузке и приостановки их работы перед выключением или перезагрузкой системы.

В качестве хоста используется Windows 7. Я хочу, чтобы моя виртуальная машина запускалась с Windows в фоновом режиме, без необходимости входить в Windows и запускать ее вручную. Я также надеюсь, что виртуальную машину можно будет элегантно закрыть после завершения работы Windows.

Существует ли существующий скрипт/приложение, которое делает это?

5 ответов 5

Если вы используете VMware Workstation, вы можете сделать виртуальную машину "Общей виртуальной машиной" и настроить ее на автоматический запуск (в библиотеке щелкните правой кнопкой мыши "Общие виртуальные машины" и выберите "Управление автозапуском виртуальных машин"). По умолчанию общие виртуальные машины принудительно отключаются при выключении хоста. Вы можете изменить это, отредактировав %PROGRAMDATA%\VMware\hostd\vmAutoStart.xml и изменив значение stopAction на GuestShutdown (или на Suspend, если вы предпочитаете приостановить виртуальную машину). Вам потребуется перезапустить службу VMware Workstation Server после внесения изменений в этот файл (и вы должны закрыть все работающие общие виртуальные машины перед перезапуском службы).

Обновление: в Workstation Pro 14 пункт контекстного меню теперь называется «Управление действиями питания ВМ» и теперь поддерживает настройку автоматической приостановки работы ВМ при выключении хоста.

Угу. второй раз что-то проглядел в библиотеке | Правый клик. Жаль, что его нет в настройках экземпляра ВМ.

Это больше не работает в Workstation 16. Вернулось в 16.1 для тех, кто пожаловался, но в библиотеке отображается "(Устарело)".

Вы также можете использовать команду vmrun.

Для запуска виртуальной машины можно использовать сценарий, например:

и вы добавляете скрипт при запуске Windows.

Легко и красиво! просто укажите местоположение vmrun,exe в пути (для Windows) и поместите эту команду в файл bat и вызовите файл bat при запуске

Это лучшая альтернатива, если вам требуются функции certian, отключающие совместное использование виртуальных машин (например, общие папки!)

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

Я использую VMware Workstation 15.5.2 и запускаю фоновые ВМ с помощью этой команды:

ВМ запускается в фоновом режиме, и окно VMware не открывается.

Общие ВМ устарели:

Функция общей виртуальной машины (VMware Workstation в качестве сервера) устарела. Он останется в своем нынешнем виде до конца срока службы продукта VMware Workstation 16. Эта функция будет недоступна в будущих версиях.

Есть обходной путь. Вы по-прежнему можете запускать их вручную с помощью планировщика задач через vmrun. Но я не делал этого лично, поэтому не могу предоставить подробности.

Отличное обновление новостей: я нашел обсуждение в январе 2021 года, в котором mikeroySoft из VMware рассказал некоторые подробности:

Чтобы было ясно, на самом деле устаревает только базовая структура, которую мы используем для предоставления этой функции. Я ожидаю, что в будущем у нас появится новый способ «автозапуска виртуальных машин».

Функция общей виртуальной машины использует этот огромный компонент из ESXi, который как бы исчерпал себя при портировании в наш стек. (Hostd для любопытных. ) но мы планируем реализовать это без hostd в будущем.

Итак, ответ таков: текущая функция будет удалена в VMware Workstation 17. К счастью, они ищут способы реализации автозапуска ВМ по-другому после того, как функция «Общие ВМ» будет удалена. Надеемся, что новый метод будет готов сразу после запуска версии 17.

Вы можете настроить виртуальные машины, работающие на хосте ESXi, для запуска и завершения работы вместе с хостом или после задержки. Вы также можете установить время и порядок запуска по умолчанию для виртуальных машин. Таким образом, у операционной системы будет достаточно времени для сохранения данных, когда хост переходит в режим обслуживания или отключается по другой причине.

Параметр Запуск и завершение работы виртуальной машины (автоматический запуск) отключен для всех виртуальных машин, находящихся на узлах, входящих в кластер высокой доступности vSphere. Автоматический запуск не поддерживается в vSphere HA.

Примечание. Вы также можете создать запланированную задачу для изменения параметров питания виртуальной машины. См. vCenter Server и управление хостами .

Процедура

  1. В веб-клиенте vSphere перейдите к хосту, на котором расположена виртуальная машина, и выберите его.
  2. Перейдите на вкладку "Настройка".
  3. В разделе "Виртуальные машины" выберите "Запуск/выключение ВМ" и нажмите "Изменить" .

Когда вы отключаете хост ESXi, диспетчер автозапуска инициирует автоматическое завершение работы первой виртуальной машины и ждет в течение определенного времени задержки, пока виртуальная машина завершит действие по включению питания. Действие питания может быть отключено, гостевое завершение работы или приостановка.

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

  • Гостевое завершение работы
  • Выкл.
  • Приостановить
  • Нет

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

  1. Чтобы изменить порядок запуска виртуальных машин, выберите виртуальную машину из категории "Запуск вручную" и с помощью стрелки вверх переместите ее вверх в категории "Автоматический запуск" или "Любой порядок".

Если вы выберете Продолжить, если установлены инструменты VMware, хост ESXi включит следующую виртуальную машину, не дожидаясь окончания задержки. Если вы выберете Не продолжать, если установлены инструменты VMware, хост ESXi будет ждать, пока пройдет задержка.

По умолчанию виртуальные машины, расположенные на VMWare ESXi (бесплатный гипервизор) или VMWare Workstation, не запускаются автоматически при загрузке хоста.Это означает, что после перезагрузки хоста ESXi/Workstation (запланированная перезагрузка или сбой) администратор должен вручную запустить все виртуальные машины. В этом руководстве мы покажем, как настроить автозапуск виртуальных машин на хосте ESXi и VMWare Workstation без вмешательства администратора.

Как настроить автозапуск ВМ на VMware ESXi?

Сначала откройте браузер и перейдите на страницу экрана входа в веб-клиент VMware. Затем войдите в систему. В консоли веб-клиента выберите хост ESXi, который вы хотите настроить для автозапуска виртуальных машин. Затем перейдите на следующую вкладку «Управление» > «Система» > «Автозапуск».

Совет. Если ваш хост ESXi управляется vCenter Server и является частью кластера vSphere HA, вы не можете настроить автозапуск и завершение работы ВМ таким образом. Это происходит потому, что кластер высокой доступности отвечает за доступность виртуальных машин.

Как видите, все виртуальные машины, расположенные на данном ESXi, не настроены на автоматический запуск (порядок автозапуска = не установлен). Это означает, что после перезагрузки хоста вам придется запускать их вручную.

Для автоматической загрузки необходимо включить автозапуск для ВМ.

Выберите виртуальную машину, которую вы хотите загрузить автоматически, и нажмите «Включить».

В поле Порядок автозапуска должно отображаться значение 1. Это означает, что эта виртуальная машина будет загружаться первой после загрузки хоста ESXi. С помощью кнопок «Начать позже» и «Начать раньше» вы можете управлять порядком запуска виртуальных машин.

При настройке автозапуска виртуальных машин администратор хоста ESXi должен правильно настроить порядок загрузки. Например, сначала должен загружаться контроллер домена, затем серверы Exchange или запускать сервер приложений только после загрузки MSSQL VM и т. д.

Вы можете настроить другие параметры автозапуска ВМ, нажав кнопку Настроить. В окне Настройка автозапуска доступны следующие параметры для точной настройки автоматического запуска ВМ.

Существуют общие параметры запуска и завершения работы:

  • Задержка запуска — сколько секунд ВМ ждут перед включением (по умолчанию 120 секунд). После того как хост ESXi включит первую виртуальную машину, хост выжидает указанное время задержки, а затем включает следующую виртуальную машину. Эта задержка позволяет дождаться загрузки пользовательских сервисов и выполнения скриптов;
  • Задержка выключения — указывает время задержки перед выключением каждой виртуальной машины (по умолчанию 120 секунд). Если виртуальная машина не выключается в течение указанного времени задержки, виртуальной машине отправляется команда принудительного завершения работы;
  • Действие остановки — для каждой ВМ доступно 4 действия по завершению работы: «Системное значение по умолчанию», «Завершение работы», «Приостановка работы» или «Отключение питания». Используйте возможности VMware Tools, которые необходимо предварительно установить в гостевую операционную систему. По умолчанию используется действие «Выключить».
  • Ждать пульса — если этот параметр включен, последовательность включения продолжается после получения первого пульса от виртуальной машины. Для этого в гостевой ОС виртуальной машины должны быть установлены инструменты VMWare. После того как виртуальная машина ESXi загрузится, сразу же перейдите к следующей виртуальной машине, как только инструменты виртуальной машины отправят пульс, сигнализирующий о ее запуске (вместо ожидания интервала задержки запуска).

Доступны следующие действия остановки:

  • Системные настройки по умолчанию — глобальные настройки действия остановки применяются к виртуальной машине (от Host > Manage > Autostart);
  • Power Off — принудительное отключение ВМ. Это эквивалентно тому, что вы физически выдергиваете шнур питания из физического компьютера. Это действие немедленно убивает виртуальную машину без изящной остановки служб, сохранения файлов или кеша;
  • Приостановить — состояние работающей виртуальной машины (включая память, подкачку, инструкции ЦП) сохраняется в файлах в вашем хранилище данных. Виртуальную машину можно вывести из спящего режима точно в тот же момент позже;
  • Завершение работы — корректное завершение работы ВМ. Чтобы эта функция работала, в гостевой ОС должен быть установлен VMTools, который отправляет команду на правильное завершение работы ОС.

Нажмите "ОК", чтобы сохранить изменения и закрыть диалоговое окно.

Вы можете настроить параметры автозапуска, которые будут применяться ко всем новым виртуальным машинам на хосте ESXi. Для этого нажмите кнопку «Изменить настройки» в верхней части диалогового окна «Автозапуск».

Чтобы включить автозапуск для всех ВМ, измените параметр Включено на Да. И выберите задержку запуска/остановки и действие остановки.

Совет. Если вы не настроили высокую доступность, но есть возможность перемещать виртуальные машины между хостами с помощью vMotion, параметры запуска переносятся на конечный хост с виртуальной машиной.

Настройка автозапуска ВМ с помощью PowerCLI

Кроме того, вы можете настроить автозапуск виртуальной машины с помощью PowerCLI. Показать список действий по автозапуску для всех ВМ на хосте:

Чтобы включить автоматический запуск для всех ВМ, имя которых начинается с lon-, выполните следующую команду:

Вот оно! Вы успешно настроили автоматический запуск виртуальных машин в VMWare ESXi или vSphere Center.

В VMWare ESXi 6.0 возникла странная ошибка. Несмотря на то, что для виртуальных машин настроен приоритет автозапуска, после перезагрузки хост-сервера автоматически запускается только первая виртуальная машина. Вторая виртуальная машина упорно отказывается загружаться.

Чтобы решить эту проблему, вам необходимо включить SSH-доступ на ESXi и подключиться к хосту с помощью любого SSH-клиента (например, Putty).

Получить список идентификаторов виртуальных машин:

Теперь проверьте параметры запуска ВМ:

Как видите, в этом случае первая ВМ с идентификатором 1 настроена на автозапуск (startAction = «powerOn»), а вторая — нет (startAction = «none»).

В этом случае достаточно перерегистрировать проблемную ВМ на хосте с помощью команд:

Еще раз проверьте параметры запуска:

Убедитесь, что значение startAction новой виртуальной машины изменилось на powerOn.

Автозапуск виртуальных машин VMware Workstation при загрузке

Программное обеспечение для виртуализации рабочих столов VMware Workstation также не позволяет автоматически запускать виртуальные машины при загрузке Windows. Для запуска ВМ из командной строки можно использовать утилиту vmrun.exe. Он находится в папке с установленной Рабочей станцией.

Вы можете запустить любую виртуальную машину, создав следующий командный файл AutoStartVM.bat.

Вторая строка кода используется для создания 40-секундной задержки перед запуском второй виртуальной машины. Этот bat-файл можно поместить на рабочий стол (и запустить вручную двойным щелчком мыши), добавить в автозагрузку Windows или запустить заданием планировщика задач.

Вы также можете преобразовать свою виртуальную машину в общую ВМ (ВМ > Управление > Общий доступ).

Выберите в главном окне Shared VMs > Manage AutoStart VMs.

В открывшемся окне Настройка автозапуска вы можете выбрать, какие виртуальные машины будут запускаться вместе с хостом. Вы также можете изменить задержку между запуском каждой виртуальной машины (в секундах).

Мне нравится технология и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.

В этом руководстве я покажу вам, как запустить виртуальную машину Vmware Workstation в фоновом режиме и автоматически после перезагрузки, используя пакетный файл в папке автозагрузки или планировщик заданий Windows< /эм>. Это означает, что после перезагрузки хост-компьютера или сервера ваша виртуальная машина автоматически запустится без необходимости запуска VMware Workstation Player. Это также заставит его работать в фоновом режиме, поэтому у вас не останется открытой программы, занимающей место на панели задач.

В предыдущих версиях VMware можно было просто щелкнуть X в окне проигрывателя, и появится всплывающее окно с вопросом, хотите ли вы запустить его в фоновом режиме. Я не знаю, почему они убрали эту функцию в Workstation 16, но это простой способ добиться того же эффекта.

Другие полезные руководства:

Проверьте папку установки VMware

По умолчанию VMware должна работать в папке C:\Program Files (x86)\VMware\VMware Workstation. Внутри этой папки находится VMrun.exe.

После подтверждения правильности можно переходить к следующему шагу.

Найти путь к файлу .VMX

Перейдите к пути, по которому хранится файл конфигурации виртуальной машины (.vmx). В этом примере я собираюсь автоматически запускать Home Assistant после перезагрузки хост-компьютера с Windows 10.

Мой находится в C:\HomeAssistant:

Вариант 1. Запуск виртуальной машины Home Assistant после входа в систему

Эта опция автоматически запустит виртуальную машину Home Assistant после входа в систему на вашем ПК. Для этого мы создадим простой пакетный файл и поместим его в папку «Автозагрузка».Если вы используете USB-ключ zwave/zigbee (я использую Nortek GoControl), обязательно следуйте этому руководству, чтобы автоматически подключать USB-накопители к VMware Workstation.

Перейдите на рабочий стол. Щелкните правой кнопкой мыши > Создать новый текстовый документ.

Дважды щелкните, чтобы открыть, а затем вставьте эту команду. Вам нужно будет изменить путь к вашему собственному файлу .vmx.

Nogui в конце указывает VMware запустить виртуальную машину Home Assistant, не открывая окно VMware Workstation Player, что означает, что она будет работать в фоновом режиме.

Затем сохраните файл. «Файл» > «Сохранить как» > и измените «Тип файла» на «Все файлы».

Назовите файл, например, Autostart Home Assistant.bat.

Переместить пакетный файл в папку автозагрузки окна

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

Откройте Run > введите Shell:Common Startup

Просто перетащите пакетный файл в эту папку и нажмите "Да" в приглашении администратора.

Поздравляем! Home Assistant теперь будет работать в фоновом режиме без графического интерфейса после входа в систему!

  • Обеспечивает интерфейс между ПК и сетью Z-Wave/Zigbee.
  • Подключается к стандартному USB-порту хост-устройства.
  • Работает со сторонним программным обеспечением для домашней автоматизации.

Купить на Amazon Последнее обновление от 09.03.2022 / Партнерские ссылки / Изображения из Amazon Product Advertising API

Вариант 2. Запустите виртуальную машину VMware Workstation с помощью планировщика заданий (без входа в систему)

Эта опция автоматически запускает Home Assistant после перезагрузки компьютера без необходимости входа в систему. Это может быть полезно, если ваш компьютер перезагружается для обновлений или если вы отключили питание.

Если вы используете USB-ключ zwave/zigbee (я использую Nortek GoControl), обязательно следуйте этому руководству, чтобы сначала автоматически подключить USB-накопители к VMware Workstation.

  1. Найдите в Windows планировщик заданий.
  2. Щелкните правой кнопкой мыши на библиотеке планировщика заданий >Создать задачу.
  3. Дайте ему имя, выберите «Выполнить», независимо от того, вошел ли пользователь в систему или нет >, и настройте для Windows 10.
  4. В разделе «Триггеры» запустите задачу «При запуске». Убедитесь, что флажок Включено установлен.
  5. В разделе "Действия" выберите "Запустить программу"
    1. Программа/скрипт: укажите путь к пакетному файлу Autostart Home Assistant. (для меня это «C:\Scripts\Autostart Home Assistant.bat») Я использовал кавычки, но не уверен, что это необходимо.

    Протестировать

    Для варианта 1: перезагрузите компьютер и войдите в систему. Если все пойдет хорошо, ваша виртуальная машина Home Assistant (или любая другая виртуальная машина, которую вы хотите) должна автоматически запускаться в фоновом режиме без графического интерфейса рабочей станции VM!

    Для варианта 2: перезагрузите компьютер, но не входите в систему. Подождите около 1–2 минут, затем откройте мобильное приложение Home Assistant. Если все пойдет хорошо, запланированная задача должна быть запущена, и ваша виртуальная машина Home Assistant должна работать в фоновом режиме без графического интерфейса!

    Во время тестирования вы должны переключать устройства zwave и zigbee, чтобы убедиться, что USB-накопитель был обнаружен.

    Сообщите мне в комментариях ниже, помогло ли вам это руководство!

    Мои любимые домашние помощники

    • Концентратор Zwave/Zigbee: Nortek GoControl HUSBZB-1
    • Умные розетки: Securifi Peanut.
    • Датчики движения: Hue Indoor Motion
    • Наружная камера: башня Amcrest IP5M
    • Робот-пылесос: Roborock S7

    Полный список всех совместимых с Home Assistant и рекомендуемых устройств, которые я использую, можно найти на моей странице списка оборудования.

    Читайте также: