Microsoft開發箱中的休眠可協助您有效率地管理雲端開發環境,同時降低成本。 藉由啟用休眠功能,您可以保留開啟的應用程式和視窗狀態,節省虛擬機 (VM) 成本,而不會中斷工作流程。 本文說明如何在開發方塊映像和定義層級設定休眠、自動化休眠排程,以及解決相容性考慮。
透過開發方塊休眠的引入,您可以在新的開發方塊上啟用這項功能,來休眠並恢復使用。 此功能提供方便的方式來管理您的開發方塊,同時維護工作環境。
請遵循下列三個步驟來啟用休眠:
- 在您的開發方塊映像上啟用休眠。
- 在您的開發方塊定義上啟用休眠。
- 使用自動停止排程或在 RDP 中斷連線時停止,將開發箱集區的休眠自動化。
啟用休眠的映像注意事項
在您啟用開發機上的休眠功能之前,請先檢閱下列具有休眠功能的映像之相關考量。
目前,有兩個 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)/ 記憶體完整性功能。 開發箱會自動停用此功能。
自動停止排程將使在您啟用相關 Dev Box 定義的休眠功能後建立的 Dev Box 進入休眠狀態。 在您依據開發箱定義啟用休眠之前所建立的開發箱將繼續關機。
與休眠不相容的設定
已知下列設定與休眠不相容,且不支援休眠功能:
記憶體完整性/Hypervisor 程式代碼完整性
若要停用記憶體完整性/Hypervisor 程式碼完整性:
- 在 [Windows 開始] 功能表中,尋找並開啟 Windows 安全性。
- 移至 [裝置安全性]。
- 在 [核心隔離] 底下,選取 [核心隔離詳細數據]
- 在 [記憶體完整性] 底下,將切換設定為 [關閉]。
變更此設定之後,您必須重新啟動電腦。 變更此設定之後,請重新啟動電腦。
未啟用巢狀虛擬化的客體虛擬安全模式型功能
若要啟用巢狀虛擬化:
- 在 [開始] 功能表中,搜尋 [開啟或關閉 Windows 功能]。
- 在對話框中,選取 [ 虛擬機平臺 ] 複選框。
- 選取 [確定 ] 以儲存您的設定變更。
在您的開發方塊映像上啟用休眠
如果您打算從 Azure 計算資源庫使用自定義映像,則必須在建立新映射時啟用休眠功能。 您無法為現有的映像啟用休眠功能。
備註
Azure Marketplace 中Microsoft Dev Box 提供的 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 映射產生器設定開發方塊。
深入瞭解如何使用 Azure VM 映射產生器在設定開發方塊中建立自定義映像。
在開發方塊定義上啟用休眠
在 Microsoft 開發箱中,當定義使用已啟用休眠功能的自訂或 Azure Marketplace 映像時,您可以啟用新開發箱定義的休眠功能。 您也可以更新使用啟用休眠的自訂或 Azure Marketplace 映像的現有開發箱定義。
凡是在開發方塊集區中建立的新開發方塊,若使用啟用休眠功能的開發方塊定義,皆具備休眠與關機的能力。 如果集區所含的開發箱是在啟用休眠之前建立的,則這些開發箱會繼續僅支援關機。
Microsoft Dev Box 會驗證您的映像,以確認是否支援休眠功能。 如果無法使用映像成功啟用休眠,您的開發箱定義可能會驗證失敗。
您可以使用 Azure 入口網站或 Azure CLI,在開發方塊定義上啟用休眠功能。
在 Azure 入口網站中啟用休眠
登入 Azure 入口網站。
在搜尋方塊中,輸入開發人員中心。 在結果清單中,選取 [開發人員中心]。
開啟開發人員中心,其中包含您要更新的開發箱定義,然後選取 [開發箱定義]。
選取您要更新的開發方塊定義,然後選取 [編輯] [鉛筆] 按鈕。
在 [ 編輯開發方塊定義 ] 頁面上,選取 [ 啟用休眠] 複選框。
選取 [儲存]。
使用 Azure CLI 啟用休眠
若要從 Azure CLI 啟用開發方塊定義的休眠功能,請在建立映像時,將旗標設定 hibernateSupport 為 Enabled :
az devcenter admin devbox-definition update
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled
針對從未存取過的開發方塊啟用自動休眠
這項功能可協助您將成本降到最低,方法是對於啟動但無使用者連線的開發方塊自動進行休眠。 如果開發箱啟動時,且沒有人與 RDP 連線,它會在您設定的寬限期之後輸入休眠狀態。 此設定可確保閑置的開發方塊不會不必要地使用資源,因此您可以將成本和資源使用量優化。
若要為從未存取過的開發方塊設定休眠,您必須在開發方塊集區中啟用設定。
登入 Azure 入口網站。
在 [搜尋] 方塊中輸入「projects」。 在結果清單中,選取 [專案]。
使用您要更新的開發方塊集區開啟專案,然後選取 Dev 方塊集區。
選取您要更新的開發方塊集區,然後在 [開發方塊作業] 功能選取 [編輯]。
在 [ 編輯開發方塊集區 ] 頁面上,選取 從未存取過的休眠開發方塊。
當您選取 從未存取過的休眠開發方塊時,您可以設定寬限期。 這可讓使用者在休眠之前連線到開發方塊。 將 寬限期(分鐘) 設定為您想要的時間。
選取 [儲存]。
故障排除
如果您在 Dev Box 定義上啟用休眠功能,卻發現定義報告顯示休眠功能未啟用:
- 我們建議使用 Visual Studio for Dev Box 市集的映像檔,無論是直接使用,還是作為產生自訂映像檔的基底映像檔。
- Windows + OS 優化映射包含優化的電源設定,且與休眠不相容。
- 如果您使用自定義的 Azure 計算資源庫映像檔,請先在您的 Azure 計算資源庫映像檔上啟用休眠功能,然後再在 Dev Box 定義中啟用休眠狀態。
- 即使您在圖庫影像上啟用了休眠,但如果仍然無法在定義上啟用,這可能是因為您的自訂影像有 Windows 設定阻止休眠。
- 如果您在佈建開發箱時遇到問題,請確定映像支援休眠。
- 如果映像支援休眠,但在佈建期間仍有失敗,請參閱針對 Windows VM 上的休眠進行疑難排解。
如需詳細資訊,請參閱 設定與休眠不相容。
在開發箱定義上停用休眠
如果您在集區上啟用休眠之後遇到布建新 VM 的問題,請在開發方塊定義上停用休眠。
如果您在集區上啟用休眠之後布建新的 VM 時發生問題,您可以在開發方塊定義上停用休眠功能。 當您想要將設定還原為僅關閉開發方塊時,您也可以停用休眠。
您可以使用 Azure 入口網站或 CLI,在開發方塊定義上停用休眠。
在 Azure 入口網站中停用休眠
登入 Azure 入口網站。
在搜尋方塊中,輸入開發人員中心。 在結果清單中,選取 [開發人員中心]。
開啟開發人員中心,其中包含您要更新的開發箱定義,然後選取 [開發箱定義]。
選取您要更新的開發方塊定義,然後選取 [編輯] [鉛筆] 按鈕。
在 [ 編輯開發方塊定義 ] 頁面上,清除 [ 啟用休眠] 複選框。
選取 [儲存]。
使用 Azure CLI 停用休眠
若要從 Azure CLI 停用開發方塊定義的休眠,請在建立映像時,將旗標設定 hibernateSupport 為 Disabled :
az devcenter admin devbox-definition update
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled


![用於編輯開發方塊定義的頁面螢幕快照,其中已選取 [啟用休眠]。](media/how-to-configure-dev-box-hibernation/dev-box-definition-enable-hibernation.png)