Як зупинити зависла віртуальну машину на Hyper-V

У тому випадку, якщо ваша віртуальна машина, запущена на Hyper-V з якихось причин зависла, перестала відповідати, і не реагує на кнопки включення / вимикання / перезавантаження віртуальної машини в консолі Hyper-V, єдиний швидкий спосіб примусово зупинити таку машину – «пристрелити» процес на хостовой ОС, що відповідає за дану ВМ. Покажемо як це зробити на Hyper-V, що працює на Windows Server 2016.

Отже, припустимо, що одна з ВМ на Hyper-V зависла, гостьова ОС перестала відповідати, а кнопки «Turn Off», «Shut Down» і «Reset» в консолі Hyper-V Manager стали недоступні або при натисканні повертають помилку:

Failed to change state

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

Щоб примусово зупинити / запустити таку ВМ без перезагрукі всього хостового сервера, потрібно завершити процес цієї ВМ. Для цього потрібно дізнатися GUID віртуальної машини.

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

Перейдіть в даний каталог і знайдіть каталог з ім’ям вашої віртуальної машини. Нам потрібно запам’ятати GUID, який вказаний в імені конфігураційних файлів ВМ.

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

Віртуальна машина буде зупинена. Тепер ви зможете робити з нею все що угодно.Но! Набагато простіше знайти і завершити процес зависла віртуальної машини за допомогою PowerShell. У цей випадку нам знадобиться тільки її ім’я.

Ссылка на основную публикацию