Windows 2012 r2 hyper v висит vm идет остановка

Обновлено: 04.07.2024

и проверку, что все установилось правильно.

Display Name Name
------------ ----
[X] Remote Desktop Services Remote-Desktop-Services
[X] Remote Desktop Virtualization Host RDS-Virtualization

при этом в hyper-v можно сменить Версию конфигурации с 5 (которая работала на 8,1) до 7й (вероятно она используется на W10
изменение ничего не даёт..

Установка удаление службы hyper-v ни к чему не приводит
перенастройка сетевых устройств так же ни к чему не приводит

Добавлено:
И еще один вопрос: как правильно:

1) hyper-v отдельный без домена и в нем одна ВМ с контролером домена и одна ВМ с ролью терминала
2) Контроллер домена с доп.ролью hyper-v и одна ВМ с ролью терминала

по второму вопросу - Управлять Hyper-V удобнее с домена. Можно виртуалку с DC поставить в автозапуск при рестарте сервера Hyper-V. В особо трудных ситуациях можно зайти и под локальным пользователем и запустить ВМ. Если сервер с GUI - можно без домена, а если в core тогда вам потребуются хорошие знания WinRM, PowerShell и крепкие нервы . К серверу можно подключаться 1) по RDP, 2) консолькой Hyper-V Manager (пользователя можно указать локального), 3) VT Technology Management Utilities for Hyper-V

у меня роутер тп-линк 841, прошит на openwrt. И если на 12 прошивке еще можно что-то добавить в него из доп.софта (ddns например), то в 15 уже нет. Тупо нехватает памяти. Так что тут еще надо посмотреть что безопасней: держать роутер с старой прошивкой или ставить что-то новее на виртуалку.
За VT Tehnology отдельное спасибо, посмотрю

Запустить/остановить
Start-VM/Stop-VM "VMName"

Сделать снимок
Get-VM "VMName" | Checkpoint-VM

Посмотреть снимки
Get-VM "VMName" | Get-VMSnapshot -Name "before i install this minor update on SQL on xxx" | Restore-VMSnapshot -Confirm:$false

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

есть сервер с hyper-v. не в домене
и обычные пользовательские машины winxp+ (в домене и без)
на них и будут выполнять скрипты по управлению виртуалками
з.ы. локально на сервере все работает

date

26.10.2020

directory

PowerShell, Windows Server 2016, Windows Server 2019

comments

комментария 2

Если ваша виртуальная машина, запущенная на хосте Hyper-V зависла по каким-то причинам, перестала отвечать, и не реагирует на кнопки включения, выключения, перезагрузки в консоли Hyper-V, единственный быстрый способ принудительно остановить такую машину — завершить процесс этой ВМ в хостовой ОС. Покажем, как принудительно перезагрузить ВМ в Hyper-V на Windows Server 2016/2019 без перезагрузки всего сервера и запущенных ВМ (если у вас нет HA кластера Hyper-V и Live-Migration).

Виртуальная машина Hyper-V зависла в статусе Stopping, Starting

Итак, предположим, что одна из ВМ на Hyper-V зависла в состоянии Stopping (Stopping-Critical)/ Starting (Starting 10%).

Виртуальная машина hyper зависла в статусе stopping

Гостевая ОС перестала отвечать, а кнопки “Turn Off”,” Shut Down” и” Reset” в консоли Hyper-V Manager стали недоступны либо при нажатии возвращают ошибку:

The operation cannot be performed while the object is in its current state

Ошибка Hyper-V: Connecting to Virtual Machine Management service

перезапустить службу vm management service hyper v

Завершение процесса зависшей ВМ с помощью Task Manager

Единственный способ принудительно выключить/ перезапустить такую зависшую виртуальную машину без перезагрузки всего хостового сервера Hyper-V – завершить ее рабочий процесс на гостевой ОС. Все ВМ на хосте Hyper-V запускаются с помощью процесса vmwp.exe (Virtual Machine Worker Process). Для поиска процесса нужно узнать GUID виртуальной машины.

Настройки hyper v manager

Определить GUID ВМ можно через консоль управления Hyper—V Manager. Откройте настройки сервера (Hyper—V Settings). В разделе Server указано каталог, в котором хранятся конфигурационные файлов ВМ (в нашем примере D:\VMStore).

Откройте этот каталог в File Explorer и найдите каталог с именем зависшей виртуальной машины. Скопируйте GUID, который указан в имени конфигурационного файла ВМ с расширением *.vmcx.

hyper-v guid виртуальной машины

