Virtual-Machines

無法在 Windows Admin Center 中關閉“嵌套虛擬化”

  • July 15, 2021

在進行 VM 測試時,出於好奇,我Enable nested virtualization在 Windows Admin Center(版本 2103.2 Build 1.3.2105.24004)的“處理器”選項卡中打勾。

嘗試啟動 VM 會返回此錯誤,這是有道理的:

RemoteException: 無法啟動虛擬機 VM NAME。錯誤:“VM NAME”無法啟動。“VM NAME”無法初始化。無法啟動虛擬機,因為此平台不支持嵌套虛擬化。“VM NAME”無法啟動。(虛擬機 ID)“VM NAME”無法啟動工作程序:未指定的錯誤 (0x80004005)。(虛擬機 ID)“VM NAME”無法初始化。(虛擬機 ID )無法啟動虛擬機,因為此平台不支持嵌套虛擬化。考慮不向虛擬機公開虛擬化擴展。

但是,在此更改之後,我無法取消勾選Enable nested virtualization,因為保存會立即再次勾選。如何禁用它以便 VM 可以再次執行?

或者…

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false

這似乎是一個錯誤(我已通過 WAC 回饋表送出),即使使用 Hyper-V 管理器也無法解決。內置的 Powershell 工具似乎也沒有適當的命令來執行此操作,除非您有System Center,它添加了一個名為Set-SCVirtualMachine. 我還沒有測試過。

我已經通過以下方式解決了它:

  1. 在 Windows Admin Center 中,使用文件和文件共享模組導航到 VM 保存位置。該文件夾應包含一個.vmcx文件,即配置文件。
  2. 您可能無法直接下載(以及稍後上傳和替換)該文件。在這種情況下,在主機上輸入命令行(例如通過Powershell模組)並將<FILENAME>.vcmx文件複製到<FILENAME>.vcmx.backup,只需使用copy <FILENAME>.vcmx <FILENAME>.vcmx.backup. 之後,下載文件。做一個額外的備份!
  3. 使用 HxD 等十六進制編輯器打開文件並蒐索nested_virtualization. 在 that 和 text 之間enable_perfmon_pmu,您應該看到這樣的視圖。偏移/起始位置不同,並且隨著每個 VM 的變化而變化。

橫向視圖

  1. 在文本enabled(十六進制65 6E 61 62 6C 65 64)之後,您將看到一個十六進制序列00 01將該序列更改為 read 00 00

帶高亮顯示的 HxD 視圖

  1. 保存修改後的文件,上傳替換原文件(可能需要使用Powershell複製覆蓋文件)
  2. 再次啟動 VM - VM 應該像更改之前一樣正常啟動。

引用自:https://serverfault.com/questions/1066349