How To Change a VM’s Checkpoint Location in Hyper-V

Table of contents

By default, the checkpoint files for any given Hyper-V virtual machine are stored in a Snapshots sub-folder of its primary containing folder. “Snapshots” is what checkpoints were called in earlier versions, but the folder naming and some other elements have not yet been updated to match.

If you are using Hyper-V’s defaults, then the virtual machines’ master folder is C:ProgramDataMicrosoftWindowsHyper-V, and underneath that is a Snapshots folder. Any virtual machines created in the default location with default settings will place any of its checkpoint files in that folder with the exception of the differencing virtual hard disk files. Those are always kept in the same location as their parent virtual hard disk.

If you’d like, you can change where the checkpoint files are located on a per VM basis by following these instructions:

  1. Open Hyper-V Manager. In the left pane, choose the host that owns the virtual machine you wish to modify.
  2. In the upper center pane, click to select the virtual machine to be changed. Ensure that it doe not already have any checkpoints; the middle center pane will list any if they exist.
  3. Right-click on the virtual machine and choose Settings.

    VM Settings

    VM Settings

  4. In the dialog that appears, select the Checkpoint File Location tab on the left. On the right, you’ll see the fields as shown in the following screenshot. If the VM is clustered, there will be a warning that you cannot use this tool to change the location. Use Failover Cluster Manager instead; directions are nearly the same.

    Default Checkpoint Location

    Default Checkpoint Location

A few things to note:

  • This setting only affects the XML and, if necessary, BIN and VSV file placement for the checkpoint. It’s necessary to keep them separate from the primary files because they use the same name. The checkpoint’s differencing virtual hard disks are created alongside the parent.
  • Do not manually specify a Snapshots sub-folder. One will be automatically created if it does not exist. This is to ensure that there is no collision with live VM files.
  • Do not attempt to manually manipulate any checkpoint file. Doing so will prevent successful merge when the checkpoint is deleted. Similarly, do not manipulate any file belonging to the live virtual machine while a checkpoint is operational or the checkpoint may become completely invalidated, leading to lost data.
  • Changes here only affect a single VM. To operate on multiple virtual machines at once, you must use PowerShell.
  • Changing the location for a virtual machine has no effect on the host’s global default location for all virtual machine files.

[thrive_leads id=’17660′]

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

11 thoughts on "How To Change a VM’s Checkpoint Location in Hyper-V"

  • ali says:

    i want to change checkpoint type. production to standard. but i am unable to see the option where to i can change the type.
    when i click on hyper v manger there is no any option of checkpoint. when i click on vm setting then i see only checkpoint location.

    please reply me back as soon as possible. thanks

  • ali says:

    i want to change checkpoint type. production to standard. but i am unable to see the option where to i can change the type.
    when i click on hyper v manger there is no any option of checkpoint. when i click on vm setting then i see only checkpoint location.

    please reply me back as soon as possible. thanks

  • Lior says:

    Hi Eric.

    Since it’s the first time i’m replying to one of your post, I’ll say that your blogs are my favorite when it comes to Hyper-V. Thanks!

    Now to checkpoints – can you tell how can it be done via Powershell? I could my any documentation on it.

    Thanks.

  • Steve in Chicago says:

    OK, this is my first time ever asking for assistance from a Blog.
    So, here goes:
    I have a Hyper-V environment with Failover clustering.
    I have 2 SAN devices, one is new and fast (all the VMs are there) and one older and slower (Empty)
    Is it possible to move the Snapshots of my VMs to the Older NAS so as to provide enough space for multiples without damaging the VMs?
    I assume that I will need to merge and delete any current Snapshots before I do anything.

    • Eric Siron says:

      Moving a snapshot won’t save much space because it’s just some configuration files. What you likely want to move are the virtual hard disks.
      To move a VM’s storage without interruption, you need to do a Storage Migration. You don’t mention your version, but you need to be on at least 2012: https://www.altaro.com/hyper-v/hyper-v-storage-migration/.
      With the built-in tools, you can’t move a checkpointed VHDX without its AVHDX and vice-versa. It can be done manually but not without downtime and some headache.
      Merging the checkpoints first would be ideal, but it’s not required.

      • Steve in Chicago says:

        Thank you! I was hoping for a different answer, but such is life.

        • Eric Siron says:

          A bigger question: why are your snapshots so big and common that you need alternative storage? Sounds like a change in architectural approach might be warranted. Snapshots should be rare and short-lived.

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published. Required fields are marked *

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.