Теперь нужно запустить диспетчер задач (Task Manager) и перейти на вкладку Details. Все виртуальные машины запускаются в рамках собственного экземпляра процесса vmwp.exe. Чтобы определить какой процесс за какую ВМ отвечает, нам нужен полученный ранее GUID зависшей ВМ. Найдите процесс vmwp.exe, у которого в столбце User name указан GUID вашей ВМ. Завершите данный процесс (End Task).

Завершить процесс зависшей вирулаьной машины Hyper-V

Виртуальная машина будет принудительно остановлена. Теперь вы сможете делать с ней все что угодно.

Сбросить зависшую ВМ на Hyper-V VM с помощью PowerShell

Гораздо проще найти и завершить процесс зависшей виртуальной машины с помощью PowerShell. Запустите консоль PowerShell с правами администратора (учетная запись должна состоять в локальной группе Hyper-V administrators).

В этом случае встроенный командлет Stop-VM не позволит вам выключить ВМ. Если попробовать выполнить команду Stop-VM –Force , она также зависает. Очевидно ожидает ответа от ВМ.

В этом случае также нужно завершить процесс ВМ по ее ID. Можно получить GUID ВМ с по ее имени. Например, для ВМ с именем SVM-GUARDEDHOST1, выполните команду:

$VMGUID = (Get-VM "SVM-GUARDEDHOST1").ID

Get-VM | Select Name, Id

powershell получить id виртуальных машин

Скопируйте GUID нужной ВМ из полученного списка.

Теперь нужно найди идентификатор процесса (PID) ‘vmwp.exe’ для вашего VMGUID:

Затем с помощью команды Stop-Process нужно принудительно завершить этот процесс:

Stop-Process ($VMWMProc.ProcessId) –Force

powershell остановить зависшую ВМ

Вот так несложно можно принудительно завершить рабочий процесс подвисшей виртуальной машины Hyper-V.

Совет. У нас также описана аналогичная процедура по завершению процесса зависшей ВМ на хосте VMWare ESXi.

Hyper-V: Не удалось изменить состояние виртуальной машины

Иногда бывает, что даже после завершения зависшего процесса вы не можете включить ВМ и она зависает в статусе Starting с ошибкой:

hyper v ошибка запуска ВМ failed to change state

В этом случае проверьте следующие варианты:

hyper v сетевая карта с configuration error

  • Проверьте что на диске, на котором хранятся файлы ВМ достаточно свободного места;
  • Если в настройках ВМ подключен ISO образ, проверьте его доступность;
  • Проверьте сетевые настройки ВМ. Виртуальные сетевые адаптеры должны быть подключены к существующему виртуальному коммутатору Hyper-V (не должно быть статуса Network Adapter – Configuration Error);
  • Проверьте, что служба Hyper-V Virtual Management Service (VMMS) запушена, и не зависла в статусе Stopping;
  • Убедитесь, что ваш антивирус не блокирует доступ к файлам ВМ. Добавьте пути к каталогу ВМ в исключения антивируса ( см. как добавить исключения во встроенный антивирус Windows Server 2016 – Windows Defender);
  • Проверьте ошибки в журнале событий Event Viewer -> Applications and Services Logs -> Microsoft -> Windows -> Hyper-V-Worker.

Если по какой-либо причине ваша виртуальная машина работает на Hyper-V перестает работать, перестает отвечать и не запускается / не завершается / не перезагружается после нажатия соответствующих кнопок на консоли Hyper-V, единственный вариант решения этой проблемы - убить его силой. Процесс, отвечающий за эту виртуальную машину в операционной системе хоста. Мы собираемся показать вам, как принудительно перезапустить Hyper-V в зависимости от виртуальные машины под управлением Windows Server 2016/2019 без перезагрузки всего хоста и запущенных виртуальных машин (если у вас нет кластера Hyper-V. HA и без живой миграции).


Например, предположим, что одна из ваших виртуальных машин Hyper-V либо выключена (критическое завершение работы), либо находится в состоянии запуска (запуск x%).

Гостевая операционная система не отвечает, а кнопки «Выключить», «Завершение работы» и «Сброс» в Hyper-V недоступны или при нажатии возвращает следующую ошибку:

  • Приложение обнаружило ошибку при попытке изменить состояние виртуальной машины.
  • Статус нельзя изменить.
  • Операция не может быть выполнена, пока объект находится в текущем состоянии.

Убить виртуальную машину


