Virtualization

How to use Hyper-V checkpoint to restore a VM to its previous state

With Hyper-V checkpoints, you can quickly restore a VM to the state when the checkpoint was created. However, this is completely different from restoring a VM from a backup. In this article, we shall discuss how to use “Hyper-V checkpoint to restore a VM to its previous state”. Please see How to create a Microsoft HyperV checkpoint, the differences between a Virtual Machine Snapshot vs Backup, how to Check if Windows Updates were installed, and How to Back Up and Restore the Windows Registry.

One fundamental benefit to virtualization is the ability to save the state of a virtual machine. In Hyper-V, this can be achieved by the use of virtual machine checkpoints. You may want to create a virtual machine checkpoint before making important software configuration changes, applying a software update, or installing new software.

If a system change were to cause an issue, the virtual machine can be reverted to the state at which it was when the checkpoint was taken.

Note: Using Hyper-V Manager you can create up to 50 checkpoints for a single virtual machine, and up to 64 checkpoints using System Center Virtual Machine Manager.

Types of Hyper-V Checkpoints

Since Windows Server 2016 and Windows 10, Hyper-V includes two types of checkpoints. They are (1) Standard Checkpoints, and (2) Production Checkpoints.

Checkpoint-types

Standard Checkpoints (formerly known as Hyper-V snapshots): This takes a snapshot of the VM and its memory state. This allows you to capture the VM state at a particular point in time. A standard snapshot doesn’t enable application consistency. That is, it causes data consistency issues with systems that replicate data between different nodes.

This may result in incomplete data transactions. This is important for systems running Active Directory, Microsoft Exchange, SQL Server, or any other application/database which transfers data between different nodes.

Production Checkpoints: This form of snapshot creates a data-consistent backup with the help of Volume Shadow Copy Service (for VMs running on Windows) or File System Freeze (for VMs running on Linux). But, but do not take snapshots of the virtual machine’s memory state.

Production checkpoints are created in accordance with the backup technology inside the guest OS. When creating a production checkpoint, no snapshot of the VM memory state is taken.

Production checkpoint is selected by default, you can change it using Hyper-V Manager or PowerShell

Restore a VM to When Checkpoint was created

If you would like to see how this can be done via Powershell. To do this via the console, Launch Hyper-V Manager

HyperV-manager

Launch Hyper-V Manager, and select the VM you want to revert to an old (previous) state. Next, check the created checkpoints of this VM in the Checkpoints section.

When a checkpoint is created, it will be added to the checkpoint tree. Each subsequent checkpoint is a branch of the previous one, incrementally storing the differences since the last checkpoint was created.

Under the Checkpoint pane, select the checkpoint you would like to restore (revert). Right-click on it and select Apply

Next, the apply dialogue box appears. Click on apply.

When this is applied, this will turn off (shut down) the VM. Click to start to start the VM and click on connect to open a session (connection) to the VM

The VM will reboot and revert to the desired state you want it (have selected).

Conclusion

Hyper-V checkpoints are vital when it comes to backing up your virtual infrastructure. Creating checkpoints enables you to revert the VM to a previous state. This enables you to discard all the unwanted configuration changes and updates, which have caused issues within the system

I hope you found this article on how to use Hyper-V checkpoint to restore a VM to its previous state useful. If you have any questions, please let me know in the comment session.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x