Skip to content

Commit 57e9dec

Browse files
committed
freshness pass
1 parent 82a014c commit 57e9dec

File tree

5 files changed

+63
-49
lines changed

5 files changed

+63
-49
lines changed

articles/dev-box/how-to-configure-dev-box-hibernation.md

Lines changed: 63 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: dev-box
66
ms.service: dev-box
77
author: RoseHJM
88
ms.author: rosemalcolm
9-
ms.date: 07/05/2023
9+
ms.date: 12/22/2023
1010
ms.topic: how-to
1111
#Customer intent: As a platform engineer, I want dev box users to be able to hibernate their dev boxes as part of my cost management strategy and so that dev box users can resume their work where they left off.
1212
---
@@ -15,7 +15,7 @@ ms.topic: how-to
1515

1616
In this article, you learn how to enable and disable hibernation in Microsoft Dev Box. You control hibernation at the dev box image and dev box definition level.
1717

18-
Hibernating dev boxes at the end of the workday can help you save a substantial portion of your VM costs. It eliminates the need for developers to shut down their dev box and lose their open windows and applications.
18+
Hibernating dev boxes at the end of the workday can help you save a substantial portion of your virtual machine (VM) costs. It eliminates the need for developers to shut down their dev box and lose their open windows and applications.
1919

2020
With the introduction of Dev Box Hibernation (Preview), you can enable this capability on new dev boxes and hibernate and resume them. This feature provides a convenient way to manage your dev boxes while maintaining your work environment.
2121

@@ -26,143 +26,157 @@ There are two steps to enable hibernation:
2626

2727
> [!IMPORTANT]
2828
> Dev Box Hibernation is currently in PREVIEW.
29-
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
29+
> For more information about the preview status, see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). The document defines legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
3030
3131
## Considerations for hibernation-enabled images
3232

33-
- The following SKUs support hibernation: 8, 16 vCPU SKUs. 32 vCPU SKUs do not support hibernation.
33+
Before you enable hibernation on your dev box, review the following considerations for hibernation-enabled images.
34+
35+
- Currently, two SKUs support hibernation: 8 and 16 vCPU SKUs. Currently, 32 vCPU SKUs don't support hibernation.
3436

3537
- You can enable hibernation only on new dev boxes created with hibernation-enabled dev box definitions. You can't enable hibernation on existing dev boxes.
3638

37-
- You can hibernate a dev box only using the dev Portal, CLI, PowerShell, SDKs, and API. Hibernating from within the dev box in Windows isn't supported.
39+
<!-- Rose: I don't see any details about working with the API.
40+
I also searched for other articles that might describe this process, but didn't find any.
41+
https://learn.microsoft.com/en-us/rest/api/devcenter/?view=rest-devcenter-administrator-2023-04-01
42+
Should API be included in the following list? -->
43+
44+
- You can hibernate a dev box only by using the Microsoft developer portal, the Azure CLI, PowerShell, SDKs, and the REST API. Hibernating from within the dev box in Windows isn't supported.
3845

39-
- If you use a marketplace image, we recommend using the Visual Studio for dev box images.
46+
- If you're working with an Azure Marketplace image, we recommend using the Visual Studio for dev box images.
4047

4148
- The Windows 11 Enterprise CloudPC + OS Optimizations image contains optimized power settings, and they can't be used with hibernation.
4249

43-
- Once enabled, you can't disable hibernation on a dev box. However, you can disable hibernation support on the dev box definition so that future dev boxes don't have hibernation.
50+
- After you enable hibernation, you can't disable the feature on that dev box. However, you can disable hibernation support on the dev box _definition_ so dev boxes created in the future don't have hibernation.
4451

4552
- To enable hibernation, you need to enable nested virtualization in your Windows OS. If the "Virtual Machine Platform" feature isn't enabled in your DevBox image, DevBox automatically enables nested virtualization for you if you choose to enable hibernation.
4653

4754
- Hibernation doesn't support hypervisor-protected code integrity (HVCI)/ Memory Integrity features. Dev box disables this feature automatically.
4855

49-
- Auto-stop schedules still shutdown the dev boxes. If you want to hibernate your dev box, you can do it through the developer portal or using the CLI.
56+
- Auto-stop schedules still shutdown the dev boxes. If you want to hibernate your dev box, you can do it through the developer portal or by using the Azure CLI.
5057

51-
> [!NOTE]
52-
> The functionality to schedule dev boxes to hibernate automatically is available in preview. You can sign up for the preview here: [Microsoft Dev Box - Auto-Hibernation Schedules Preview](https://aka.ms/DevBoxHibernationSchedulesPrivatePreviewSignUp).
58+
> [!NOTE]
59+
> The functionality to schedule dev boxes to hibernate automatically is available in preview. You can sign up for the preview at [Microsoft Dev Box - Auto-Hibernation Schedules Preview](https://aka.ms/DevBoxHibernationSchedulesPrivatePreviewSignUp).
5360
5461
### Settings not compatible with hibernation
5562

56-
These settings are known to be incompatible with hibernation, and aren't supported for hibernation scenarios:
63+
The following settings are known to be incompatible with hibernation, and aren't supported for hibernation scenarios:
64+
65+
- **Memory Integrity/Hypervisor Code Integrity**.
5766

58-
- **Memory Integrity/Hypervisor Code Integrity.**
59-
60-
To disable Memory Integrity/Hypervisor Code Integrity:
61-
1. In the start menu, search for *memory integrity*
62-
1. Select **Core Isolation**
63-
1. Under **Memory integrity**, ensure that memory integrity is set to Off.
67+
To disable Memory Integrity/Hypervisor Code Integrity:
68+
69+
1. In the Windows Start menu, find and open **Windows Security**.
70+
1. Go to **Device Security**.
71+
1. Under **Core Isolation**, select **Core Isolation details**
72+
1. Under **Memory integrity**, set the toggle to **Off**.
73+
74+
After you change this setting, you need to restart the machine.
6475

65-
- **Guest Virtual Secure Mode based features without Nested Virtualization enabled.**
76+
- **Guest Virtual Secure Mode based features without Nested Virtualization enabled**
6677

67-
To enable Nested Virtualization:
68-
1. In the start menu, search for *Turn Windows features on or off*
69-
1. In Turn Windows features on or off, select **Virtual Machine Platform**, and then select **OK**
78+
To enable Nested Virtualization:
79+
80+
1. In the Start menu, search for **Turn Windows features on or off**.
81+
1. In the dialog, select the **Virtual Machine Platform** checkbox.
82+
1. Select **OK** to save your setting changes.
7083

7184
## Enable hibernation on your dev box image
7285

7386
If you plan to use a custom image from an Azure compute gallery, you need to enable hibernation capabilities when you create the new image. You can't enable hibernation for existing images.
7487

7588
> [!NOTE]
76-
> The Visual Studio and Microsoft 365 images that Microsoft Dev Box provides in the Azure Marketplace are already configured to support hibernation. You don't need to enable hibernation on these images, they're ready to use.
89+
> The Visual Studio and Microsoft 365 images that Microsoft Dev Box provides in Azure Marketplace are already configured to support hibernation. You don't need to enable hibernation on these images, they're ready to use.
7790
7891
To enable hibernation capabilities, set the `IsHibernateSupported` flag to `true` when you create the image:
7992

8093
```azurecli
8194
az sig image-definition create
82-
--resource-group <resourcegroupname> --gallery-name <galleryname> --gallery-image-definition <imageName> --location <location>
83-
--publisher <publishername> --offer <offername> --sku <skuname> --os-type windows --os-state Generalized
95+
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location>
96+
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized
8497
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2
8598
```
8699

87-
If you're using sysprep and a generalized VM to create a custom image, capture your image using the Azure CLI:
100+
If you're using sysprep and a generalized VM to create a custom image, capture your image by using the Azure CLI:
88101

89102
```azurecli
90103
az sig image-version create
91-
--resource-group <resourcegroupname> --gallery-name <galleryname> --gallery-image-definition <imageName>
104+
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName>
92105
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>
93106
```
94107

95108
For more information about creating a custom image, see [Configure a dev box by using Azure VM Image Builder](how-to-customize-devbox-azure-image-builder.md).
96109

97110
## Enable hibernation on a dev box definition
98111

99-
In Microsoft Dev Box, you enable hibernation for a dev box definition, providing that the dev box definition uses a hibernation-enabled custom or marketplace image. You can also update an existing dev box definition that uses a hibernation-enabled custom or marketplace image.
112+
In Microsoft Dev Box, you can enable hibernation for a new dev box definition when the definition uses a hibernation-enabled custom or Azure Marketplace image. You can also update an existing dev box definition that uses a hibernation-enabled custom or Azure Marketplace image.
100113

101-
All new dev boxes created in dev box pools that use a dev box definition with hibernation enabled can hibernate in addition to shutting down. If a pool has dev boxes that were created before hibernation was enabled, they continue to only support shutdown.
114+
All new dev boxes created in dev box pools that use a dev box definition with hibernation enabled can both hibernate and shut down. If a pool has dev boxes that were created before hibernation was enabled, those dev boxes continue to support shutdown only.
102115

103-
Microsoft Dev Box validates your image for hibernate support. Your dev box definition might fail validation if hibernation couldn't be successfully enabled using your image.
116+
Microsoft Dev Box validates your image for hibernate support. Your dev box definition might fail validation if hibernation can't be successfully enabled by using your image.
104117

105-
You can enable hibernation on a dev box definition by using the Azure portal or the CLI.
118+
You can enable hibernation on a dev box definition by using the Azure portal or the Azure CLI.
106119

107-
### Enable hibernation for a dev box definition by using the Azure portal
120+
### Enable hibernation in the Azure portal
108121

109122
1. Sign in to the [Azure portal](https://portal.azure.com).
110123

111124
1. In the search box, enter **dev center**. In the list of results, select **Dev centers**.
112125

113126
1. Open the dev center that contains the dev box definition that you want to update, and then select **Dev box definitions**.
114127

115-
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/select-dev-box-definitions.png" alt-text="Screenshot that shows the dev center overview page and the menu option for dev box definitions.":::
128+
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/select-dev-box-definitions.png" alt-text="Screenshot that shows the dev center overview page and the menu option for dev box definitions." lightbox="./media/how-to-configure-dev-box-hibernation/select-dev-box-definitions.png":::
116129

117-
1. Select the dev box definition that you want to update, and then select the edit button.
130+
1. Select the dev box definition that you want to update, and then select the edit (**pencil**) button.
118131

119-
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/update-dev-box-definition.png" alt-text="Screenshot of the list of existing dev box definitions and the edit button.":::
132+
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/update-dev-box-definition.png" alt-text="Screenshot of the list of existing dev box definitions and the edit (pencil) button." source="./media/how-to-configure-dev-box-hibernation/update-dev-box-definition.png":::
120133

121-
1. On the Editing \<dev box definition\> page, select **Enable hibernation**.
134+
1. On the **Edit \<your dev box definition\>** page, select the **Enable hibernation** checkbox.
122135

123-
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/dev-box-pool-enable-hibernation.png" alt-text="Screenshot of the page for editing a dev box definition, with Enable hibernation selected.":::
136+
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/dev-box-definition-enable-hibernation.png" alt-text="Screenshot of the page for editing a dev box definition, with Enable hibernation selected." lightbox="./media/how-to-configure-dev-box-hibernation/dev-box-definition-enable-hibernation.png" :::
124137

125138
1. Select **Save**.
126139

127-
### Enable hibernation for a dev box definition by using the Azure CLI
128-
140+
### Enable hibernation with the Azure CLI
141+
142+
To enable hibernation for the dev box definition from the Azure CLI, set the `hibernateSupport` flag to `Enabled` when you create the image:
143+
129144
```azurecli
130145
az devcenter admin devbox-definition update
131-
--dev-box-definition-name <DevBoxDefinitionName> -–dev-center-name <devcentername> --resource-group <resourcegroupname> –-hibernateSupport enabled
146+
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled
132147
```
133148

134149
## Disable hibernation on a dev box definition
135150

136-
If you have issues provisioning new VMs after enabling hibernation on a pool or you want to revert to shut down only dev boxes, you can disable hibernation on the dev box definition.
151+
If you have issues provisioning new VMs after you enable hibernation on a pool, you can disable hibernation on the dev box definition. You can also disable hibernation when you want to revert the setting to only shutdown dev boxes.
137152

138153
You can disable hibernation on a dev box definition by using the Azure portal or the CLI.
139154

140-
### Disable hibernation for a dev box definition by using the Azure portal
155+
### Disable hibernation in the Azure portal
141156

142157
1. Sign in to the [Azure portal](https://portal.azure.com).
143158

144159
1. In the search box, enter **dev center**. In the list of results, select **Dev centers**.
145160

146161
1. Open the dev center that contains the dev box definition that you want to update, and then select **Dev box definitions**.
147162

148-
1. Select the dev box definition that you want to update, and then select the edit button.
163+
1. Select the dev box definition that you want to update, and then select the edit (**pencil**) button.
149164

150-
1. On the Editing \<dev box definition\> page, clear **Enable hibernation**.
151-
152-
:::image type="content" source="./media/how-to-configure-dev-box-hibernation/dev-box-pool-disable-hibernation.png" alt-text="Screenshot of the page for editing a dev box definition, with Enable hibernation not selected.":::
165+
1. On the **Edit \<your dev box definition\>** page, clear the **Enable hibernation** checkbox.
153166

154167
1. Select **Save**.
155168

156-
### Disable hibernation for a dev box definition by using the CLI
169+
### Disable hibernation with the Azure CLI
157170

171+
To disable hibernation for the dev box definition from the Azure CLI, set the `hibernateSupport` flag to `Disabled` when you create the image:
172+
158173
```azurecli
159174
az devcenter admin devbox-definition update
160-
--dev-box-definition-name <DevBoxDefinitionName> -–dev-center-name <devcentername> --resource-group <resourcegroupname> –-hibernateSupport disabled
175+
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled
161176
```
162177

163178
## Related content
164179

165-
- [Create a dev box pool](how-to-manage-dev-box-pools.md)
166180
- [Configure a dev box by using Azure VM Image Builder](how-to-customize-devbox-azure-image-builder.md)
167181
- [How to hibernate your dev box](how-to-hibernate-your-dev-box.md)
168-
- [CLI Reference for az devcenter admin devbox-definition update](/cli/azure/devcenter/admin/devbox-definition?view=azure-cli-latest&preserve-view=true)
182+
- [Azure CLI reference for az devcenter admin devbox-definition](/cli/azure/devcenter/admin/devbox-definition?view=azure-cli-latest&preserve-view=true)
32.9 KB
Loading
-29.2 KB
Loading

0 commit comments

Comments
 (0)