在 Microsoft Dev Box 中設定休眠

在本文中,您將瞭解如何在 Microsoft Dev Box 中啟用和停用休眠功能。 您可以在開發方塊映像和開發方塊定義層級控制休眠。

在工作日結束時休眠開發方塊可協助您節省大量虛擬機 (VM) 成本。 它不需要開發人員關閉其開發方塊,並遺失其開啟的視窗和應用程式。

透過開發方塊休眠(預覽版)的引進,您可以在新的開發方塊上啟用這項功能,並休眠並繼續進行。 此功能提供方便的方式來管理您的開發方塊,同時維護工作環境。

啟用休眠有兩個步驟:

  1. 在您的開發方塊映像上啟用休眠
  2. 在您的開發方塊定義上啟用休眠

重要

開發方塊休眠目前處於預覽狀態。 如需預覽狀態的詳細資訊,請參閱 Microsoft Azure 預覽版的補充使用規定。 本檔會定義適用於 Beta、預覽版或尚未發行至正式運作的 Azure 功能的法律條款。

啟用休眠映像的考慮

在開發方塊上啟用休眠之前,請先檢閱下列已啟用休眠功能的映像考慮。

  • 目前,有兩個 SKU 支援休眠:8 和 16 個 vCPU SKU。 目前,32 個 vCPU SKU 不支援休眠。

  • 您只能在啟用休眠功能開發方塊定義的新開發方塊上啟用休眠功能。 您無法在現有的開發方塊上啟用休眠功能。

  • 您只能使用 Microsoft 開發人員入口網站、Azure CLI、PowerShell、SDK 和 REST API 來休眠開發方塊。 不支援從 Windows 中的開發方塊內休眠。

  • 如果您正在使用 Azure Marketplace 映像,建議您使用 Visual Studio 作為開發方塊映像。

  • Windows 11 企業版 CloudPC + OS 優化映像包含優化的電源設定,且無法與休眠搭配使用。

  • 啟用休眠之後,您無法停用該開發方塊上的功能。 不過,您可以在開發方塊 定義 上停用休眠支援,讓未來建立的開發方塊沒有休眠狀態。

  • 若要啟用休眠,您必須在 Windows OS 中啟用巢狀虛擬化。 如果您的 DevBox 映射中未啟用「虛擬機平臺」功能,如果您選擇啟用休眠功能,DevBox 會自動為您啟用巢狀虛擬化。

  • 休眠不支援 Hypervisor 保護的程式代碼完整性 (HVCI)/ 記憶體完整性功能。 開發人員方塊會自動停用此功能。

  • 自動停止排程仍會關閉開發方塊。 如果您想要休眠開發方塊,您可以透過開發人員入口網站或使用 Azure CLI 來執行。

    注意

    預覽中會自動提供將開發方塊排程為休眠的功能。 您可以在 Microsoft Dev Box - 自動休眠排程預覽註冊預覽

設定 與休眠不相容

已知下列設定與休眠不相容,且休眠案例不支援:

  • 記憶體完整性/Hypervisor 程式代碼完整性

    若要停用記憶體完整性/Hypervisor 程式代碼完整性:

    1. 在 Windows [開始] 功能表 中,尋找並開啟 Windows 安全性
    2. 移至 [ 裝置安全性]。
    3. 在 [核心隔離] 底下,選取 [核心隔離詳細數據]
    4. 在 [記憶體完整性]下,將切換設定為 [關閉]。

    變更此設定之後,您必須重新啟動電腦。

  • 未啟用巢狀虛擬化的客體虛擬安全模式型功能

    若要啟用巢狀虛擬化:

    1. 在 [開始] 功能表 中,搜尋 [開啟或關閉 Windows 功能]。
    2. 在對話框中,選取 [ 虛擬機平臺 ] 複選框。
    3. 選取 [ 確定 ] 以儲存您的設定變更。

在您的開發方塊映像上啟用休眠

如果您打算從 Azure 計算資源庫使用自定義映像,則必須在建立新映射時啟用休眠功能。 您無法為現有的映像啟用休眠功能。

注意

Microsoft Dev Box 在 Azure Marketplace 中提供的 Visual Studio 和 Microsoft 365 映射已設定為支援休眠。 您不需要在這些映像上啟用休眠功能,它們便已可供使用。

