Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

20003 Windows Server, AD и Роли

Event ID 20003 Hyper-V: Не удалось запустить виртуальную машину

Обновлено: 15.08.2026 · Официальная документация ↗

Архитектура VMMS и симптомы сбоя (VM Failed to Start)

Событие 20003 логируется в журнале Microsoft-Windows-Hyper-V-VMMS/Admin. Сообщение: «Службе управления виртуальными машинами Hyper-V не удалось запустить виртуальную машину [Имя_ВМ]». Служба VMMS (Virtual Machine Management Service) отвечает за координацию действий. При попытке включить (Start) виртуальную машину, она не стартует. Кнопка "Подключиться" либо выдает ошибку, либо консоль зависает. Это событие-контейнер, которое всегда сопровождается более детальными событиями (например, 12010 или 15268), объясняющими суть отказа.

Основные причины отказа (Блокировка ресурсов)

  • Файл VHDX заблокирован (File in Use): Другой процесс (чаще всего Антивирус или агент Бэкапа Veeam) держит файл диска ВМ (vmsd/vhdx) открытым.
  • Нехватка физической памяти (RAM): Хосту не хватает свободной оперативной памяти для выделения стартового блока (Startup RAM) для этой ВМ.
  • Потеря прав доступа (Permissions): Учетная запись NT VIRTUAL MACHINE\{GUID} потеряла NTFS-права на папку с конфигурацией ВМ (XML/VMCX).

Пошаговое дерево решений (Отладка блокировок)

Сценарий 1: Снятие блокировки с файлов VHDX (Anti-Virus / Backup)

Самая частая причина. Служба VMMS пытается запустить рабочий процесс (vmwp.exe) и открыть диск ВМ, но получает 'Access Denied' или 'Sharing Violation'.

  1. Откройте утилиту Resource Monitor (resmon.exe) или Process Explorer от Sysinternals на хосте.
  2. В поиске Handle (Дескриптор) введите путь к вашему VHDX файлу или просто его имя (например, `srv-sql.vhdx`).
  3. Вы увидите, какой процесс держит файл (например, avp.exe или veeamagent.exe).
  4. Решение: Добавьте папки с виртуальными машинами в жесткие Исключения (Exclusions) антивируса на хосте Hyper-V. Антивирус НЕ ДОЛЖЕН сканировать VHDX файлы на лету!

Сценарий 2: Зависший рабочий процесс (Deadlock vmwp.exe)

ВМ могла зависнуть при прошлом выключении (статус >Stopping / Starting), и ее старый процесс все еще сидит в памяти, не отдавая диск новому процессу.

# Узнаем GUID зависшей ВМ и убиваем ее старый процесс (Hard Kill)
$VM = Get-VM -Name "ВАШЕ_ИМЯ_ВМ"
$Process = Get-WmiObject Win32_Process -Filter "Name='vmwp.exe'" | Where-Object {$_.CommandLine -match $VM.Id}
taskkill /PID $Process.ProcessId /F

После убийства старого процесса ВМ перейдет в статус 'Off', и вы сможете запустить ее штатно (событие 20003 исчезнет).

Сценарий 3: Сброс прав безопасности (ICACLS)

Если ВМ переносилась (Copy/Paste) между папками вручную, права SID могли слететь. Выдайте виртуальной машине полные права на её собственные файлы:

# Замените GUID на ID вашей ВМ из консоли
icacls "C:\Hyper-V\Virtual Machines\*" /grant "NT VIRTUAL MACHINE\ВАШ_GUID_ВМ:(F)" /T

Типовые ошибки администраторов

  • Отказ от чтения соседних логов: 20003 — это заголовок ошибки. Реальная причина лежит в событиях, которые произошли за секунду ДО него. Ищите в журнале Hyper-V-Worker события 12010 (Недопустимый путь к диску), 32000 (Сбой реплики) или 19510 (Сбой инициализации порта vSwitch).
Виртуальные машины регулярно зависают и не стартуют после бэкапа?
Траблшутинг гипервизоров и VSS-провайдеров — это сложная инженерная задача. Возьмем хосты Hyper-V на 2-ю линию поддержки. Настроим стабильные Application-Aware бэкапы Veeam, оптимизируем MPIO, разберемся с блокировками антивирусов и обеспечим 100% аптайм баз данных.
💡 Практика специалистов: Если вы используете функцию Pass-through дисков (проброс физического LUN напрямую в ВМ), ошибка 20003 часто возникает при загрузке хоста. Диск инициализируется хостовой ОС (становится Online) и блокируется ядром. Убедитесь, что физический диск переведен в статус 'Вне сети' (Offline) в оснастке diskmgmt.msc хоста, иначе Hyper-V не сможет отдать его виртуалке.

Частые вопросы (FAQ)

Почему 20003 возникает при нехватке памяти, если в настройках ВМ стоит 'Динамическая память'?

При старте ВМ гипервизор обязан выделить ей строго фиксированный объем, указанный в параметре 'Startup RAM' (ОЗУ при запуске). Функция Dynamic Memory начинает работать только ПОСЛЕ загрузки гостевой ОС и старта Интеграционных служб.

Можно ли просто перезапустить службу vmms.exe?

Да, перезапуск 'Службы управления виртуальными машинами Hyper-V' (net stop vmms & net start vmms) безопасен. Это не прервет работу уже запущенных ВМ, но сбросит кэш консоли управления и часто решает фантомные 'залипания' статусов.

Что значит 'Не удалось восстановить ВМ из сохраненного состояния'?

Если хост выключался экстренно, файл сохраненного состояния (.vsv / .bin) мог повредиться. Удалите сохраненное состояние (Delete Saved State) в диспетчере Hyper-V. ВМ загрузится как при 'холодном' старте (Crash-consistent).

Влияет ли обновление Windows на запуск ВМ?

Да. Если хост установил патчи и ожидает перезагрузки (Pending Reboot), ядро может заблокировать инициализацию новых драйверов (например, vSwitch портов), из-за чего новые ВМ не смогут включиться до ребута сервера.

Что делать, если файл VMCX поврежден?

VMCX — это бинарный файл конфигурации ВМ (в новых версиях Hyper-V). Если он поврежден (размер 0 КБ), восстановить его вручную нельзя. Придется создать новую ВМ (New Virtual Machine) и подцепить к ней старый VHDX диск.

Полезные материалы
Рекомендуем