Добрый день!
Недавно столкнулся с проблемой при запуске клиента игры: "sorry, this application cannot run under a VM"
Проблема знакомая и пути ее решения просты.
Но я поделюсь лучшим вариантом решения, чтобы одновременно работали и vmware\virtualbox и сама игра.
Это не дает возможность запускать игру в самой VM, но это возможность использовать параллельно это ПО.
Основное решение в интернете это отключение технологии виртуализации в BIOS.
Нам это не подходит, т.к vmware\virtualbox работать не будут.
Теперь перейдем к самому решению. Сначала диагностика на моем примере когда проблема все еще существует:
1) У меня официальная windows 11(решение справедливо и для win10).
2) Новое железо на момент написания статьи с 13 поколением процессора intel.
3) Установленный официальный VMware Workstation Pro для работы.
4) В cmd при запуске команды systeminfo пишет что найдена виртуализация hyper-v.
5) hyper-v как компонент не установлен и в настройках реестра в параметре "SystemStartOptions" установлен ключ "HYPERVISORLAUNCHTYPE=OFF".
Основные шаги решения:
1) Отключить hyper-v (он может быть по умолчанию отключен, но мало ли)
2) Отключить Credential Guard (в win 11 включен по умолчанию)
3) Отключить безопасность на основе виртуализации (VBS). По сути тоже самое что и п.2.
Чем необходимо воспользоваться:
1) Отключаем hyper-v через powershell(запуск от администратора): Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
2) Отключаем Credential Guard и VBS через групповые политики:
2.1) Пуск - выполнить - ввести gpedit.msc
2.2) Перейти "Конфигурация компьютера\Административные шаблоны\Система\Device Guard"
2.3) Для параметра "Включить средство обеспечения безопасности на основе виртуализации." установить значение "Отключено"
До перезагрузки ОС фиксируем состояние:
1) В powershell\cmd выполнить systeminfo и запомнить что есть по параметру "Требования Hyper-V". Должно быть сказано что он включен, но не отображается.
2) В powershell выполнить: (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning
2.1) Будет написано что ServicesRunning и их количество ниже. Это значит что сервисы Credential Guard и VBS все еще активны.
Выполняем перезагрузку ОС и проверяем:
1) В powershell\cmd выполнить systeminfo и запомнить что есть по параметру "Требования Hyper-V". Должно быть несколько пунктов где есть " Виртуализация включена во встроенном ПО: Да".
2) В powershell выполнить: (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning
2.1) Будет написано что ServicesRunning и их количество ниже равно нулю. Это значит что сервисы Credential Guard и VBS отключены.
3) Пробуем запускать клиент игры.
Спасибо за внимание!
Используемая документация:
https://learn.microsoft.com/ru-ru/troubleshoot/windows-client/application-management/virtualization-apps-not-work-with-hyper-v
https://learn.microsoft.com/ru-ru/windows/security/identity-protection/credential-guard/configure?tabs=intune