- Вопрос или проблема
- Ответ или решение
- Решение проблемы: "Не удается запустить VirtualBox, так как обнаружен гипервизор"
- 1. Проверка состояния гипервизора
- 2. Отключение функций Windows, задействующих гипервизор
- 3. Настройка загрузчика Windows
- 4. Отключение защитных функций
- 5. Проверка BIOS
- 6. Альтернативы для тестирования
- Заключение
Вопрос или проблема
Я на только что установленном Windows 11 Pro 24H2, и я хочу запустить виртуальную машину с помощью VirtualBox. Когда я запускаю виртуальную машину, в правом нижнем углу отображается значок черепашки, и виртуальная машина работает очень медленно.
В логах говорится в какой-то момент:
HM: HMR3Init: Попытка возврата к NEM: AMD-V недоступен
Но функции виртуализации моего процессора включены в BIOS.
Далее в логах:
NEM: NEMR3Init: Активен режим медленного выполнения!
NEM: Внимание! VirtualBox не может работать на полную мощность в этом режиме выполнения.
NEM: Чтобы увидеть, как VirtualBox работает на максимальной скорости, вам нужно отключить все функции Windows,
NEM: использующие Hyper-V. Это изменяющаяся цель, так что загуглите, как это сделать, и осторожно
NEM: подумайте о последствиях отключения этих функций.
В тот момент я подумал, что Hyper-V активен и блокирует VirtualBox от использования функций виртуализации моего процессора.
Сначала я запустил msinfo32, чтобы проверить, включены ли Hyper-V, WSL2, Контейнеры или безопасность на основе виртуализации. Но он сказал только “Гипервизор обнаружен. Функции, необходимые для Hyper-V, не будут показаны.”
Тем не менее, я прошел через обычные шаги, чтобы отключить все функции на основе виртуализации (о которых я знаю):
- Целостность памяти: отключено
- Hyper-V: Ни одна из следующих функций не установлена
- Hyper-V
- Платформа виртуальных машин
- Платформа Windows Hypervisor
- Песочница Windows
Я даже удалил их с помощью powershell (хотя никогда сам их не устанавливал):
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Disable-WindowsOptionalFeature -Online -FeatureName Windows-Hypervisor-Platform
Disable-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM
Затем я установил все параметры загрузки, чтобы не включать никакие функции виртуализации:
bcdedit /set hypervisorlaunchtype off
bcdedit /set nx OptIn
bcdedit /debug off
bcdedit /set isolatedcontext No
bcdedit /set vsmlaunchtype Off
Я где-то читал, что “Credential Guard” также может выполнять некоторые функции виртуализации, в какой-то статье говорилось, что его можно отключить, изменив ключ реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
, добавив значение под названием LsaCfgFlags
(DWORD 32bit) со значением 0. Проверив это, я обнаружил, что это значение уже установлено таким образом.
Затем я установил VirtualBox, чтобы убедиться, что на машине нет ни одного гипервизора.
Выключил компьютер (даже отключил и ждал 10 секунд). После перезагрузки все равно “Гипервизор обнаружен”
Некоторые поиски в Google привели ко множеству команд для проверки состояния гипервизора: команда sc query hvservice
вернула:
SERVICE_NAME: hvservice
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
На данный момент у меня нет представления о том, что это за гипервизор, и у меня заканчиваются идеи. Заметьте, что я не (сознательно) устанавливал никакой другой гипервизор (такой как VMWare), обычно VirtualBox мой основной выбор.
Правка
Вот несколько скриншотов (язык системы – немецкий, переводы предоставлены)
msinfo32
Говорит, что безопасность на основе виртуализации работает.
Групповая политика для отключения безопасности на основе виртуализации
Политика “Virtualisierungsbasierte Sicherheit aktivieren” = “Включить безопасность на основе виртуализации” установлена на “Deaktiviert” = “Отключено”.
Функции Windows
Нет галочек на “Hyper-V” (или каких-либо подэлементах), “Платформа виртуальных машин”, “Платформа Windows Hypervisor”, “Подсистема Windows для Linux” или “Песочница Windows”.
Ядро изоляции в настройках безопасности Windows
Отключено, красный текст “Die Einstellung wird vom Administrator verwaltet” означает “Эта настройка управляется администратором”, скорее всего, это потому, что это отключено через групповую политику.
Правка 2
Мне удалось найти настройку для включения/выключения AMD-V в моем BIOS (MSI почему-то скрывает это под разгоном). Когда я отключаю это и загружаюсь в Windows, безопасность на основе виртуализации отключена (из-за отсутствия аппаратной поддержки). К сожалению, после того как я снова включаю это (потому что я хотел бы запустить виртуальную машину), безопасность на основе виртуализации автоматически снова активируется.
Ответ или решение
Решение проблемы: "Не удается запустить VirtualBox, так как обнаружен гипервизор"
Когда вы сталкиваетесь с ошибкой "Не удается запустить VirtualBox, так как обнаружен гипервизор" на Windows 11 Pro 24H2, это может быть результатом конфликта с активированными функциями виртуализации. Давайте разберемся с этой ситуацией шаг за шагом.
1. Проверка состояния гипервизора
Первым делом, важно убедиться, что гипервизор действительно активен. Для этого вы можете выполнить команду:
sc query hvservice
Если состояние службы "hvservice" отображает "RUNNING", это означает, что гипервизор работает, и он может блокировать работу VirtualBox.
2. Отключение функций Windows, задействующих гипервизор
Из вашего описания видно, что вы уже отключили следующие функции:
- Hyper-V
- Платформа виртуальных машин
- Платформа Windows Hypervisor
- Контейнеры
Однако, убедитесь, что они действительно отключены. Используйте команду PowerShell для их отключения:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Disable-WindowsOptionalFeature -Online -FeatureName Windows-Hypervisor-Platform
Disable-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM
Также перепроверьте параметры в системных настройках и убедитесь, что все компоненты гипервизора удалены.
3. Настройка загрузчика Windows
Следующий шаг заключается в том, чтобы изменить параметры загрузки Windows, что может помочь отключить гипервизор. Выполните следующие команды в командной строке с правами администратора:
bcdedit /set hypervisorlaunchtype off
bcdedit /set nx OptIn
bcdedit /debug off
bcdedit /set isolatedcontext No
bcdedit /set vsmlaunchtype Off
После выполнения этих команд обязательно перезагрузите компьютер.
4. Отключение защитных функций
Вы также упомянули, что проверяли "Credential Guard" и "Virtualization-Based Security". Убедитесь, что все параметры, относящиеся к безопасности виртуализации, отключены.
-
Реестр: Перейдите по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
и проверьте значениеLsaCfgFlags
. Должно быть установлено на0
. -
Групповая политика: Рекомендуется также проверить параметры групповой политики, чтобы убедиться, что никаких политик, активирующих Virtualization-Based Security (VBS), не установлено.
5. Проверка BIOS
Вы отметили, что в BIOS активирована виртуализация (AMD-V). Это необходимо для работы VirtualBox. Однако, если вы отключаете её, и VBS отключается, при повторном включении она автоматически активируется, возможно, из-за настроек безопасности в BIOS. Убедитесь, что:
- AMD-V действительно включен в BIOS.
- Проверьте, нет ли других встроенных функций безопасности, которые могут конфликтовать с VirtualBox.
6. Альтернативы для тестирования
Если все вышеперечисленные шаги не помогли, вы можете рассмотреть:
- Установку другого гипервизора (например, VMware Workstation Player), чтобы проверить, возникает ли аналогичная проблема.
- Создание нового пользователя с правами администратора и повторная установка VirtualBox в его окружении.
- Использование старой версии VirtualBox, которая может оказаться более совместимой с вашим оборудованием и конфигурацией.
Заключение
Ошибка "A hypervisor has been detected" может быть устранена путем тщательной проверки состояния гипервизора, отключения всех связанных функций в Windows и BIOS, а также проверки настроек безопасности. Следуя вышеописанным шагам, вы сможете вернуть VirtualBox в рабочее состояние и наслаждаться виртуализацией.
Если проблема все еще сохраняется, рекомендуем обратиться в службу поддержки VirtualBox для получения дополнительной помощи.