Hyper-V VM Won’t Start: Fix Every “Failed to Start” Error (2026)

15 min read

A Hyper-V VM won’t start for one of eight reasons. The error message tells you which one — if you know what to look for. The problem is that Hyper-V surfaces the same generic “failed to start” dialog for permission errors, hypervisor errors, memory pressure, and storage failures alike. The actual cause is always one level deeper.

This guide maps every error string to its exact cause and fix. Whether the Hyper-V VM won’t start due to a BCD setting that reverted after an update, a permission mismatch after a restore, or a full CSV at 3 AM — the diagnostic path is here. Covers every scenario where a Hyper-V VM is not starting or stuck in Starting/Stopping state, with copy-paste PowerShell for standalone and clustered hosts.

TL;DR
  • Always get the full error from Event Viewer → Microsoft-Windows-Hyper-V-VMMS → Admin — Hyper-V Manager truncates it
  • Hypervisor not running: check bcdedit /enum | findstr hypervisorlaunchtype first — reverting to off after updates is the most common cause
  • 0x80070005 (Access Denied): VM SID missing from VHDX or config folder ACLs — happens after manual file moves and restores
  • 0x80070569 (Logon Failure): GPO stripped “Log on as a service” from NT VIRTUAL MACHINE\Virtual Machines
  • VM stuck Stopping: a Hyper-V VM won’t start or stop when vmwp.exe is hung — kill by VM GUID, equivalent to a hard power-off
  • Memory errors: check host available RAM with Get-Counter "\Memory\Available MBytes" before adjusting VM memory settings
  • VHDX not found: verify paths with Get-VMHardDiskDrive — storage paths break silently after migrations

First Triage — Identify the Exact Error and VM State

Before touching any configuration, get the exact error text. Hyper-V Manager shows a truncated version. You need the full string.

Where to find the real error

Three places, in order of usefulness:

PowerShell — fastest for standalone hosts:

Get-VM -Name "YourVMName" | Select-Object Name, State, Status

The Status field often contains the error string Hyper-V Manager truncates.

Event Viewer — most complete for root cause:

Event Viewer → Applications and Services Logs → Microsoft → Windows → Hyper-V-VMMS → Admin

Filter by Error level, sort by time. The VMMS Admin log captures the full error chain including nested causes. On clustered hosts, also check Hyper-V-High-Availability/Admin.

Failover Cluster Manager — clustered VMs only. Shows cluster resource state alongside VM state, which matters when a VM is online at the cluster layer but failed at the VM layer. For cluster-specific start failures, check cluster resource events before VMMS events.

VM state reference

StateWhat it means operationally
OffClean stop or never started
StartingTransitioning to Running — stuck if this persists more than 60 seconds
RunningNormal
StoppingTransitioning to Off — stuck Stopping requires manual vmwp.exe kill
SavedSuspended state on disk — resume requires identical resources to save time
PausedManually paused or paused by host under memory pressure
CriticalCluster resource failure — separate from VM-level state

Error-to-cause matrix

Use this table to identify the right section before reading further. If the Hyper-V VM wont start and you have an error code — find the row. No error code: start with Event Viewer.

Error or symptomMost likely causeSection
The virtual machine could not be started because the hypervisor is not runningBCD hypervisorlaunchtype off or BIOS virtualization disabledHypervisor Not Running
0x80070005 — Access deniedVM SID missing from VHDX or config folder ACLsError 0x80070005
0x80070569 — Logon failure“Log on as a service” right missing from VM identityError 0x80070569
VM stuck in Starting or StoppingHung vmwp.exe worker processVM Stuck Stopping/Starting
Not enough memory to startHost memory pressure or Dynamic Memory misconfigurationNot Enough Memory
Failed to open attachment / failed to open virtual hard diskMissing VHDX, wrong path, or offline storageVHDX Not Found
Chain of virtual hard disks is corruptedFailed checkpoint merge or manual AVHDX deletionBroken AVHDX Chain
Not enough space on the diskFull CSV, ReFS volume, or Storage Spaces poolStorage Full
VM won’t start after restore or migrationACL mismatch, missing virtual switch, or config version conflictAfter Restore or Migration
Virtual switch not found / network adapter disconnectedSwitch name mismatch after migration or importVirtual Switch Missing
VMMS service not runningService failure or WMI corruptionVMMS Service Failures
Lock Status: Locked on storage driveBitLocker-encrypted drive didn’t auto-unlock at bootBitLocker and AV
Missing or corrupt .vmcx / .vmrsConfig corruption after failed migration or disk errorConfig Corruption

