Что означает ошибка создания виртуального коммутатора Hyper-V
Ошибка "Не удалось создать виртуальный коммутатор" (англ. Hyper-V Virtual Switch Creation Failed) возникает, когда система не может завершить операцию создания виртуального сетевого коммутатора в Hyper-V. Обычно сопровождается кодом ошибки, например:
- 0x80070005 — «Доступ запрещен» (Access is denied)
- 0x8007045D — «Устройство не готово» (The device is not ready)
- 0x8007000E — «Недостаточно памяти» (Not enough storage is available)
- 0x80070057 — «Недопустимый параметр» (The parameter is incorrect)
Ошибка появляется при попытке создать коммутатор через Диспетчер Hyper-V или PowerShell и блокирует настройку сетевого подключения для виртуальных машин.
Причины возникновения
- Недостаточно прав учетной записи — операция выполняется без прав администратора.
- Конфликт с существующим виртуальным коммутатором — уже есть коммутатор с таким именем или на том же физическом адаптере.
- Службы Hyper-V не запущены — службы управления Hyper-V остановлены.
- Поврежденные или устаревшие драйверы — проблемы с драйверами сетевых адаптеров или Hyper-V.
- Блокировка антивирусом/брандмауэром — стороннее ПО препятствует созданию виртуальных сетей.
- Недостаток системных ресурсов — нехватка памяти или конфликты оборудования.
- Несовместимые настройки сети — например, физический адаптер уже используется другим ПО (VPN, Docker и т.д.).
Способ 1: Запуск от имени администратора
Самый частый cause — запуск без прав администратора.
- Закройте Диспетчер Hyper-V, если он открыт.
- Найдите Диспетчер Hyper-V в меню «Пуск».
- Щелкните правой кнопкой мыши → «Запуск от имени администратора».
- Попробуйте создать виртуальный коммутатор повторно.
Для PowerShell:
# Откройте PowerShell от имени администратора (Win+X → Windows PowerShell (администратор))
# Затем выполните команду создания коммутатора, например:
New-VMSwitch -Name "ExternalSwitch" -NetAdapterName "Ethernet" -AllowManagementOS $true
Способ 2: Проверка и перезапуск служб Hyper-V
Убедитесь, что ключевые службы Hyper-V активны.
- Нажмите Win+R, введите
services.msc, нажмите Enter. - Найдите службы:
- Hyper-V Virtual Machine Management
- Hyper-V Host Compute Service
- Для каждой: щелкните правой кнопкой → «Запустить», если статус «Остановлена».
- Также проверьте «Hyper-V Guest Service Interface» и «Hyper-V Data Exchange Service».
Или через PowerShell:
# Проверить статус служб
Get-Service -Name vm*, hv*
# Запустить службы, если остановлены
Start-Service -Name vmms
Start-Service -Name vmcompute
После перезапуска служб попробуйте создать коммутатор снова.
Способ 3: Удаление конфликтующих виртуальных коммутаторов
Иногда проблема в уже существующих «битых» коммутаторах.
- Откройте PowerShell от имени администратора.
- Просмотрите список всех виртуальных коммутаторов:
Get-VMSwitch
- Если видите ненужные или дублирующие коммутаторы, удалите их:
Remove-VMSwitch -Name "ИмяКоммутатора" -Force
- Перезагрузите компьютер и попробуйте создать новый коммутатор.
⚠️ Важно: Удаляйте только те коммутаторы, которые не используются активными виртуальными машинами.
Способ 4: Обновление драйверов и системы
Устаревшие драйверы могут вызывать ошибки.
- Обновите Windows:
- Откройте Параметры → Обновление и безопасность → Центр обновления Windows.
- Установите все доступные обновления, включая необязательные.
- Перезагрузите компьютер.
- Обновите драйверы сетевых адаптеров:
- Нажмите Win+X → Диспетчер устройств.
- Разверните Сетевые адаптеры.
- Щелкните правой кнопкой на физическом сетевом адаптере (который планируется использовать) → «Обновить драйвер».
- Выберите «Автоматический поиск обновленных драйверов».
- Перезагрузите компьютер.
- Установите последние версии компонентов Hyper-V:
- В Панели управления → Программы и компоненты → Включение или отключение компонентов Windows.
- Убедитесь, что отмечены:
- Hyper-V
- Платформа Hyper-V
- Монитор гипервизора Hyper-V
- Нажмите ОК, дождитесь установки и перезагрузитесь.
Способ 5: Временное отключение антивируса и брандмауэра
Антивирусные решения часто блокируют операции Hyper-V.
- Откройте панель управления вашего антивируса (например, Kaspersky, ESET, Avast).
- Найдите раздел «Защита» или «Брандмауэр».
- Временно отключите все защиты (на 5-10 минут).
- Попробуйте создать виртуальный коммутатор.
- Если успешно — добавьте исключение для Hyper-V в антивирусе:
- Путь к процессам:
C:\Windows\System32\vmms.exe,C:\Windows\System32\vmcompute.exe - Папки:
C:\Windows\System32\Hyper-V\
- Путь к процессам:
- Включите антивирус обратно.
Для встроенного брандмауэра Windows:
# Временно отключить (PowerShell от администратора)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
# После создания коммутатора включить обратно
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Способ 6: Проверка физического сетевого адаптера
Убедитесь, что выбранный физический адаптер доступен и не используется.
- Откройте Диспетчер устройств → Сетевые адаптеры.
- Убедитесь, что нужный адаптер (Ethernet, Wi-Fi) не отключен (нет серых стрелок).
- Если адаптер используется VPN-клиентом (Cisco, OpenVPN и т.д.) — отключите VPN перед созданием коммутатора.
- В PowerShell проверьте, какой адаптер свободен:
Get-NetAdapter -IncludeHidden | Where-Object {$_.Status -eq "Up"}
- При создании коммутатора укажите только рабочий адаптер.
Профилактика
- Всегда запускайте Диспетчер Hyper-V и PowerShell от имени администратора.
- Регулярно обновляйте Windows и драйверы, особенно после крупных обновлений системы.
- Избегайте конфликтов: не используйте один физический адаптер для нескольких виртуальных коммутаторов одновременно.
- Управляйте антивирусом: добавляйте исключения для папок и процессов Hyper-V.
- Перед созданием коммутатора убедитесь, что нет активных VPN-подключений или другого сетевого ПО, перехватывающего адаптеры.
- Создавайте коммутаторы через PowerShell — он дает более детальный вывод ошибок:
New-VMSwitch -Name "MySwitch" -NetAdapterName "Ethernet" -AllowManagementOS $true -ErrorAction Stop
Если проблема сохраняется, проверьте журнал событий Windows (Просмотр событий → Журналы Windows → Система) на наличие ошибок от источников Hyper-V-VmSwitch или Hyper-V-Worker.