Во время тестирования ВМ я из любопытства поставил галочку Enable nested virtualization
на вкладке Processor в Windows Admin Center (Version 2103.2 Build 1.3.2105.24004).
Попытка запустить виртуальную машину возвращает эту ошибку, что имеет смысл:
RemoteException: Failed to start virtual machine VM NAME. Ошибка: 'VM NAME' failed to start. 'VM NAME' не удалось инициализировать. Виртуальная машина не может быть запущена, поскольку эта платформа не поддерживает вложенную виртуализацию. 'VM NAME' не удалось запустить. (Идентификатор виртуальной машины ) 'VM NAME' не удалось запустить рабочий процесс: Unspecified error (0x80004005). (Идентификатор виртуальной машины ) 'VM NAME' не удалось инициализировать. (ID виртуальной машины ) Виртуальная машина не может быть запущена, поскольку эта платформа не поддерживает вложенную виртуализацию. Рассмотрите возможность не раскрывать расширения виртуализации для виртуальной машины".
Однако после этого изменения я не могу снять галочку Включить вложенную виртуализацию
, так как при сохранении сразу же снова ставится галочка. Как отключить его, чтобы виртуальная машина снова могла работать?
Похоже, это ошибка (я отправил ее через форму обратной связи WAC), и ее нельзя устранить даже с помощью диспетчера Hyper-V. . Похоже, что встроенные инструменты Powershell также не имеют соответствующих команд, если только у вас нет System Center , который добавляет команду с именем Set-SCVirtualMachine
. Однако я не проверял это.
Я решил это следующим образом:
В Windows Admin Center используйте модуль Файлы и общий доступ к файлам , чтобы перейти к месту сохранения виртуальной машины. Папка должна содержать файл .vmcx
, который является конфигурацией.
Возможно, вы не сможете напрямую загрузить (а затем загрузить и заменить) файл. В этом случае введите командную строку на хосте (например, через модуль Powershell ) и скопируйте файл
в
, просто используя copy
. После этого скачайте файл. Сделайте дополнительную резервную копию!
Используя шестнадцатеричный редактор, например HxD, откройте файл и найдите nested_virtualization
.Между этим и текстом enable_perfmon_pmu
вы должны увидеть такое представление. Положение смещения / начала отличается и меняется с каждой виртуальной машиной.
включен
(в шестнадцатеричном формате 65 6E 61 62 6C 65 64
) вы увидите шестнадцатеричную последовательность 00 01
. Измените эту последовательность на 00 00
. Сохраните измененный файл, загрузите и замените исходный (возможно, вам потребуется использовать Powershell для копирования и перезаписи файла)
Запустите виртуальную машину снова - виртуальная машина должна запуститься нормально, как и до изменять.