“The Hypervisor Is Not Running” — Why a Hyper-V VM Won’t Start

Full error: The virtual machine could not be started because the hypervisor is not running.

This error means Windows is not running the Hyper-V hypervisor layer. The role may be installed, but the hypervisor itself never loaded. Four distinct causes — check them in this order.

Verify Hyper-V role and services

Check the role first:

Get-WindowsFeature -Name Hyper-V

If InstallState is not Installed, reinstall:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Then verify the two critical services:

Get-Service vmms, vmcompute | Select-Object Name, Status, StartType

Both should be Running. If vmcompute (Host Compute Service) is stopped and won’t start, the hypervisor layer isn’t loaded — this points to a BIOS or BCD issue below, not a service configuration problem.

BIOS/UEFI virtualization and DEP/SLAT

Hyper-V requires three hardware features: Intel VT-x or AMD-V, hardware DEP (NX/XD bit), and SLAT (Intel EPT or AMD RVI). Quick check:

systeminfo | findstr /i "Hyper-V"

Expected output on a functioning host:

Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.

If you instead see Virtualization Enabled In Firmware: No, reboot into BIOS/UEFI and enable Intel VT-x or AMD-V. Location varies by manufacturer — typically under Advanced → CPU Configuration. SLAT is present on any server-class CPU released after 2010. DEP disabled via BCD is rare but worth checking: bcdedit /enum | findstr nx should return nx OptIn or nx AlwaysOn.

hypervisorlaunchtype — the most common reason a Hyper-V VM won’t start on hosts that worked before

After Windows updates, BitLocker changes, or Hyper-V reinstall, hypervisorlaunchtype can revert to off. This is the single most common cause of “hypervisor not running” on hosts that previously worked.

# Check current state bcdedit /enum | findstr hypervisorlaunchtype # Fix if showing "off" bcdedit /set hypervisorlaunchtype auto

Restart required after the fix.

Conflicting hypervisors — VBS, WSL2, Device Guard

On Windows Server hosts running VBS, Device Guard, or Credential Guard, Hyper-V coexists normally. On workstation-class hardware running WSL2 or third-party hypervisors (VMware Workstation, VirtualBox with Hyper-V backend disabled), conflicts can prevent Hyper-V from loading.

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object VirtualizationBasedSecurityStatus

0 = disabled, 1 = enabled not running, 2 = enabled and running. On Server environments this is rarely the cause. On homelab hosts running Server OS, WSL2 conflicts are the more common scenario.

Access Denied — Error 0x80070005 (Hyper-V VM Won’t Start)

Full error: ‘VMName’ failed to start. ‘VMName’: Access denied. (0x80070005)

A permissions error. Hyper-V uses per-VM security identifiers (SIDs) in the format NT VIRTUAL MACHINE\{GUID} to control access to VHDX files, snapshot files, and config folders. After migrations, restores, or manual file moves, the ACLs on storage don’t match the VM’s SID.

What triggers it

VHDX files moved manually via File Explorer or xcopy strip Hyper-V ACLs. The same happens after restoring a VM to a new path, importing from a different host, or migrating storage without using Hyper-V’s built-in Move Storage. In each case, the physical files land in place but the VM SID is absent from their ACL.

Restore VM SID on VHDX and config folder

Get the VM ID first:

(Get-VM -Name "YourVMName").Id

Verify current ACLs on the VHDX:

icacls "D:\Hyper-V\VMs\YourVM\YourVM.vhdx"

If the VM SID is missing, grant it recursively across the VM folder:

icacls "D:\Hyper-V\VMs\YourVM\" /grant "NT VIRTUAL MACHINE\{GUID}:(OI)(CI)F" /T

Run the same command against the config folder (.vmcx location) and any AVHDX snapshot paths. The /T flag applies recursively.

In practice, the fastest path after a restore is to remove and re-import the VM using Import-VM — Hyper-V re-stamps the correct SIDs automatically rather than requiring manual icacls work on every file.

Logon Failure — Error 0x80070569 (Hyper-V VM Won’t Start)

Full error: ‘VMName’ failed to start worker process: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569)

When a Hyper-V VM won’t start with this error, the NT VIRTUAL MACHINE\Virtual Machines identity is missing the “Log on as a service” right. GPO changes — especially after domain join or OU moves — strip this right without warning.

Check and restore the right

