Перейти к основному содержимому

Ошибка "This application cannot run under a virtual machine"

Что это за ошибка и почему она возникает?

Ошибка "Sorry, this application cannot run under a virtual machine" (Программа не может быть запущена на виртуальной машине) появляется, когда программа ошибочно определяет, что запущена в виртуальной среде, даже если вы используете обычный физический компьютер.

Сообщение об ошибке

Это происходит из-за того, что современные версии Windows 10 и 11 активно используют технологии виртуализации для обеспечения безопасности (например, Изоляция ядра) и для работы таких компонентов, как Hyper-V, Песочница Windows и Подсистема Windows для Linux (WSL).

Почему программы конфликтуют с виртуализацией?

Некоторые приложения, особенно игры с анти-чит системами, финансовое ПО или специализированный софт для диагностики, проверяют, не запущены ли они в виртуальной машине, чтобы предотвратить взлом или несанкционированный анализ.

Когда такая программа обнаруживает активные компоненты виртуализации Windows, она воспринимает операционную систему как "виртуальную" и блокирует свой запуск. Отключение этих компонентов решает проблему.


Способ 1: Отключение компонентов виртуализации (Рекомендуемый)

Это самый частый и эффективный способ решения проблемы на физическом компьютере.

  1. Нажмите клавиши Win + R, введите optionalfeatures и нажмите Enter, чтобы открыть окно "Компоненты Windows".

  2. В открывшемся списке найдите и снимите галочки со следующих пунктов (если они включены):

    • Hyper-V (снимите главную галочку, чтобы отключить все вложенные компоненты).
    • Платформа виртуальной машины (Virtual Machine Platform).
    • Платформа низкоуровневой оболочки Windows (Windows Hypervisor Platform).
    • Песочница Windows (Windows Sandbox).
    • Подсистема Windows для Linux (Windows Subsystem for Linux).

    Окно "Компоненты Windows" с отключенными пунктами

  3. Нажмите "ОК". Система применит изменения и предложит перезагрузить компьютер.

  4. Обязательно перезагрузите компьютер. Простое выключение и включение может не дать эффекта из-за функции "Быстрый запуск".


Способ 2: Через Командную строку или PowerShell

Если первый способ не помог или вы предпочитаете использовать консоль, можно отключить компоненты и гипервизор специальными командами.

  1. Откройте Командную строку (CMD) или PowerShell от имени администратора. Для этого нажмите правой кнопкой мыши на меню "Пуск" и выберите "Терминал (Администратор)" или "Командная строка (Администратор)".

  2. Чтобы отключить все компоненты Hyper-V, выполните команду:

    dism.exe /Online /Disable-Feature /FeatureName:Microsoft-Hyper-V-All
  3. Чтобы отключить другие платформы виртуализации, используйте команды:

    dism.exe /Online /Disable-Feature /FeatureName:VirtualMachinePlatform
    Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
  4. Затем, для полного отключения запуска гипервизора, выполните команду:

    bcdedit /set hypervisorlaunchtype off

    Выполнение команды для отключения гипервизора

  5. После выполнения всех команд обязательно перезагрузите компьютер.

Чтобы в будущем снова включить гипервизор, используйте команду bcdedit /set hypervisorlaunchtype auto и перезагрузитесь.


Способ 3: Отключение Изоляции ядра (Целостности памяти)

Иногда проблема связана исключительно с функцией "Целостность памяти", которая является частью Изоляции ядра и использует виртуализацию для защиты.

  1. Откройте "Безопасность Windows" (через значок щита в трее или поиск в меню "Пуск").

  2. Перейдите в раздел "Безопасность устройства".

  3. В блоке "Изоляция ядра" нажмите на ссылку "Сведения об изоляции ядра".

  4. Отключите переключатель "Целостность памяти".

    Отключение Целостности памяти в Безопасности Windows

  5. Система потребует перезагрузку. Перезагрузите ПК, чтобы изменения вступили в силу.


Продвинутые способы (Для опытных пользователей)

Внимание!

Используйте эти методы, только если стандартные способы не сработали. Неправильное изменение реестра или настроек BIOS может нарушить работу системы.

Способ 4: Через Редактор реестра (regedit)

Этот метод отключает безопасность на основе виртуализации (VBS) напрямую через реестр.

  1. Нажмите Win + R, введите regedit и нажмите Enter.

  2. Перейдите в следующий раздел реестра:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
  3. В правой части окна найдите параметр EnableVirtualizationBasedSecurity. Если он существует, дважды кликните по нему и установите его значение равным 0.

  4. Теперь перейдите в подраздел:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
  5. Найдите параметр Enabled. Если его значение 1, измените его на 0.

    Изменение параметров VBS в редакторе реестра

  6. Закройте редактор реестра и перезагрузите компьютер.

Способ 5: Отключение виртуализации в BIOS/UEFI

Это крайняя мера, так как она отключает поддержку виртуализации на уровне оборудования, что может повлиять на работу других программ. Используйте этот способ, только если ничего другое не помогло.

  1. Перезагрузите компьютер и войдите в BIOS/UEFI (обычно по клавишам F2, Del, F10 или Esc при старте).
  2. Найдите раздел, отвечающий за настройки процессора (CPU Configuration, Advanced, Overclocking или похожий).
  3. Найдите и установите в положение Disabled (Отключено) опцию с одним из следующих названий:
    • Intel Virtualization Technology (VT-x) или просто Virtualization Technology
    • AMD-V
    • SVM Mode (Secure Virtual Machine)
  4. Сохраните изменения (обычно клавиша F10) и выйдите из BIOS/UEFI. Компьютер перезагрузится.