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.
- 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 hypervisorlaunchtypefirst — reverting tooffafter 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.exeis 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, StatusThe 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 → AdminFilter 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
| State | What it means operationally |
|---|---|
| Off | Clean stop or never started |
| Starting | Transitioning to Running — stuck if this persists more than 60 seconds |
| Running | Normal |
| Stopping | Transitioning to Off — stuck Stopping requires manual vmwp.exe kill |
| Saved | Suspended state on disk — resume requires identical resources to save time |
| Paused | Manually paused or paused by host under memory pressure |
| Critical | Cluster 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 symptom | Most likely cause | Section |
|---|---|---|
| The virtual machine could not be started because the hypervisor is not running | BCD hypervisorlaunchtype off or BIOS virtualization disabled | Hypervisor Not Running |
| 0x80070005 — Access denied | VM SID missing from VHDX or config folder ACLs | Error 0x80070005 |
| 0x80070569 — Logon failure | “Log on as a service” right missing from VM identity | Error 0x80070569 |
| VM stuck in Starting or Stopping | Hung vmwp.exe worker process | VM Stuck Stopping/Starting |
| Not enough memory to start | Host memory pressure or Dynamic Memory misconfiguration | Not Enough Memory |
| Failed to open attachment / failed to open virtual hard disk | Missing VHDX, wrong path, or offline storage | VHDX Not Found |
| Chain of virtual hard disks is corrupted | Failed checkpoint merge or manual AVHDX deletion | Broken AVHDX Chain |
| Not enough space on the disk | Full CSV, ReFS volume, or Storage Spaces pool | Storage Full |
| VM won’t start after restore or migration | ACL mismatch, missing virtual switch, or config version conflict | After Restore or Migration |
| Virtual switch not found / network adapter disconnected | Switch name mismatch after migration or import | Virtual Switch Missing |
| VMMS service not running | Service failure or WMI corruption | VMMS Service Failures |
| Lock Status: Locked on storage drive | BitLocker-encrypted drive didn’t auto-unlock at boot | BitLocker and AV |
| Missing or corrupt .vmcx / .vmrs | Config corruption after failed migration or disk error | Config 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-VIf InstallState is not Installed, reinstall:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -RestartThen verify the two critical services:
Get-Service vmms, vmcompute | Select-Object Name, Status, StartTypeBoth 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 autoRestart 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 VirtualizationBasedSecurityStatus0 = 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").IdVerify 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" /TRun 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 serviceNT VIRTUAL MACHINE\Virtual Machines must be listed. If missing, add it, then restart vmms:
Restart-Service vmmsGPO 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.htmlOpen 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, MemoryDemandCompare 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 2GBOn 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.
- Check which node owns the VM:
Get-ClusterResource | Where-Object {$_.ResourceType -eq "Virtual Machine"} | Get-ClusterOwnerNode - Check available memory on that node:
Invoke-Command -ComputerName NodeName { Get-Counter "\Memory\Available MBytes" } - If node is memory-exhausted, move the VM:
Move-ClusterVirtualMachineRole -Name "VMName" -Node "TargetNode" - 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 SCSIIf 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, PathThe 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, SharedVolumeInfoFor Storage Spaces pools, check both the volume and the underlying pool:
Get-StoragePool | Select-Object FriendlyName, AllocatedSize, Size, HealthStatusImmediate 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.
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").IdOpen 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" -ForceIf 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 -ForceAfter 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.
- Verify the VM isn’t live migrating to another node:
Get-ClusterResource | Where-Object {$_.Name -like "*VMName*"} - Check cluster resource state — if migration is in progress, wait or cancel it before killing the worker
- If the VM is genuinely stuck and not migrating, proceed with force-kill
- 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-VMSwitchIf 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, StatusAll 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 vmmsIf 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 winmgmtRestart 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 autoafter 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-VMfor 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.
Hyper-V Series
12 articles — Windows Server 2025 · Networking · Storage · Backup · Clustering