# Verify local policy secpol.msc → Local Policies → User Rights Assignment → Log on as a service

NT VIRTUAL MACHINE\Virtual Machines must be listed. If missing, add it, then restart vmms:

Restart-Service vmms

GPO override — when the right keeps disappearing

If the right returns after Group Policy refresh, a GPO is overwriting the local setting. Find which one:

gpresult /H gpresult.html

Open the report, search for “Log on as a service” under Computer Configuration → User Rights Assignment. The winning GPO is listed with its source OU. Fix: add NT VIRTUAL MACHINE\Virtual Machines to that GPO’s policy, or create a higher-priority GPO at the Hyper-V server OU level.

This error appears frequently on hosts joined to a domain after Hyper-V was installed, and after any OU move that applies a more restrictive security baseline.

Not Enough Memory — Hyper-V VM Won’t Start

Full error: Not enough memory in the system to start the virtual machine.

Either the host genuinely doesn’t have enough free RAM, or Dynamic Memory is configured in a way that prevents startup allocation.

Check host available memory first

Get-Counter "\Memory\Available MBytes"

Also check all running VMs against their current allocation:

Get-VM | Select-Object Name, State, MemoryStartup, MemoryAssigned, MemoryDemand

Compare MemoryStartup values for all running VMs against host available RAM. If the sum of startup RAM for all VMs approaches or exceeds host physical RAM, you’ve overcommitted.

Dynamic Memory and startup RAM

With Dynamic Memory enabled, Hyper-V allocates the Startup RAM value at boot, not the minimum. A VM configured with 8 GB startup and 512 MB minimum will attempt to claim 8 GB at start regardless of actual workload. If the host can’t satisfy that, the VM won’t start.

# Check Dynamic Memory config Get-VMMemory -VMName "YourVMName" # Lower startup RAM if host is under pressure Set-VMMemory -VMName "YourVMName" -StartupBytes 2GB

On clustered hosts, also check NUMA topology — VMs assigned to a specific NUMA node won’t start if that node’s memory is exhausted even when overall host memory is available.

Memory errors on clustered hosts
  1. Check which node owns the VM: Get-ClusterResource | Where-Object {$_.ResourceType -eq "Virtual Machine"} | Get-ClusterOwnerNode
  2. Check available memory on that node: Invoke-Command -ComputerName NodeName { Get-Counter "\Memory\Available MBytes" }
  3. If node is memory-exhausted, move the VM: Move-ClusterVirtualMachineRole -Name "VMName" -Node "TargetNode"
  4. If all nodes are constrained, reduce running VM count or lower startup RAM values across low-priority VMs

VHDX Not Found — Failed to Open Attachment

Full error: Failed to open attachment ‘path’. Error: ‘The system cannot find the path specified.’ or Failed to open virtual hard disk.

The VM config references a VHDX path that doesn’t exist at the expected location. Common after storage migrations, share path changes, or CSV reconfigurations on cluster hosts.

Identify the broken path

Get-VMHardDiskDrive -VMName "YourVMName"

The Path column shows what the VM config expects. Verify the file exists at that path:

Test-Path "D:\Hyper-V\VMs\YourVM\YourVM.vhdx"

If False, the file has moved or the storage is offline.

Fix the path or bring storage online

If the VHDX exists at a different path, update the VM config:

# Remove the broken disk Remove-VMHardDiskDrive -VMName "YourVMName" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 # Add it at the correct path Add-VMHardDiskDrive -VMName "YourVMName" -Path "E:\NewPath\YourVM.vhdx" -ControllerType SCSI

If the storage is on a CSV or SAN that’s offline, bring the disk online before reconfiguring the VM. For clustered environments, check that the CSV hosting the VHDX is accessible from the node currently owning the VM — CSV ownership issues are a separate path from VHDX path errors. The Hyper-V storage guide covers CSV and Storage Spaces layout in detail.

Broken AVHDX Chain

Full error: The chain of virtual hard disks is corrupted. The system cannot find the file specified.

Checkpoints create AVHDX differencing disks chained to the parent VHDX. If a merge fails midway, a checkpoint file is deleted manually, or a storage failure interrupts the chain, Hyper-V can’t reconstruct the disk sequence and the VM won’t start.

# List all checkpoint and disk relationships Get-VM -Name "YourVMName" | Get-VMSnapshot | Select-Object Name, SnapshotType, Path

The output shows which checkpoints exist. Cross-reference against the actual files on disk — if a file referenced in the chain doesn’t exist, the chain is broken at that point.

Recovery paths depend on which file is missing and whether the parent VHDX is intact. The core options are: restore the missing file from backup, or use Merge-VHD to collapse an intact portion of the chain into the parent. Both paths require the parent VHDX to be in a consistent state. A detailed walkthrough of AVHDX chain repair is outside the scope of this article — the Hyper-V Checkpoint & AVHDX Troubleshooting guide covers the full repair sequence.

Storage Full

Full error: There is not enough space on the disk. or Not enough storage is available to complete this operation.

A surprisingly common cause of VM start failures in production. VHDX dynamic disks grow silently — a cluster of VMs with active dynamic disks can fill a volume between maintenance windows.

Check available space

# Check all volumes Get-Volume | Select-Object DriveLetter, FileSystemLabel, SizeRemaining, Size # On clustered hosts — check CSVs Get-ClusterSharedVolume | Select-Object Name, SharedVolumeInfo

For Storage Spaces pools, check both the volume and the underlying pool:

Get-StoragePool | Select-Object FriendlyName, AllocatedSize, Size, HealthStatus

Immediate actions

If the volume is full and VMs need to start now: identify the largest dynamic VHDX files and determine whether any can be compacted, or whether snapshots/AVHDXs are consuming unexpected space. Running Optimize-VHD on a dynamic VHDX compacts it in-place but requires the VM to be off. For a full CSV, check whether checkpoint AVHDX files are accumulating from a failed backup job — this is a common source of silent storage exhaustion on Hyper-V hosts running Hyper-V VSS backups.

Failure scenario

A production cluster running nightly VSS backups with Veeam accumulated AVHDX files on the CSV over several weeks after a backup chain misconfiguration. The CSV reached 98% capacity overnight. VMs that tried to write to their dynamic VHDXs the following morning failed to start after a host restart. The AVHDX files were orphaned — the backup job had been failing silently without alerting. The fix was removing orphaned checkpoints via Remove-VMSnapshot and compacting the dynamic disks during the next maintenance window.

Hyper-V VM Not Starting or Stuck in Stopping State

A Hyper-V VM not starting or refusing to stop is a hung worker process, not a configuration error. The VM is still holding resources and can’t be managed until the process is terminated.

Identify the vmwp.exe process by VM GUID

Each running VM has a dedicated vmwp.exe (Virtual Machine Worker Process) identified by the VM’s GUID.

# Get the VM ID (Get-VM -Name "YourVMName").Id

Open Task Manager → Details tab → right-click columns → add “Command line.” Each vmwp.exe instance shows its GUID in the command line. Match it to your VM ID.

Safe kill sequence

Try the graceful path first:

Stop-VM -Name "YourVMName" -Force

If the VM stays stuck after 60 seconds:

$vmId = (Get-VM -Name "YourVMName").Id.ToString() $process = Get-WmiObject Win32_Process -Filter "Name='vmwp.exe'" | Where-Object { $_.CommandLine -match $vmId } Stop-Process -Id $process.ProcessId -Force

After killing the process, the VM transitions to Off state within a few seconds. What happens next on restart depends on the workload — see the note below.

Before force-killing vmwp.exe on clustered hosts
  1. Verify the VM isn’t live migrating to another node: Get-ClusterResource | Where-Object {$_.Name -like "*VMName*"}
  2. Check cluster resource state — if migration is in progress, wait or cancel it before killing the worker
  3. If the VM is genuinely stuck and not migrating, proceed with force-kill
  4. After kill, verify cluster resource returns to Online state: Get-ClusterResource | Where-Object {$_.Name -like "*VMName*"} | Start-ClusterResource

Force-killing vmwp.exe is equivalent to pulling the power cord on a physical server. SQL Server, Exchange, and any workload with active transactions will perform dirty shutdown recovery on next start. For stateless VMs, the impact is minimal.

Virtual Switch Missing or Disconnected

A VM with a network adapter connected to a non-existent virtual switch will generate warnings but typically still start — a disconnected NIC is not a blocker by default. However, if the VM is configured with a startup dependency on a specific network, or if the switch reference causes a config validation error, start fails.

Identify the mismatch

# Check what switch the VM expects Get-VMNetworkAdapter -VMName "YourVMName" # Check what switches actually exist on this host Get-VMSwitch

If SwitchName in the adapter output doesn’t appear in Get-VMSwitch, the adapter is referencing a switch that doesn’t exist on this host. Common after import from a host with different switch names, or after a cluster failover to a node with a different vSwitch naming convention.

