Virtual-Machines
無法在 Windows Admin Center 中關閉“嵌套虛擬化”
在進行 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
. 我還沒有測試過。我已經通過以下方式解決了它:
- 在 Windows Admin Center 中,使用文件和文件共享模組導航到 VM 保存位置。該文件夾應包含一個
.vmcx
文件,即配置文件。- 您可能無法直接下載(以及稍後上傳和替換)該文件。在這種情況下,在主機上輸入命令行(例如通過Powershell模組)並將
<FILENAME>.vcmx
文件複製到<FILENAME>.vcmx.backup
,只需使用copy <FILENAME>.vcmx <FILENAME>.vcmx.backup
. 之後,下載文件。做一個額外的備份!- 使用 HxD 等十六進制編輯器打開文件並蒐索
nested_virtualization
. 在 that 和 text 之間enable_perfmon_pmu
,您應該看到這樣的視圖。偏移/起始位置不同,並且隨著每個 VM 的變化而變化。
- 在文本
enabled
(十六進制65 6E 61 62 6C 65 64
)之後,您將看到一個十六進制序列00 01
。將該序列更改為 read00 00
。
- 保存修改後的文件,上傳替換原文件(可能需要使用Powershell複製覆蓋文件)
- 再次啟動 VM - VM 應該像更改之前一樣正常啟動。