С помощью kill мы не хотим полностью избавляться от виртуальной машины. Скорее, это означает завершение зависимого процесса виртуальной машины и ее обычный перезапуск. Это довольно простой процесс, когда на главном компьютере работает одна виртуальная машина. Если вы это сделаете, вы можете пропустить некоторые шаги, которые мы перечислим ниже, чтобы найти GUID проблемной виртуальной машины.

Если у вас небольшое количество виртуальных машин:

  • Откройте диспетчер задач и откройте вкладку «Подробности».
  • Вы увидите, сколько процессов vmwp.exe запущено в столбце «Имя пользователя», включая GUID компьютера.
  • Перейдите в расположение виртуальных машин и откройте папку для виртуальной машины, заблокированной в данный момент. Оттуда мы можем найти файл конфигурации для машины и записать GUID этой машины.
  • Теперь мы знаем, какой GUID относится к виртуальной машине, которую мы хотим выключить. Вернитесь в диспетчер задач, щелкните правой кнопкой мыши нужный процесс и остановите процесс.
  • НОТА. Этот процесс следует использовать только в крайнем случае, так как он может повредить виртуальную машину!

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

Самый быстрый способ - найти правильный GUID для виртуальной машины с помощью команды Powersell.

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

Ноябрьское обновление 2021:

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

скачать

Эта команда получает список имен виртуальных машин и идентификаторов GUID и сравнивает его со списком идентификаторов GUID в командной строке запущенных процессов. Он возвращает имена виртуальных машин с соответствующим идентификатором процесса (не GUID виртуальной машины).

