Hibernation for Windows virtual machines in Microsoft Azure allows a VM to pause execution while preserving the in-memory state to disk. When resumed, applications and OS sessions continue exactly where they left off, unlike a full reboot.
Key Benefits
- No compute charges while hibernated.
- Storage charges still apply (OS and data disks).
- Much quicker than a full boot for memory-intensive workloads.
Supported VM sizes
VM sizes with up to 64-GB RAM from the following General Purpose VM series support hibernation.
- Dasv5-series
- Dadsv5-series
- Dsv5-series
- Ddsv5-series
- Easv5-series
- Eadsv5-series
- Esv5-series
- Edsv5-series
VM sizes with up to 112-GB RAM from the following GPU VM series support hibernation.
If you are using any UVM-enabled compute applications, we recommend idling the application before initiating hibernation.
Supported Windows versions
The following Windows operating systems support hibernation:
- Windows Server 2025
- Windows Server 2022
- Windows Server 2019
- Windows 11 Pro
- Windows 11 Enterprise
- Windows 11 Enterprise multi-session
- Windows 10 Pro
- Windows 10 Enterprise
- Windows 10 Enterprise multi-session
Important Considerations for Hibernating Windows VMs in Azure
Resizing: You can resize VMs that have hibernation enabled, but not while the VM is in a Hibernated state. The VM must be in Running or Stopped state.
Nested Virtualization: Hibernation is supported with Nested Virtualization only when Trusted Launch is enabled.
Disk and NIC Operations: When a VM is hibernated, you cannot attach, detach, or modify any disks or network interfaces. To perform these actions, move the VM to a Stop-Deallocated state.
Capacity Guarantee: Hibernated VMs do not have guaranteed capacity for restart. If you encounter capacity issues, try starting the VM later. Note: Capacity reservations do not guarantee capacity for hibernated VMs.
Supported Methods: You can hibernate a VM using the Azure portal, CLI, PowerShell, SDKs, or API. Guest OS hibernation does not place the VM in an Azure hibernated state, and billing continues.
Azure Feature Limitations for Hibernation
The following Azure features have limitations when using hibernation:
- Ephemeral OS Disks: Not supported.
- Shared Disks: Not supported.
- Availability Sets: Not supported.
- Virtual Machine Scale Sets:
- Uniform orchestration mode: Not supported.
- Flexible orchestration mode: Supported.
- Spot VMs: Not supported.
- Managed Images: Not supported.
- Azure Backup: Not supported.
- Capacity Reservations: Not supported for hibernated VMs.
Prerequisites for Using Hibernation
Before enabling hibernation on an Azure VM, ensure the following:
- Hibernation is enabled on the VM.
- Persistent OS disk is attached with enough space to store:
- RAM contents
- Operating system
- Applications running on the VM
- VM size supports hibernation.
- Operating system supports hibernation.
- Azure VM Agent is installed, if using Windows or Linux Hibernate Extensions.
- If creating a VM from an OS disk or Compute Gallery image, ensure the disk or image definition supports hibernation.
How to Enable Hibernation When Creating a Windows VM in Azure
To hibernate a VM, you must first enable the feature on the VM.
To enable hibernation in the Azure portal, check the ‘Enable hibernation’ box during VM creation.

Enabling hibernation on an existing Windows VM
To enable hibernation on an existing VM, you can use Azure CLI, PowerShell, or REST API. Before proceeding, ensure that the guest OS version supports hibernation on Azure.
To enable hibernation on an existing VM using Azure CLI, first deallocate your VM with az vm deallocate. Once the VM is deallocated, update the OS disk and VM.
Azure CLI
- Update the OS disk to set supportsHibernation to
true. If supportsHibernation is already set totrue, you can skip this step and proceed to the next step.
az disk update –resource-group myResourceGroup –name MyOSDisk –set supportsHibernation=true
2. Update the VM to enable hibernation.
az vm update –resource-group myResourceGroup –name myVM –enable-hibernation true
3. Start the VM and then proceed to configuring hibernation in the guest OS.
az vm start –resource-group myResourceGroup –name myVM
Reference: Hibernating Windows virtual machines