Hoe los ik het probleem op dat een Hyper-V virtuele machine vastloopt in de stop- of opstartstatus?

Als je ooit hebt meegemaakt dat een Hyper-V VM weigert af te sluiten of op te starten en de gebruikelijke knoppen niet werken of foutmeldingen geven, is dat behoorlijk frustrerend. Soms blijft de VM hangen in de status ‘afsluiten’, ‘opstarten’ of ‘back-up maken’, en doen de beheertools gewoon niets meer. Windows maakt het natuurlijk graag ingewikkeld, dus hier lees je hoe je de boel weer op orde krijgt zonder alles opnieuw op te starten – want niemand zit te wachten tot de hele server opnieuw is opgestart als dat niet nodig is.

Inhoud:

De Hyper-V VM zit vast in de status ‘stoppen’, ‘opstarten’ of ‘back-up maken’.

Als uw virtuele machine vastloopt met de status ‘Stoppen’ of ‘Back-up maken’ en niet verdergaat, reageert het gastbesturingssysteem waarschijnlijk ook niet. U zult zien dat knoppen zoals Uitschakelen, Afsluiten of Resetten grijs zijn en foutmeldingen geven zoals:

The application encountered an error while attempting to change the state of VM. Failed to change state. The operation cannot be performed while the object is in its current state.

Als Hyper-V Manager de foutmelding “Verbinding maken met de Virtual Machine Management-service” geeft of uw VM’s helemaal niet weergeeft, hoeft u zich geen zorgen te maken. U hoeft alleen de Hyper-V-beheerservice, vmms.exe, opnieuw te starten. Dit is meestal veilig en vaak lost het herstarten van dit proces het probleem op zonder de hele host opnieuw op te starten. Zo doet u dat eenvoudig:

  • Open Uitvoeren ( Win + R) en typservices.msc
  • Zoek in de lijst naar Hyper-V Virtual Machine Management of vmms.
  • Klik met de rechtermuisknop en selecteer Opnieuw opstarten.

Als het herstarten van de service niet werkt of als je geen verandering ziet, kun je dit via PowerShell doen:

Get-Service vmms | Restart-Service

Of, op een meer brute manier, door er direct een einde aan te maken:

Stop-Service vmms -Force

Ik weet niet precies waarom, maar soms lost het stoppen en opnieuw starten van de service het probleem op en zet het de status van alles terug. Het is het proberen waard.

Hoe een vastgelopen VM in Hyper-V geforceerd af te sluiten

Als het herstarten van de service niet het probleem oplost, is het geforceerd beëindigen van het workerproces van de VM de volgende stap. Elke VM draait onder een proces genaamd vmwp.exe (Virtual Machine Worker Process).Om dit te beëindigen, moet u eerst de GUID van de VM achterhalen. Deze vindt u meestal in de configuratiebestanden van de VM die op de schijf zijn opgeslagen. Controleer uw serverinstellingen onder ‘Bestandslocatie’ om te zien waar de configuratiebestanden zich bevinden, mogelijk D:\VMstore.

Navigeer naar die map, zoek de map van je vastgelopen VM en kopieer de GUID uit de naam van het configuratiebestand die eindigt op .vmcx. Het ziet eruit als een lange reeks tekens.

Open vervolgens Taakbeheer (Ctrl + Shift + Esc), ga naar het tabblad Details en zoek alle vmwp.exe -processen. Je ziet dat in de kolom Gebruikersnaam soms de GUID is ingebed, of je kunt later een overeenkomst vinden op basis van de informatie in de Opdrachtregel.

Zoek naar een proces met de GUID van de virtuele machine, klik er met de rechtermuisknop op en kies Taak beëindigen. Dit is een ietwat brute methode, maar wel effectief. De virtuele machine wordt direct afgesloten en je kunt vervolgens opnieuw beginnen.

Als alternatief kunt u voor een geavanceerder hulpmiddel Process Explorer gebruiken:

  1. Start Process Explorer als beheerder.
  2. Druk op Ctrl + F of selecteer Zoeken > Handle of DLL.
  3. Voer het pad naar het schijfbestand van uw VM (*.vhdx) of de GUID in om de bijbehorende processen te vinden.
  4. Zodra het proces is gevonden, klikt u er met de rechtermuisknop op en selecteert u Proces beëindigen.