Get-WmiObject Win32_Process -Filter «Имя как '% vmwp%'» | % . CommandLine.split (“) [1]; «$ ($ . processID) `t $ ($ vm.name)«>.

Загрузите Process Explorer из Microsoft Sysinternals


Экран обозревателя процессов состоит из двух панелей. В верхнем окне всегда отображается список активных в данный момент процессов, включая имена их собственных учетных записей, а информация, отображаемая в нижнем окне, зависит от режима, в котором находится Process Explorer: если он находится в режиме Handle, это означает, что открыт процесс, выбранный в верхнем окне; когда Process Explorer находится в режиме DLL, он отображает библиотеки DLL и файлы карты памяти, загруженные процессом. В Process Explorer также есть мощная функция поиска, которая быстро показывает, какие процессы имеют определенные открытые дескрипторы или загруженные библиотеки DLL.

Уникальные функции Process Explorer делают его полезным для отслеживания проблем с версиями DLL или устранения неполадок, а также для получения обзора Windows и приложений.

Изменить настройки питания


Фактически, настройки питания вашего хост-компьютера Windows также могут влиять на состояние ваших виртуальных машин Hyper-V. Один респондент, столкнувшийся с той же проблемой, сказал, что изменение дисплея таким образом, чтобы он никогда не выключался, решило проблему для них. Так что попробовать стоит. Вот как это делается:

  • Откройте меню «Пуск», нажав клавишу Windows и выполнив поиск по запросу Power Plan.
  • Нажмите Enter, чтобы увидеть результат.
  • Оттуда во всплывающем меню установите для параметра «Отключить отображение» значение «Никогда».
  • Наконец, нажмите кнопку «Сохранить изменения».

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.


Когда это происходит, виртуальная машина отказывается останавливаться, и, следовательно, ее нельзя запустить, чего вы не хотите. Это может произойти по ряду причин, которые мы упомянем ниже. Однако прежде чем мы начнем, важно упомянуть, что иногда проблема просто вызвана устаревшим хост-компьютером Windows. Поэтому, прежде чем начать работу с этой статьей, убедитесь, что вы установили все доступные обновления Windows. С учетом сказанного, давайте начнем.

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

Метод 1: убить виртуальную машину

Убивая, мы не имеем в виду полностью избавиться от виртуальной машины. Скорее, это означает завершение процесса зависшей виртуальной машины, чтобы вы могли снова запустить ее в обычном режиме. Это довольно простой процесс, если у вас есть одна виртуальная машина, работающая на хост-машине. Если вы это сделаете, вы можете пропустить некоторые из шагов, которые мы собираемся перечислить ниже, которые помогают найти GUID проблемной виртуальной машины.

Если у вас несколько виртуальных машин, вы не можете просто убить рабочий процесс виртуальной машины или vmwp.exe, не зная GUID застрявшей виртуальной машины, поскольку процесс появляется несколько раз в диспетчере задач. Когда у вас есть GUID, вы можете найти процесс, соответствующий этому идентификатору, и убить его, не беспокоясь.

Для этого следуйте инструкциям ниже:

  1. Запишите VMId, так как он вам понадобится, пока вы найдете правильный процесс для завершения.Поиск VMId
  2. После этого откройте Диспетчер задач, щелкнув правой кнопкой мыши панель задач и выбрав Диспетчер задач в появившемся меню.
  3. Когда откроется диспетчер задач, переключитесь на вкладку «Подробности».
  4. Теперь найдите процесс vmpw.exe, нажав кнопку V. Вы обнаружите несколько процессов, если у вас работает несколько виртуальных машин.Рабочий процесс виртуальной машины
  5. Используйте идентификатор, который вы нашли ранее, чтобы найти нужный процесс.
  6. Наконец, выделите процесс, имя пользователя которого соответствует идентификатору, и нажмите кнопку «Завершить задачу».

Метод 2: изменить параметры питания

Как оказалось, параметры питания вашей хост-машины с Windows также могут влиять на состояние ваших виртуальных машин Hyper-V. Один из столкнувшихся с той же проблемой сказал, что изменение дисплея, чтобы никогда не выключаться, решило проблему для них. Таким образом, выстрел стоит того. Вот как это сделать:


  1. Откройте меню «Пуск», нажав клавишу Windows, а затем найдите Power Plan.
  2. Нажмите Enter на показанном результате.
  3. Оттуда измените параметр Отключить отображение на Никогда в раскрывающемся меню.Варианты схемы электропитания
  4. Наконец, нажмите кнопку Сохранить изменения.

Метод 3: отключить RRAS


  1. Прежде всего, откройте диалоговое окно «Выполнить», нажав клавиши Windows + R.
  2. В диалоговом окне «Выполнить» введите services.msc и нажмите клавишу ВВОД.
  3. В окне «Службы» найдите службу маршрутизации и удаленного доступа. Чтобы сделать это легко, нажмите кнопку R один раз, чтобы перейти к службам, начинающимся с буквы R.
  4. После обнаружения дважды щелкните службу, чтобы открыть окно свойств.Служба RRAS
  5. Если служба запущена, остановите ее, нажав кнопку «Стоп».
  6. После остановки службы выберите Отключено в раскрывающемся меню Тип запуска.
  7. Перезагрузите систему.

Метод 4: перезагрузите хост-машину

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

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

Применяется к: Windows Server 2012 R2
Исходный номер КБ: 3058418

Симптомы

Рассмотрим следующий сценарий.

  • Вы работаете Windows Server 2012 R2 на компьютере с подключенным бесперебойным питанием (UPS) или на ноутбуке.
  • Эта Windows Server 2012 R2 имеет Hyper-V роли и принимает виртуальные машины.
  • Батарея не работает.
  • Операционная система хост-системы закрывается из-за низкого уровня заряда батареи.
  • После перезапуска компьютера вы заметите, что виртуальные машины находятся в остановленном состоянии и ошибки регистрируются в журналах событий виртуальной машины.

В этом сценарии настроенные действия остановки хостов для виртуальной машины (Stop VM, Save VM state, Shut down VM) не работают так, как ожидалось, и виртуальные машины не будут изящно закрыты или сохранены. Это поведение может быть указано в следующих записях журнала событий на гостевом VMs:

Имя журнала: Microsoft-Windows-Hyper-V-worker-Admin
Источник: Microsoft-Windows-Hyper-V-worker
ID события: 18590
Уровень: критический
Описание:
'Guestname' столкнулся со смертельной ошибкой. Гостевая операционная система сообщила, что она не справилась со следующими кодами ошибок: ErrorCode0: 0xEF, [дополнительные сведения переменной]

ID события: 6008
Источник: Журнал событий
Тип: Ошибка
Описание:
Предыдущее отключение системы в Time on Date было неожиданным.

Причина

Когда отключение вызвано низкой батареей (низкий или критический уровень), службы, работающие в системе, не уведомлены о закрытии. Такое поведение происходит из-за того, что отключение чистой операционной системы имеет приоритет над службами остановки, так как службы остановки могут блокировать остановки на длительный период. Поскольку Hyper-V для запуска настроенных действий на гостевой VMs настраиваются уведомления, настроенные действия не запускаются до отключения хоста.

Это поведение не применяется, когда система закрыта сторонним программным обеспечением UPS.

Решение

При запуске сервера Hyper-V с присоединенным upS используйте программное обеспечение производителя UPS для правильной обработки пороговых уровней батареи и при необходимости инициировать регулярное отключение системы.

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