Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix 0xC0370027

0xC0370027 and 0xC0370104: saved state and checkpoint data cannot be read

11 min read Updated October 4, 2026 Windows Server: RDS, Hyper-V & Clustering

Fix it now

The machine has state on disk that no longer matches the machine trying to load it. Either the saved memory image cannot be read back, or a checkpoint chain is broken so the disk the machine expects is not the disk it finds. Copy the whole folder somewhere safe before you touch either.

Elevated PowerShell on the Hyper-V host, after you have taken a copy of the machine’s folder

Get-VM 'Server1' | Select-Object Name, State, Version
Get-VHD 'D:\VMs\Server1\disk_A1B2.avhdx' | Select-Object Path, ParentPath, VhdType
Get-VMHostSupportedVersion
  1. If the machine is in a saved state you do not need, discard it with Remove-VMSavedState -VMName 'Server1' and start it normally. It boots as though it had been powered off abruptly, so expect the guest to run its own consistency checks.
  2. If checkpoints are involved, read the ParentPath the second command reports and confirm that file exists at exactly that path.
  3. If the folder was moved, repoint the child at its parent with Set-VHD -Path '<child>' -ParentPath '<parent>' rather than editing anything by hand.
  4. If a checkpoint is showing in Hyper-V Manager, delete it there so the merge runs, and leave the host alone until the merge finishes.

Discarding saved state loses everything the guest held in memory, exactly as a power cut would. Repointing a differencing disk at a file that is not really its parent can corrupt the guest file system beyond recovery.

If the machine boots, stop here. If it will not, or the version numbers do not line up between hosts, the next section explains what has to match what.

Why it happens

A saved virtual machine writes the whole of its memory and its device state to files beside the configuration. Restoring it means reloading that image into a machine with the same virtual hardware. If the configuration has changed, if only part of the file set was restored from backup, or if the files came from a host generation that does not match, the reload fails and the machine sits refusing to start or resume.

Checkpoints work differently. Each one creates a differencing disk that records only what changed and points back at its parent by both path and identifier. The chain from the newest differencing disk down to the base disk has to be complete and consistent. Restoring only the base disk, moving the folder without Hyper-V, or copying some files but not others leaves a machine that cannot resolve its own storage.

Both codes on this page are unpublished, which is unhelpful and also not much of a loss, because the entries beside them carry the file path the host could not follow. That path is the diagnosis. Start from it rather than from the number, and the two cases separate themselves immediately: a path into the saved state files is one problem and a path into an AVHDX chain is the other.

The saved state cannot be reloaded

You have this one if The machine shows as saved and every attempt to start or resume it fails immediately.

  1. Confirm you can afford to lose what was in memory. Anything unsaved inside the guest goes with it.
  2. Discard the state with Remove-VMSavedState -VMName 'Server1'.
  3. Start the machine. It boots as it would after a power failure, so expect file system checks and application recovery.
  4. If the guest will not boot afterwards, treat it as crash recovery rather than as a state problem.

Saved state is not a backup. It is a snapshot of running memory, and it is the first thing to discard when it is standing between you and a machine that will start.

The differencing chain is broken

You have this one if The machine has checkpoints, and Get-VHD on the newest file names a parent that is missing or in the wrong place.

  1. Find the parent file. Restoring a machine by file copy often leaves the base disk in a different folder from the differencing disks.
  2. Put the files back in the layout the chain expects. That is the safest repair, because nothing on disk is rewritten.
  3. If the path genuinely has to change, repoint the child with Set-VHD -Path '<child>' -ParentPath '<parent>'.
  4. Re-run Get-VHD on the child and confirm it resolves its parent before starting the machine.

A merge was interrupted or never finished

You have this one if Checkpoints appear in the console that nobody created, usually left by a backup job, or the volume ran out of space during a merge.

  1. Free space on the volume first. A merge needs room to work and will stop rather than corrupt anything.
  2. Delete the checkpoint in Hyper-V Manager, which starts the merge, and watch the differencing files shrink and disappear.
  3. Do not restart the host or the management service while a merge is running.
  4. Once the chain is a single base disk again, start the machine.

Backup products create their own checkpoints and normally remove them. A checkpoint older than your backup window that nobody recognises is a failed job, and clearing it is the first thing to do.

The machine was moved to a host that cannot read its state

You have this one if The files are complete and consistent and the machine only fails on the host it was moved to.

  1. Compare the configuration version with what the host supports: Get-VM 'Server1' | Select-Object Name, Version against Get-VMHostSupportedVersion.
  2. Move the machine back to the original host if its version is higher than the new host supports. There is no downgrade.
  3. If the new host is the newer one, discard any saved state before importing, then raise the version with Update-VMVersion once the machine runs.
  4. For a shielded or TPM-enabled machine, confirm the key protector is available on the new host, or the guest state cannot be unlocked at all.

Raising a machine’s configuration version is one way only. Once updated it cannot move back to a host that supports only the earlier version, so do it deliberately rather than as part of a recovery.

