Почему виртуальная машина Hyper-V не запускается?
Hyper-V — мощный инструмент, но его работа зависит от множества факторов: от настроек железа до целостности конфигурации виртуальной машины (ВМ). Если при попытке запуска ВМ зависает на этапе «Включение…» или сразу завершается с ошибкой, проблема почти всегда решаема. В этом гайде мы пройдём по ключевым точкам диагностики, от самых простых до более сложных.
Симптомы проблемы
- ВМ останавливается в состоянии «Включение» (Starting).
- Появляется ошибка «Не удалось запустить виртуальную машину» с кодом (например, 0x80070490, 0x80070005).
- В журнале событий Hyper-V фиксируются сбои от службы
VMMS. - Команда
Get-VMв PowerShell показывает статусOffилиFailed.
Что нам понадобится
- Windows 10/11 Pro, Enterprise или Education (Hyper-V недоступен в домашних версиях).
- Права администратора.
- Доступ к BIOS/UEFI (если потребуется).
1. Базовая проверка: включён ли Hyper-V?
Даже если вы ранее включали Hyper-V, обновления Windows или изменения в системе могли его отключить.
- Нажмите Win + R, введите
optionalfeatures.exeи нажмите Enter. - В окне «Компоненты Windows» найдите Hyper-V.
- Убедитесь, что стоит галочка напротив всего дерева (особенно Гипервизор Windows).
- Нажмите OK и дождитесь установки. Перезагрузите компьютер.
💡 Совет: После перезагрузки откройте PowerShell от администратора и выполните
systeminfo. В разделе «Требования Hyper-V» должны быть строкиДа. ЕслиНет— проблема с поддержкой виртуализации в BIOS.
2. Перезапуск и проверка служб Hyper-V
Службы Hyper-V — «мозг» системы. Их сбой или остановка — частая причина.
- Нажмите Win + R, введите
services.msc, нажмите Enter. - Найдите две службы:
- Hyper-V Virtual Machine Management (
vmms) - Hyper-V Host Compute Service (
vmcompute)
- Hyper-V Virtual Machine Management (
- Для каждой:
- Щёлкните правой кнопкой → Свойства.
- Убедитесь, что Тип запуска = «Автоматически».
- Нажмите Перезапустить.
- Если службы не запускаются, посмотрите их Журнал событий Windows (в свойствах службы → вкладка «Журнал событий»).
Также в PowerShell (администратор) можно выполнить:
# Перезапустить все службы Hyper-V
Restart-Service -Name vmms, vmcompute -Force
# Проверить их статус
Get-Service -Name vmms, vmcompute
3. Настройки BIOS/UEFI: виртуализация и безопасность
Без включённой виртуализации в прошивке Hyper-V работать не будет.
- Перезагрузите ПК и зайдите в BIOS/UEFI (клавиша Del, F2, F10, F12 — зависит от производителя).
- Найдите раздел CPU Configuration или Advanced CPU Settings.
- Включите опции:
- Intel VT-x / AMD-V (иногда называется SVM на AMD).
- Intel VT-d / AMD-Vi (IOMMU, для проброса устройств).
- Intel EPT / AMD RVI (вторая стадия трансляции адресов, желательно включить).
- Также проверьте раздел Security:
- Убедитесь, что Secure Boot не блокирует Hyper-V (обычно не блокирует, но в редких случаях может).
- Virtualization Technology должна быть Enabled.
- Сохраните изменения (F10) и выйдите.
⚠️ Важно: После включения виртуализации в BIOS может потребоваться сбросить настройки безопасности в Windows (например, отключить Hypervisor-Protected Code Integrity, если он конфликтует с драйверами). Обычно это не нужно.
4. Конфликты с другим ПО виртуализации
Если у вас установлены VMware Workstation/Player, VirtualBox, Docker Desktop (с WSL2), они могут конфликтовать с Hyper-V, так как все пытаются занять гипервизор.
Вариант A: Временное удаление/отключение
- Удалите конкурирующее ПО через «Программы и компоненты».
- Или отключите его сетевые драйверы (например, в VirtualBox: Файл → Настройки → Сеть → Удалить адаптеры).
Вариант B: Переключение режима Hyper-V
Если вы хотите оставить оба гипервизора, можно попробовать отключить гипервизор Windows для конкретной ВМ (но это снизит производительность):
- В свойствам ВМ → Процессор → снимите галочку Включить гипервизор Windows.
- Или глобально через командную строку (администратор):
bcdedit /set hypervisorlaunchtype off
Затем перезагрузите ПК. Чтобы вернуть — bcdedit /set hypervisorlaunchtype auto.
5. Сброс и пересоздание виртуального коммутатора
Повреждённый или неправильно настроенный виртуальный коммутатор — частая «тихая» причина.
- Откройте Диспетчер Hyper-V.
- Справа в действиях выберите Диспетчер виртуальных коммутаторов.
- Удалите все существующие коммутаторы (если они не используются критичными ВМ).
- Создайте новый:
- Тип: Внешняя (чтобы ВМ выходила в интернет).
- Имя: например,
ExternalSwitch. - В «Виртуальный адаптер» выберите ваш физический сетевой интерфейс (Ethernet или Wi-Fi).
- Нажмите OK.
- В свойствах вашей ВМ → Адаптеры сети → выберите новый коммутатор.
6. Восстановление конфигурации виртуальной машины
Если проблема в конкретной ВМ (а не во всех), возможно, повреждён её конфигурационный файл (.xml или .vmcx в папке ВМ).
Способ 1: Экспорт и импорт (рекомендуется)
- В Диспетчере Hyper-V выключите проблемную ВМ.
- Щёлкните правой кнопкой → Экспорт.
- Укажите папку для экспорта.
- После успешного экспорта создайте новую ВМ (быстрое создание или из образа).
- В настройках новой ВМ → Жёсткий диск → Изменить → Обзор и укажите VHD/VHDX-файл, который был экспортирован.
- Попробуйте запустить.
Способ 2: Восстановление из резервной копии
Если вы использовали Резервное копирование Windows или сторонние утилиты, восстановите папку ВМ из бэкапа (обычно C:\Users\Public\Documents\Hyper-V\Virtual Machines и ...\Virtual Hard Disks).
7. Дополнительные методы диагностики
Если ничего не помогло, углубимся в логи.
Просмотр событий Hyper-V
- Откройте Просмотр событий Windows (
eventvwr.msc). - Перейдите: Журналы Windows → Приложение.
- В фильтре текущего журнала введите Hyper-V или VMMS.
- Ищите события с уровнем Ошибка (Error) в момент попытки запуска ВМ. Частые коды:
- 32780 — проблема с доступом к VHD.
- 16000 — сбой инициализации виртуального коммутатора.
- 13000 — ошибка конфигурации процессора.
Проверка VHD-файла
Убедитесь, что виртуальный жёсткий диск не повреждён и доступен:
# Проверить VHDX на ошибки (замените путь)
Resize-VHD -Path "C:\VMs\MyVM\VirtualHardDisks\disk.vhdx" -SizeBytes 50GB -Confirm:$false
Или используйте утилиту Hyper-V Virtual Machine Connection (vmconnect.exe) для подключения к консоли ВМ, если она частично запускается.
Сброс сети Hyper-V (чистка)
Иногда помогает полный сброс сетевых компонентов Hyper-V в PowerShell (администратор):
# Удалить все виртуальные коммутаторы и адаптеры
Get-VMSwitch | Remove-VMSwitch -Force
Get-NetAdapter -Name "vEthernet*" | Remove-NetAdapter -Confirm:$false
# Перезагрузить службу управления сетью Hyper-V
Restart-Service -Name vmcompute -Force
Затем создайте коммутатор заново (см. шаг 5).
8. Крайние меры
- Обновление драйверов и BIOS: Установите последние драйверы чипсета и сетевых адаптеров с сайта производителя материнской платы/ноутбука. Обновите BIOS/UEFI.
- Отключение антивируса: Некоторые АВ (особенно с «глубокой» защитой) блокируют гипервизор. Временно отключите.
- Чистая загрузка: Выполните
msconfig→ «Службы» → галочку «Не отображать службы Майкрософт» → отключите всё. Перезагрузитесь. Если ВМ запустится — виновата сторонняя служба. - Создание новой ВМ с нуля: Если проблема только в одной ВМ, создайте новую и привяжите старый VHD. Иногда помогает.
Заключительная проверка
После каждого шага пытайтесь запустить виртуальную машину. Если проблема решилась — вы нашли причину. Если нет — переходите к следующему пункту.
Наиболее вероятные причины в порядке убывания:
- Отключён Hyper-V в компонентах Windows (шаг 1).
- Неактивные службы
vmms/vmcompute(шаг 2). - Выключенная виртуализация в BIOS (шаг 3).
- Конфликт с VMware/VirtualBox (шаг 4).
- Повреждённый виртуальный коммутатор (шаг 5).
- Битые настройки конкретной ВМ (шаг 6).
Если ни один шаг не помог, возможно, проблема в железе (недостаток памяти, несовместимый процессор) или глубоком повреждении системы. В таком случае рассмотрите восстановление Windows или чистую установку.
Удачи в диагностике! Если вы нашли другое решение — поделитесь им в комментариях (в оригинальном источнике статьи).