若要啟用休眠功能,請在建立映像時, IsHibernateSupported 將旗標設定為 true

az sig image-definition create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location> 
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized 
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2 

如果您使用 sysprep 和一般化 VM 來建立自定義映射,請使用 Azure CLI 擷取您的映射:

az sig image-version create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> 
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>

如需建立自定義映像的詳細資訊,請參閱 使用 Azure VM 映射產生器設定開發方塊。

在開發方塊定義上啟用休眠

在 Microsoft Dev Box 中,當定義使用已啟用休眠功能的自定義或 Azure Marketplace 映射時,您可以啟用新開發方塊定義的休眠功能。 您也可以更新使用已啟用休眠功能的自定義或 Azure Marketplace 映像的現有開發方塊定義。

在開發方塊集區中建立的所有新開發方塊,使用已啟用休眠的開發方塊定義,都可以休眠和關閉。 如果集區具有啟用休眠之前建立的開發方塊,這些開發方塊會繼續支援關機。

Microsoft Dev Box 會驗證您的映像,以取得休眠支援。 如果您的映像無法成功啟用休眠狀態,您的開發方塊定義可能會失敗驗證。

您可以使用 Azure 入口網站 或 Azure CLI,在開發方塊定義上啟用休眠。

在 Azure 入口網站 中啟用休眠

  1. 登入 Azure 入口網站

  2. 在搜尋方塊中,輸入 開發人員中心。 在結果清單中,選取 [開發人員中心]。

  3. 開啟包含您要更新之開發方塊定義的開發人員中心,然後選取 [開發] 方塊定義

    Screenshot that shows the dev center overview page and the menu option for dev box definitions.

  4. 選取您要更新的開發方塊定義,然後選取 [編輯] [鉛筆] 按鈕。

    Screenshot of the list of existing dev box definitions and the edit (pencil) button.

  5. 在 [ 編輯開發方塊定義 ] 頁面上,選取 [ 啟用休眠] 複選框。

    Screenshot of the page for editing a dev box definition, with Enable hibernation selected.

  6. 選取 [儲存]。

使用 Azure CLI 啟用休眠

若要從 Azure CLI 啟用開發方塊定義的休眠功能,請在建立映像時,將旗標設定 hibernateSupportEnabled

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled

疑難排解

如果您在 Dev Box 定義上啟用休眠功能,但定義報告無法啟用休眠:

  • 我們建議直接使用Visual Studio for Dev Box Marketplace 映射,或作為產生自定義映像的基底映像。
  • Windows + OS 優化映射包含優化的電源設定,且無法與休眠搭配使用。
  • 如果您使用自定義的 Azure 計算資源庫映像,請在您的 Azure 計算資源庫映射上啟用休眠功能,再啟用 Dev Box 定義的休眠狀態。
  • 即使您在資源庫映射上啟用休眠,也無法在定義上啟用休眠,您的自定義映像可能會有 Windows 設定來防止休眠。

如需詳細資訊,請參閱 設定 與休眠不相容。

停用開發方塊定義的休眠

如果您在集區上啟用休眠之後布建新的 VM 時發生問題,您可以在開發方塊定義上停用休眠功能。 當您想要將設定還原為僅關閉開發方塊時,您也可以停用休眠。

您可以使用 Azure 入口網站 或 CLI,在開發方塊定義上停用休眠。

停用 Azure 入口網站 中的休眠

  1. 登入 Azure 入口網站

  2. 在搜尋方塊中,輸入 開發人員中心。 在結果清單中,選取 [開發人員中心]。

  3. 開啟包含您要更新之開發方塊定義的開發人員中心,然後選取 [開發] 方塊定義

  4. 選取您要更新的開發方塊定義,然後選取 [編輯] [鉛筆] 按鈕。

  5. 在 [ 編輯開發方塊定義 ] 頁面上,清除 [ 啟用休眠] 複選框。

  6. 選取 [儲存]。

使用 Azure CLI 停用休眠

若要從 Azure CLI 停用開發方塊定義的休眠,請在建立映像時,將旗標設定 hibernateSupportDisabled

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled