Skip to content

Commit 2ad7e93

Browse files
authored
Merge pull request #261880 from GitHubber17/183368-10
Freshness | Microsoft Dev Box procedures
2 parents 7e6330f + 58adc28 commit 2ad7e93

File tree

5 files changed

+58
-49
lines changed

5 files changed

+58
-49
lines changed

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

Lines changed: 58 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: 01/02/2024
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,152 @@ 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+
- 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.
3840

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

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

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.
45+
- 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.
4446

4547
- 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.
4648

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

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.
51+
- 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.
5052

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).
53+
> [!NOTE]
54+
> 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).
5355
5456
### Settings not compatible with hibernation
5557

56-
These settings are known to be incompatible with hibernation, and aren't supported for hibernation scenarios:
58+
The following settings are known to be incompatible with hibernation, and aren't supported for hibernation scenarios:
59+
60+
- **Memory Integrity/Hypervisor Code Integrity**
5761

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.
62+
To disable Memory Integrity/Hypervisor Code Integrity:
63+
64+
1. In the Windows Start menu, find and open **Windows Security**.
65+
1. Go to **Device Security**.
66+
1. Under **Core Isolation**, select **Core Isolation details**
67+
1. Under **Memory integrity**, set the toggle to **Off**.
68+
69+
After you change this setting, you need to restart the machine.
6470

65-
- **Guest Virtual Secure Mode based features without Nested Virtualization enabled.**
71+
- **Guest Virtual Secure Mode based features without Nested Virtualization enabled**
6672

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**
73+
To enable Nested Virtualization:
74+
75+
1. In the Start menu, search for **Turn Windows features on or off**.
76+
1. In the dialog, select the **Virtual Machine Platform** checkbox.
77+
1. Select **OK** to save your setting changes.
7078

7179
## Enable hibernation on your dev box image
7280

7381
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.
7482

7583
> [!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.
84+
> 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.
7785
7886
To enable hibernation capabilities, set the `IsHibernateSupported` flag to `true` when you create the image:
7987

8088
```azurecli
8189
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
90+
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location>
91+
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized
8492
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2
8593
```
8694

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

8997
```azurecli
9098
az sig image-version create
91-
--resource-group <resourcegroupname> --gallery-name <galleryname> --gallery-image-definition <imageName>
99+
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName>
92100
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>
93101
```
94102

95103
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).
96104

97105
## Enable hibernation on a dev box definition
98106

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.
107+
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.
100108

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.
109+
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.
102110

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.
111+
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.
104112

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

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

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

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

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

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.":::
123+
:::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":::
116124

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

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.":::
127+
:::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." lightbox="./media/how-to-configure-dev-box-hibernation/update-dev-box-definition.png":::
120128

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

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.":::
131+
:::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" :::
124132

125133
1. Select **Save**.
126134

127-
### Enable hibernation for a dev box definition by using the Azure CLI
128-
135+
### Enable hibernation with the Azure CLI
136+
137+
To enable hibernation for the dev box definition from the Azure CLI, set the `hibernateSupport` flag to `Enabled` when you create the image:
138+
129139
```azurecli
130140
az devcenter admin devbox-definition update
131-
--dev-box-definition-name <DevBoxDefinitionName> -–dev-center-name <devcentername> --resource-group <resourcegroupname> –-hibernateSupport enabled
141+
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled
132142
```
133143

134144
## Disable hibernation on a dev box definition
135145

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.
146+
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.
137147

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

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

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

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

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

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

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.":::
160+
1. On the **Edit dev box definition** page, clear the **Enable hibernation** checkbox.
153161

154162
1. Select **Save**.
155163

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

166+
To disable hibernation for the dev box definition from the Azure CLI, set the `hibernateSupport` flag to `Disabled` when you create the image:
167+
158168
```azurecli
159169
az devcenter admin devbox-definition update
160-
--dev-box-definition-name <DevBoxDefinitionName> -–dev-center-name <devcentername> --resource-group <resourcegroupname> –-hibernateSupport disabled
170+
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled
161171
```
162172

163173
## Related content
164174

165-
- [Create a dev box pool](how-to-manage-dev-box-pools.md)
166175
- [Configure a dev box by using Azure VM Image Builder](how-to-customize-devbox-azure-image-builder.md)
167176
- [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)
177+
- [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)