Dit omzeilt de gebruikelijke beveiligingsmechanismen van Windows en beëindigt het vastgelopen VM-proces. In sommige configuraties is dit de snelste manier om een ​​vastgelopen VM te herstellen.

Een vastgelopen VM-proces beëindigen met PowerShell

Als je liever scripts gebruikt of dit op afstand doet, kan PowerShell het zware werk voor je doen. Er is echter een vreemde kanttekening: de standaardopdracht `Stop-VM -Force` loopt soms vast als de VM of host zich in een vreemde toestand bevindt. In dat geval is het handig om het proces direct te beëindigen.

Zoek eerst de GUID van de VM op aan de hand van de naam:

$VMGuid = (Get-VM "YourVMName").ID

Om het proces te vinden dat aan die virtuele machine is gekoppeld, kunt u alle vmwp.exe- processen weergeven en de GUID in de opdrachtregel vergelijken:

$VMProcess = Get-WmiObject Win32_Process | Where-Object { $_. Name -eq 'vmwp.exe' -and $_. CommandLine -match $VMGuid }

Als er niets wordt weergegeven, controleer dan de naam en GUID van uw virtuele machine. Om het proces vervolgens te beëindigen:

Stop-Process -Id $VMProcess. ProcessId -Force

Dit forceert het afsluiten van de virtuele machine en maakt het vastgelopen proces vrij. Houd er rekening mee dat dit de virtuele machine afsluit zonder een gecontroleerde afsluiting, dus doe dit alleen als het echt nodig is.

Het afhandelen van vastgelopen VM’s in back-upstatus.

Soms blijft een virtuele machine hangen in de status ‘Back-up maken’ tijdens het maken van snapshots of back-ups. De virtuele machine blijft wel actief, maar u kunt deze niet normaal stoppen of starten. Controleer eerst de status van de VSS Writer:

vssadmin list writers

Als dat goed werkt, start u vervolgens de Hyper-V-beheerservice opnieuw op, vmms.exe. Open een PowerShell-prompt met beheerdersrechten en voer de volgende opdracht uit:

Get-Service vmms | Stop-Service

Als het weigert, moet u het proces mogelijk rechtstreeks opsporen en beëindigen:

Get-Process -Name vmms | Stop-Process -Force

Als het programma is afgesloten, start het dan opnieuw op:

Start-Service vmms

Dit lost vaak vastloop-problemen tijdens back-ups op. Houd er rekening mee dat dit andere virtuele machines of services die afhankelijk zijn van het beheer van Hyper-V tijdelijk kan uitschakelen.

Als een virtuele machine niet van status verandert — tips voor probleemoplossing

Mocht de virtuele machine na al deze stappen nog steeds weigeren te starten of te stoppen, controleer dan een paar veelvoorkomende oorzaken:

  • Zorg ervoor dat er voldoende schijfruimte beschikbaar is voor de VM-bestanden; zonder ruimte werkt het niet.
  • Als een virtuele dvd-ISO is gekoppeld, controleer dan of het pad daadwerkelijk bestaat en toegankelijk is.
  • Controleer de netwerkadapters: ze moeten verbonden zijn met geldige virtuele switches en er mogen geen “Configuratiefout”-pictogrammen worden weergegeven.
  • Controleer of de VMMS-service zonder problemen werkt.
  • Raadpleeg de logboeken: open Logboeken van Windows > Toepassings- en servicelogboeken > Microsoft > Windows > Hyper-V-Worker voor aanwijzingen.
  • Als je Windows Defender of een ander antivirusprogramma gebruikt, voeg dan de VM-mappen en VM-schijfbestanden toe aan de witte lijst. Soms blokkeert antivirussoftware de toegang tot benodigde bestanden of verwijdert deze.
  • Schakel tot slot de slaapstand of hibernatie in de gastbesturingssystemen uit. Hyper-V loopt soms vast als het VM-besturingssysteem probeert in de slaapstand te gaan, de pauze in te lassen of de hibernatiemodus te gebruiken tijdens een kritieke bewerking.

    Als dit allemaal niet werkt…tja, dan is het misschien tijd om opnieuw te beginnen. Want Hyper-V maakt het natuurlijk steeds ingewikkelder dan nodig.

    Hopelijk lost dit idee om processen te beëindigen en services te resetten het probleem op voor je virtuele machine, zonder dat je de host volledig opnieuw hoeft op te starten. Een beetje asynchrone chaos, en je hebt de controle weer terug.