Ako zastaviť zmrazený virtuálny počítač na Hyper-V?

Ak váš virtuálny počítač bežiaci na hostiteľovi Hyper-V z nejakého dôvodu zavesí, prestane reagovať a nereaguje na tlačidlá napájania, vypínania a resetovania v konzole Hyper-V, jediným rýchlym spôsobom, ako vynútiť zastavenie tohto počítača, je ukončiť proces tohto VM v hostiteľský OS. Ukážeme, ako vynútiť reštartovanie VM v Hyper-V na Windows Server 2016/2019 bez reštartovania celého servera a spustenia VM (ak nemáte klaster HA Hyper-V a Live-Migration).

obsah:

  • Virtuálny stroj Hyper-V zamrzne v stave Zastaviť, Štart
  • Chyba Hyper-V: Pripojenie k službe správy virtuálnych strojov
  • Dokončenie zaveseného procesu VM pomocou Správcu úloh
  • Obnovte zavesený virtuálny počítač na VM Hyper-V pomocou PowerShell
  • Hyper-V: Nepodarilo sa zmeniť stav virtuálneho počítača

Virtuálny stroj Hyper-V zamrzne v stave Zastaviť, Štart

Predpokladajme teda, že jeden z virtuálnych počítačov na Hyper-V je v stave zmrazený zastavenie (Kritické zastavenie) / štartové (Počnúc 10%).

Hosťujúci OS prestal reagovať a tlačidlá „Vypnúť“, „Vypnúť“ a „Obnoviť“ v konzole Hyper-V Manager sa stali nedostupnými alebo pri stlačení vrátili chybu:

Predpokladajme teda, že jeden z virtuálnych počítačov na serveri Hyper-V prestane fungovať, hosťovský OS prestane reagovať a tlačidlá „Vypnúť“, „Vypnúť“ a „Obnoviť“ v konzole Hyper-V Manager sa stanú nedostupnými alebo po stlačení vrátia chybu:

Nepodarilo sa zmeniť stav Operáciu nie je možné vykonať, keď je objekt v aktuálnom stave 

Chyba Hyper-V: Pripojenie k službe správy virtuálnych strojov

Ak váš Hyper-V nezobrazuje virtuálne počítače v konzole Hyper-V Manager, vráti sa „Pripája sa k službe správy virtuálnych strojov", Musíte reštartovať proces vmms.exe (služba správy virtuálnych strojov Hyper-V). Toto je bezpečná operácia a nenaruší bežiace virtuálne stroje. Najjednoduchší spôsob, ako reštartovať proces vmms.exe, je prostredníctvom služby vmms a prostredníctvom konzoly services.msc alebo príkaz:

Get-Service vmms | Reštartujte službu

Dokončenie zaveseného procesu VM pomocou Správcu úloh

Jediným spôsobom, ako vynútiť vypnutie / reštart tohto zmrazeného virtuálneho počítača bez reštartovania celého hostiteľského servera Hyper-V, je ukončiť jeho pracovný tok v hosťujúcom OS. Všetky VM na hostiteľovi Hyper-V sa proces začali používať. vmwp.exe (Virtual stroj robotník proces). Ak chcete hľadať proces, musíte zistiť identifikátor GUID virtuálneho počítača.

Identifikátor VM GUID môžete určiť pomocou riadiacej konzoly Hyper v manažér. Otvoriť nastavenia servera (Hyper v nastavenie). Sekcia Server označuje adresár, v ktorom sú uložené konfiguračné súbory VM (v našom príklade D: \ VMStore)..

Otvorte tento adresár v programe Prieskumník a vyhľadajte adresár s názvom zmrazeného virtuálneho počítača. Skopírujte GUID zadané v názve konfiguračného súboru VM s príponou * .vmcx.

Teraz musíte spustiť Správcu úloh (úloha manažér) a prejdite na kartu podrobnosti. Všetky virtuálne stroje bežia ako súčasť vlastnej inštancie procesu. vmwp.exe. Na určenie toho, ktorý proces je zodpovedný za ktorý VM, potrebujeme skôr získané GUID visiaceho VM. Nájdite proces vmwp.exe, ktorý obsahuje stĺpec užívateľ názov Je zadaný identifikátor GUID vášho VM. Dokončite tento proces (Ukončenie úlohy).

Virtuálny stroj bude musieť zastaviť. Teraz s ňou môžete robiť čokoľvek.

Obnovte zavesený virtuálny počítač na VM Hyper-V pomocou PowerShell

Pomocou PowerShell je oveľa ľahšie nájsť a dokončiť proces zaveseného virtuálneho stroja. Spustite konzolu PowerShell s oprávneniami správcu (účet musí byť v miestnej skupine správcov Hyper-V).

V takom prípade vám zabudovaný cmdlet Stop-VM nedovolí vypnúť VM. Ak sa pokúsite príkaz spustiť Stop-VM -Force, ona tiež zamrzne. Očividne čaká na odpoveď od VM.

V tomto prípade musíte tiež vyplniť proces VM podľa jeho ID. Identifikátor VM GUID môžete získať podľa jeho názvu. Napríklad pre VM s názvom SVM-GUARDEDHOST1 spustite príkaz:

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

Ak nechcete zadať celé meno VM, môžete uviesť zoznam všetkých VM zaregistrovaných na tomto hostiteľovi Hyper-V:

Get-VM | Vyberte Meno, Id

Skopírujte GUID požadovaného VM zo zoznamu.

Teraz musíte nájsť identifikátor procesu (PID) 'vmwp.exe' pre váš VMGUID:

$ VMWMProc = (Get-WmiObject Win32_Process |? $ _. Name -match 'VMWP' - a $ _. CommandLine -match $ VMGUID)

Potom pomocou príkazu Zastaviť proces musíte tento proces vynútiť:

Proces zastavenia ($ VMWMProc.ProcessId) -Force

Takto je jednoduché násilne ukončiť pracovný tok pozastaveného virtuálneho počítača Hyper-V.

rada. Opisujeme tiež podobný postup na dokončenie procesu zavesenia VM na hostiteľovi VMWare ESXi..

Hyper-V: Nepodarilo sa zmeniť stav virtuálneho počítača

Niekedy sa stáva, že aj po ukončení procesu zavesenia nemôžete VM zapnúť a v stave Štart s chybou zamrzne:

Pripojenie k virtuálnemu stroju sa nepodarilo zmeniť. Stav sa nepodarilo zmeniť.

V takom prípade skontrolujte nasledujúce možnosti:

  • Skontrolujte, či je na disku, na ktorom sú uložené súbory VM, dostatok voľného miesta;
  • Ak je obraz ISO pripojený v nastaveniach VM, skontrolujte jeho dostupnosť;
  • Skontrolujte sieťové nastavenia VM. Adaptéry virtuálnej siete musia byť pripojené k existujúcemu virtuálnemu prepínaču Hyper-V (stav siete nesmie byť - Chyba konfigurácie);
  • Skontrolujte, či je spustená služba Hyper-V Virtual Management Service (VMMS) a či nie je zmrazená v stave Zastavenie;
  • Uistite sa, že antivírus neblokuje prístup k súborom VM. Pridajte cesty k adresáru VM k antivírusovým výnimkám (pozrite si, ako pridať výnimky k vstavanému antivírusu systému Windows Server 2016 - Windows Defender);
  • Skontrolujte chyby v denníku udalostí Zobrazovač udalostí -> Denníky aplikácií a služieb -> Microsoft -> Windows -> Hyper-V-Worker.