Reconnect to the correct switch

Connect-VMNetworkAdapter -VMName "YourVMName" -SwitchName "YourActualSwitchName"

For clustered environments, virtual switch names must be consistent across all nodes — a VM that can live migrate to any node needs the same switch name available everywhere. Inconsistent switch naming is one of the more common live migration failures. The Hyper-V networking guide covers virtual switch design and naming conventions for clustered hosts.

VMMS Service Failures

The Virtual Machine Management Service (vmms) orchestrates all VM operations. If it’s not running, no VMs can start regardless of individual VM state.

Service dependency chain

vmms depends on RPC, DCOM, and WMI. If any of these are degraded, vmms will fail to start or crash shortly after starting.

Get-Service vmms, rpcss, dcomlaunch, winmgmt | Select-Object Name, Status

All four should show Running. A degraded winmgmt (WMI) is the most common dependency failure on hosts that have had aggressive Windows Update cleanup or third-party management tool interference.

Restart sequence

Stop-Service vmms -Force Start-Service vmms Get-Service vmms

If vmms won’t start, check System and Application event logs for the specific error code — the Service Control Manager always logs a failure with a reason.

WMI repair when Event Viewer confirms WMI corruption:

net stop winmgmt winmgmt /resetrepository net start winmgmt

Restart vmms after WMI repair. Avoid WMI repository reset unless Event Viewer explicitly points to WMI corruption — it’s a broad operation with occasional side effects on other management tools.

BitLocker and Antivirus Filter Drivers

BitLocker-locked storage

If the volume hosting VHDX files is BitLocker-encrypted and didn’t auto-unlock at boot — TPM protector mismatch or external key absent — Hyper-V can’t access the files.

# Check lock status manage-bde -status D: # Unlock if locked manage-bde -unlock D: -RecoveryPassword <48-digit-key>

After unlock, VMs on that volume start normally. The underlying issue is usually a TPM protector mismatch after a firmware update or hardware change — investigate before the next restart.

Antivirus filter drivers

AV drivers scanning VHDX files during VM start cause timeouts and access denied errors. The Hyper-V VHDX read/write path runs through the filter driver stack — an aggressive scan on a large VHDX at start time produces a generic “failed to start” with no specific error code. The Hyper-V post-install checklist covers the full exclusion setup for new hosts, but here’s the reference list:

Processes to exclude: vmms.exe, vmwp.exe, vmcompute.exe

File extensions to exclude: .vhd, .vhdx, .avhd, .avhdx, .vsv, .iso

Folders to exclude: VM config directory (C:\ProgramData\Microsoft\Windows\Hyper-V\), all VM storage paths, snapshot directories

These exclusions are documented in Microsoft’s antivirus guidance for Hyper-V hosts.

Config Corruption — Missing .vmcx or .vmrs

A .vmcx is the VM configuration store. A .vmrs holds saved state data. Missing or corrupt files prevent the VM from starting.

Re-import from backup config

Import-VM -Path "D:\Backup\YourVM\Virtual Machines\{GUID}.vmcx"

Use Register import type to keep the VM in place, or Copy to create a new VM from backup files.

Recreate from existing VHDX

If the config is unrecoverable but the VHDX is intact:

New-VM -Name "YourVM-Recovered" -MemoryStartupBytes 4GB ` -VHDPath "D:\Hyper-V\VMs\YourVM\YourVM.vhdx" ` -Generation 2 -SwitchName "YourVirtualSwitch"

Match the generation to the original VM. Generation 2 VMs have UEFI firmware embedded in the config — recreating as Generation 1 with a Gen 2 VHDX results in a boot failure. Verify the original generation by checking whether the VHDX contains an EFI partition (Gen 2) or MBR boot record only (Gen 1).

VM Won’t Start After Restore or Migration

Post-migration start failures usually fall into one of three categories: ACL mismatch, config version conflict, or virtual switch name difference.

ACL issues after restore are covered in the 0x80070005 section above. The fastest fix is always Import-VM from the restored config rather than pointing an existing VM definition at moved files — Hyper-V re-stamps correct SIDs automatically.

Config version mismatch

VMs have a configuration version tied to the Hyper-V host version. A VM from Server 2025 (config version 10.0) cannot run on Server 2019 (max 9.0). Migration must go to an equal or higher host version.

