Невозможно отключить «Вложенную виртуализацию» в Центре администрирования Windows.

Во время тестирования виртуальной машины я из любопытства установил галочку на вкладке «Процессор» в Центре администрирования Windows (версия 2103.2, сборка 1.3.2105.24004).

Попытка запустить виртуальную машину возвращает эту ошибку, что имеет смысл:

RemoteException: не удалось запустить виртуальную машину ИМЯ ВМ. Ошибка: «ИМЯ ВМ» не удалось запустить. «ИМЯ ВМ» не удалось инициализировать. Не удалось запустить виртуальную машину, поскольку эта платформа не поддерживает вложенную виртуализацию. «ИМЯ ВМ» не удалось запустить. (Идентификатор виртуальной машины) «ИМЯ ВМ» не удалось запустить рабочий процесс: неизвестная ошибка (0x80004005). (Идентификатор виртуальной машины) «ИМЯ ВМ» не удалось инициализировать. (Идентификатор виртуальной машины) Не удалось запустить виртуальную машину, поскольку эта платформа не поддерживает вложенную виртуализацию. Рассмотрите возможность не предоставлять расширения виртуализации виртуальной машине.

Однако после этого изменения я не могу снять галочкуEnable nested virtualization, так как сохранение сразу же снова отметит его. Как отключить его, чтобы виртуальная машина могла снова работать?

2 ответа

или...

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

Похоже, это ошибка (я отправил ее через форму обратной связи WAC), и ее невозможно устранить даже с помощью диспетчера Hyper-V. Встроенные инструменты Powershell, по-видимому, также не имеют соответствующих команд для этого, если только у вас не установлен System Center, который добавляет команду под названиемSet-SCVirtualMachine. Хотя я это не проверял.

Я решил это следующим образом:

  1. В Центре администрирования Windows используйте модуль «Файлы и общий доступ к файлам» , чтобы перейти к месту сохранения виртуальной машины. В папке должен находиться.vmcxфайл, который является конфигурацией.

  2. Возможно, вы не сможете напрямую загрузить (а затем загрузить и заменить) файл. В этом случае введите командную строку на хосте (например, через модуль Powershell ) и скопируйте<FILENAME>.vcmxфайл в<FILENAME>.vcmx.backup, просто используяcopy <FILENAME>.vcmx <FILENAME>.vcmx.backup. После этого загрузите файл. Сделайте дополнительную резервную копию!

  3. Используя шестнадцатеричный редактор, например HxD, откройте файл и найдитеnested_virtualization. Между этим и текстомenable_perfmon_pmu, вы должны увидеть такое представление. Позиция смещения/начала различна и меняется с каждой виртуальной машиной.

  1. После текстаenabled(в шестнадцатеричном формате65 6E 61 62 6C 65 64), вы увидите шестнадцатеричную последовательность00 01. Измените эту последовательность, чтобы прочитать 00 00.

  1. Сохраните измененный файл, загрузите и замените исходный (возможно, вам придется использовать Powershell , чтобы скопировать и перезаписать файл).

  2. Запустите виртуальную машину еще раз — виртуальная машина должна запуститься нормально, как и до изменения.

Другие вопросы по тегам