03/02/2024
I en verden, der i stigende grad er afhængig af digital infrastruktur, er virtuelle maskiner (VM'er) blevet rygraden i mange virksomheders IT-drift. Platforme som Microsofts Hyper-V, VMware vSphere og Microsoft Azure tilbyder robuste og stabile miljøer, men selv de mest pålidelige systemer kan støde på problemer. Et af de mest frustrerende scenarier for en systemadministrator er, når en kritisk VM nægter at starte, stoppe eller reagere, hvilket efterlader den i en helt ubrugelig tilstand. Denne situation kan skyldes en lang række underliggende årsager, fra simple konfigurationsfejl til mere komplekse lager- eller netværksproblemer. I denne artikel vil vi fungere som din tekniske 'læge', diagnosticere de almindelige symptomer og give dig en række gennemprøvede 'behandlinger' til at genoplive dine virtuelle maskiner.

Den berygtede 'Failed to Change State'-fejl i Hyper-V
En af de mest almindelige lidelser, der rammer Hyper-V-administratorer, er en fejl, der forhindrer en VM i at ændre sin tilstand. Når du forsøger at starte, stoppe eller nulstille maskinen, mødes du af en fejlmeddelelse, der typisk lyder:
"The application encountered an error while attempting to change the state of the virtual machine. VM-name Failed to change state. The operation cannot be performed while the object is in its current state."
Denne fejl låser VM'en fuldstændigt og gør det umuligt selv at redigere dens indstillinger. Årsagen er næsten altid, at den tilknyttede Worker Process (vmwp.exe) er gået i stå og ikke reagerer. Løsningen er at tvinge denne proces til at lukke. Her er flere metoder til at opnå dette.
Metode 1: Find og afslut processen manuelt
Hver kørende VM har sin egen unikke vmwp.exe-proces. For at undgå at lukke den forkerte, skal du først identificere din problematiske VMs unikke identifikator, kendt som dens GUID (Globally Unique Identifier).
Trin 1: Find din VMs GUID
- Åbn Hyper-V Manager, højreklik på din Hyper-V-vært i venstre rude, og vælg "Hyper-V Settings".
- Under "Server"-sektionen, klik på "Virtual Machines". Her ser du standardstien, hvor dine VM-konfigurationsfiler er gemt.
- Naviger til denne sti i Stifinder. Du vil se en mappe for hver af dine VM'er.
- Åbn mappen, der svarer til navnet på din problematiske VM. Inde i denne mappe finder du filer og en undermappe, hvis navne er en lang streng af tal og bogstaver (f.eks. 3C555937-A999-4542-B77E-FD69488B8579). Dette er din VMs GUID. Kopier dette navn.
Trin 2: Afslut processen via Jobliste
- Tryk på
Ctrl+Alt+Deleteog åbn Jobliste (Task Manager). - Gå til fanen "Detaljer" (Details).
- Find den
vmwp.exe-proces, der har VM'ens GUID angivet i kolonnen "Brugernavn" (User name). - Marker denne proces og klik på "Afslut opgave" (End Task). Bekræft, at du vil afslutte processen.
Efter et øjeblik skulle VM'ens status i Hyper-V Manager ændre sig til "Off". Nu kan du prøve at starte den igen.
Metode 2: Brug af alternative værktøjer som Process Explorer og PowerShell
Hvis du foretrækker mere avancerede værktøjer, kan både Process Explorer og PowerShell løse opgaven effektivt.
Process Explorer
Process Explorer er et gratis værktøj fra Microsoft, der giver et dybere indblik end den almindelige Jobliste.

- I Hyper-V Manager, åbn indstillingerne for din fastlåste VM.
- Find sektionen for harddisken ("Hard Drive") og kopier den fulde sti til den virtuelle harddiskfil (.vhdx).
- Åbn Process Explorer og klik på kikkert-ikonet ("Find Handle or DLL").
- Indsæt stien til harddisken i søgefeltet. Søgeresultatet vil vise den tilknyttede
vmwp.exe-proces. - Højreklik på processen og vælg "Kill Process".
PowerShell
For dem, der er komfortable med kommandolinjen, tilbyder PowerShell en hurtig og scriptbar løsning.
- Åbn Windows PowerShell som administrator.
- Først gemmer vi VM'ens GUID i en variabel. Erstat "Dit_VM_Navn" med navnet på din VM:
$VMGUID = (Get-VM “Dit_VM_Navn”).Id - Find den specifikke proces, der er knyttet til dette GUID:
$VMWMProc = (Get-WmiObject Win32_Process | ? {$_.Name -match ‘VMWP’ -and $_.CommandLine -match $VMGUID}) - Afslut nu processen med magt:
Stop-Process ($VMWMProc.ProcessId) -Force
Andre almindelige årsager til startproblemer
Selv efter at have afsluttet processen, kan en VM stadig nægte at starte. Dette kan skyldes andre underliggende problemer relateret til lager, netværk eller konfiguration.
Disk- og lagerfejl
Mangel på diskplads eller korruption i filsystemet kan forhindre en VM i at starte. Kør følgende kommandoer i en administrativ kommandoprompt på Hyper-V-værten for at scanne og reparere systemfiler:
sfc /scannowdism /online /cleanup-image /restorehealth
Hvis problemet fortsætter, kan det være nødvendigt at køre en diskkontrol (chkdsk) på den virtuelle harddisk. Dette gøres ved at mounte en Windows-installations-ISO til VM'en, boote fra den i reparationstilstand og køre chkdsk /f /r c: fra kommandoprompten.
Netværksadapter-konflikter
En forkert konfigureret virtuel switch kan forhindre en VM i at starte. Gå ind i VM'ens indstillinger og tjek under "Network Adapter". Hvis der står "Configuration Error" under "Virtual Switch", betyder det, at den switch, VM'en var tilsluttet, ikke længere eksisterer eller er fejlkonfigureret. Vælg en gyldig switch fra listen for at løse problemet.
Problemer i andre virtualiseringsmiljøer
Udfordringer med VM'er er ikke eksklusive for Hyper-V. Både VMware vSphere og Microsoft Azure har deres egne unikke fejlkilder.
VMware vSphere: Fejl ved oprettelse af Snapshot
En almindelig årsag til, at backup-jobs fejler i vSphere-miljøer, er manglende evne til at oprette et snapshot af en VM. Før du fejlfinder din backup-software, skal du altid prøve at oprette et snapshot manuelt i vSphere Client. Hvis dette fejler, kan årsagerne være:
- VM'en er låst i en "shutting down"-tilstand.
- VM'en er i gang med en Storage vMotion-migrering.
- En PCI-enhed er direkte tilknyttet (passthrough) til VM'en.
Når du kan oprette og slette et snapshot manuelt, vil dit backup-job sandsynligvis også fungere.

Azure VM Provisioning Fejlkoder
Når du opretter en VM i Azure, kan en lang række fejl opstå. Disse fejl er ofte meget specifikke. I stedet for at liste dem alle, er her en tabel, der kategoriserer de mest almindelige problemer:
| Fejlkategori | Eksempel på fejlkode | Beskrivelse | Typisk løsning |
|---|---|---|---|
| Allokering | AllocationFailed | Azure kunne ikke finde ledige computerressourcer (CPU/RAM) i den valgte region eller klynge. | Prøv en mindre VM-størrelse, en anden Azure-region, eller vent og prøv igen senere. |
| Disk/Lager | DiskBlobNotFound | Den specificerede virtuelle harddisk (VHD) blev ikke fundet på lagerkontoen. | Verificer, at stien til VHD-blob'en er korrekt, og at filen ikke er blevet slettet eller flyttet. |
| Konfiguration | InvalidParameter | En af de angivne værdier, f.eks. brugernavn, adgangskode eller netværksindstilling, er ugyldig. | Læs fejlmeddelelsens detaljer for at identificere den forkerte parameter og ret den. |
| OS Provisioning | OSProvisioningTimedOut | Klargøringen af gæsteoperativsystemet tog for lang tid og timede ud. | Sørg for, at dit custom image er korrekt forberedt og er blevet generaliseret (f.eks. med Sysprep for Windows). |
Forebyggelse er den bedste medicin: Vigtigheden af backup
Selv når du succesfuldt løser et problem, der har fået din VM til at gå i stå, er der altid en risiko for, at data på den virtuelle disk er blevet beskadiget eller korrumperet under processen. Den absolut bedste forsikring mod datatab er en solid og regelmæssig backup-strategi. At have en nylig, pålidelig kopi af din VM betyder, at du altid kan gendanne den til en fungerende tilstand, uanset hvilken fejl der opstår. Dette sparer ikke kun potentielt tabte data, men også utallige timers fejlfinding.
Ofte Stillede Spørgsmål (FAQ)
Hvad er den hurtigste måde at løse en fastlåst Hyper-V VM på?
At tvinge den tilknyttede vmwp.exe-proces til at lukke er næsten altid den hurtigste og mest effektive metode. Brug af PowerShell-kommandoerne, som beskrevet ovenfor, er ofte den hurtigste måde at gøre det på, når du har identificeret VM'ens navn.
Min VM siger 'Configuration Error' på netværksadapteren. Hvad gør jeg?
Dette indikerer et problem med din virtuelle switch. Gå til VM'ens indstillinger, vælg "Network Adapter", og i dropdown-menuen for "Virtual switch", vælg en gyldig, fungerende virtuel switch, som findes på din Hyper-V-vært.
Hvorfor er det vigtigt at 'generalisere' et image før brug i Azure?
At generalisere et image (f.eks. med Sysprep på Windows) fjerner unikke, maskinspecifikke oplysninger som computerens navn og sikkerheds-ID'er (SID). Dette er afgørende for, at Azure kan bruge imaget som en skabelon til at oprette flere, nye og unikke VM'er. En OSProvisioningTimedOut-fejl skyldes ofte, at et image ikke er blevet generaliseret korrekt.
Kan jeg bare slette en VM, der er gået i stå, og starte forfra?
Ja, dette kan være en sidste udvej. Det er dog vigtigt at forstå, at når du sletter en VM i Hyper-V Manager, sletter du kun konfigurationsfilen, ikke den virtuelle harddisk (.vhdx). Sørg for at have en backup af din virtuelle harddisk, før du sletter VM-konfigurationen. Derefter kan du oprette en helt ny VM og tilknytte den eksisterende diskfil til den.
Hvis du vil læse andre artikler, der ligner Løs almindelige VM-startfejl: En komplet guide, kan du besøge kategorien Sundhed.