# Check config version Get-VM -Name "YourVMName" | Select-Object Name, Version # Upgrade config version after migrating to higher host (one-way, irreversible) Update-VMVersion -VMName "YourVMName"

The version upgrade is irreversible — the VM cannot return to an older host after upgrade. Don’t run Update-VMVersion until you’re certain the VM won’t need to fail back to a previous-generation host. For Failover Cluster considerations, the Hyper-V clustering guide covers cluster functional levels and rolling upgrades.

Virtual switch mismatches after migration are covered in the Virtual Switch Missing section above.

Prevention — Stop a Hyper-V VM Wont Start Situation Before It Happens

Most scenarios where a Hyper-V VM wont start are preventable. The common thread across almost every case above is configuration state that drifted without anyone noticing — hypervisorlaunchtype reverting after an update, ACLs stripped during a file move, a GPO pushing a baseline that removes service rights. A Hyper-V VM not starting during a maintenance window is painful; the same failure at 2 AM is worse.

  • Verify hypervisorlaunchtype auto after every Windows Update cycle that includes firmware or security patches
  • Confirm AV exclusions survive policy updates — re-verify after each major GPO change
  • Document VM GUIDs for critical VMs before you need them — Get-VM | Select-Object Name, Id | Export-Csv vmguids.csv
  • Check “Log on as a service” after any OU move or new GPO deployment
  • Monitor volume free space for dynamic VHDX growth — set alerts at 20% remaining for volumes hosting VM storage
  • Use Import-VM for all VM moves and restores — never move VHDX files manually and point existing VM definitions at the new path
  • Keep virtual switch names consistent across cluster nodes — document the naming convention and enforce it during host provisioning

Frequently Asked Questions

Why is my Hyper-V VM not starting?

The most common causes when a Hyper-V VM wont start: hypervisor not loaded (hypervisorlaunchtype off), permission errors on VHDX files (0x80070005), service account rights stripped by GPO (0x80070569), or host memory pressure. Check Event Viewer under Microsoft-Windows-Hyper-V-VMMS/Admin for the exact error string before troubleshooting — Hyper-V Manager truncates it.

How do I fix “the hypervisor is not running” in Hyper-V?

Run bcdedit /enum | findstr hypervisorlaunchtype. If it shows off, run bcdedit /set hypervisorlaunchtype auto and restart. Also verify BIOS/UEFI virtualization: systeminfo | findstr /i "Hyper-V" shows whether firmware virtualization is disabled. This is the most common cause on hosts that were working previously.

What is error 0x80070005 in Hyper-V?

Access denied — the VM’s SID is missing from the VHDX or config folder ACLs. Get the VM ID with (Get-VM -Name "VMName").Id, then use icacls to grant NT VIRTUAL MACHINE\{GUID} full control on the VM storage path. Fastest fix after a restore: use Import-VM instead of manually pointing the VM at moved files.

How do I force stop a VM stuck in Stopping state?

Try Stop-VM -Name "VMName" -Force first. If it stays stuck, find the VM’s GUID with (Get-VM -Name "VMName").Id, locate the matching vmwp.exe via Task Manager → Details → Command line, and kill it with Stop-Process -Id <PID> -Force. Treat this as a hard power-off — SQL Server and Exchange will run dirty shutdown recovery on next start.

Can BitLocker prevent a Hyper-V VM from starting?

Yes, if the volume hosting VHDX files didn’t auto-unlock at boot. Check with manage-bde -status D:. If Lock Status: Locked, unlock manually and investigate why auto-unlock failed — usually a TPM protector mismatch after a firmware update.

Why won’t my VM start after restore or migration?

Most post-restore failures are ACL mismatches (0x80070005) or virtual switch name differences. Use Import-VM rather than manually pointing to restored files — it re-stamps SIDs automatically. For switch issues, run Get-VMNetworkAdapter and compare against Get-VMSwitch.

How do I check if the Hyper-V hypervisor is running?

systeminfo | findstr /i "Hyper-V" — if it shows A hypervisor has been detected, the hypervisor is running. Also: Get-Service vmcompute should show Running. If vmcompute is stopped and won’t start, the hypervisor layer isn’t loaded regardless of VMMS state.

What antivirus exclusions does Hyper-V require?

Exclude processes vmms.exe, vmwp.exe, vmcompute.exe and file types .vhd, .vhdx, .avhd, .avhdx, .vsv. Also exclude the VM config directory and all VM storage paths. Missing exclusions cause intermittent start failures with no specific error code — the worst kind to diagnose.