Full reference

What is on disk, and what has to match

File What it holds What breaks it
Configuration file The machine’s virtual hardware and settings Being restored without its state and disk files
Saved state files Guest memory and device state at the moment it was saved A changed configuration, a partial restore, a different host generation
Base disk Everything written before the first checkpoint Being restored on its own, leaving newer data stranded
Differencing disks Everything written since each checkpoint, pointing back at a parent A moved folder, a partial copy, an interrupted merge

Reading the chain

Elevated PowerShell on the host

Get-VM 'Server1' | Get-VMHardDiskDrive | Select-Object VMName, Path
Get-VHD 'D:\VMs\Server1\disk_A1B2.avhdx' | Select-Object Path, ParentPath, VhdType, FragmentationPercentage

Follow ParentPath from the newest file down to a base disk whose type is not differencing. Every link has to resolve to a file that exists at exactly that path. If one does not, you have found the break. Do this before starting the machine, not after, because a machine that starts on a half-resolved chain writes into it.

Order of operations when you are not sure

  1. Copy the entire virtual machine folder, including every VHDX and AVHDX and the configuration, to somewhere with space for it.
  2. Read the chain and write down what points at what, so you can tell later whether a change helped.
  3. Deal with saved state first if there is any, because discarding it takes one variable out of the problem.
  4. Restore the file layout the chain expects rather than repointing, wherever the files still exist.
  5. Repoint only when the path genuinely cannot be restored, and only after the copy in step one.
  6. Merge outstanding checkpoints through the console once the chain resolves, and leave the host alone while it runs.

Configuration versions between hosts

A machine carries a configuration version, and a host supports a range of them. A machine from a newer host will not run on an older one, and there is no downgrade path: Update-VMVersion raises the version and nothing lowers it. Get-VMHostSupportedVersion on each host tells you what that host will accept, which is worth checking before a move rather than after a failed one. In a mixed-version estate this is a recurring source of machines that will not start on the host they were just moved to, and the fix is to move them back rather than to force anything.

Why AVHDX files are not clutter

They hold everything written since the checkpoint they belong to. Deleting one discards that data, and if the guest has been running on the chain, the base disk underneath is far out of date: you would be reverting the machine by however long the checkpoint has existed. Merge through the console instead, which writes the changes down into the parent and then removes the file. A folder full of AVHDX files that nobody recognises is a merge that never completed, not a cleanup opportunity.

None of this is a licensing or edition question. Saved state and checkpoints behave identically on Standard and Datacenter; edition affects how many virtual machines you may run on the host, not how their state is stored.

Every code this article covers

Code What it points at Source
0xC0370027 Not published by Microsoft. It accompanies a machine whose saved state could not be read back into it not published by the vendor
0xC0370104 Not published by Microsoft. It accompanies a machine whose state or disk chain on disk no longer matches its configuration not published by the vendor
Event ID 15500 Not published by Microsoft. It appears from the worker side against a machine that could not be started or restored not published by the vendor
Event ID 12620 Not published by Microsoft. It appears from the management service side; the file path it names is the useful part not published by the vendor

Confirm the fix worked

  1. The machine starts and the guest operating system comes up with its services running.
  2. Get-VM 'Server1' | Select-Object Name, State, Version reports it running with no saved state remaining.
  3. Get-VHD against each disk resolves the whole chain, or there is now a single base disk.
  4. No differencing files remain in the folder that no longer belong to the machine.
  5. The machine’s configuration version is within the range Get-VMHostSupportedVersion reports on this host.

Questions people ask about this

Will I lose data by discarding the saved state?

You lose what was in memory and not yet written to disk. The virtual disks are untouched, so the guest boots as it would after a power failure. Applications with their own recovery, such as databases, handle this routinely.

Is this a licensing or edition problem?

No, and it costs nothing to fix. Saved state and checkpoints behave identically on Standard and Datacenter. Edition affects how many virtual machines you may run, not how their state is stored.

Can I delete the AVHDX files to clean up?

No. Those files contain everything written since the checkpoint was taken. Deleting them discards that data, and if the guest has been running on them the base disk is far out of date. Merge through the console instead.

Why do checkpoints appear that nobody created?

Backup software creates them to get a consistent copy and normally removes them afterwards. One that outlives the backup window means a job failed part-way, and the merge needs completing manually.

Can I move the machine back to the old host after updating its version?

No. Raising the configuration version is one way only, and there is no downgrade. Check Get-VMHostSupportedVersion on both hosts before you update anything.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

License Error Event ID 36870 and 36874: IIS drops HTTPS clients during the TLS handshake License Error Event ID 25 and 0x80780119: shadow storage runs out and snapshots vanish License Error Event ID 12002 and 12032: WSUS web services stop answering and clients stall Free Fix Event ID 304 and 305: RD Gateway blocks users on CAP and RAP policy checks
โ† Back to Knowledge Base