Всем привет!
Меня зовут Владимир. Я работаю в одной из крупных IT-компаний занимающейся разработкой цифровых продуктов предназначенных для кибербезопасности. Моя роль - QA Engineer разработки продуктов для домашнего использования и среднего бизнеса.

На проекте подготавливаю среды для ручного тестирования десктопных приложений и запуска автоматических тестов (если нужны особые условия, кластеризации, ADFS, нагрузка, отказоустойчивость)

В среде виртуализации VMware Workstation развернул стенд для тестирования на ОС семейства Windows состоящий из 5-ти машин (здесь даже не важна версия ОС):

  • SRV1 - серверная часть продукта

  • SRV2 - служит в качестве AD и почтового сервера

  • Три десктопные ОС для прогона тест-кейсов

Стабильную работу виртуальных машин обеспечить трудно, поэтому приходится делать снапшоты. И даже выполняя снапшоты правильно (не более трех, в выключенном состоянии машин) можно столкнуться с нестабильной работой.

В моем же случае получилось так, что при неправильном удалении снапшотов (удаление не по порядку слева-направо) при включении машины с контроллером домена (Windows Server 2022) появился синий экран - Stop Code 0xc00002e2. Никакие бэкапы, откаты снапшотов не помогают. На просторах интернета решение проблемы найти было трудно.

Stop Code 0xc00002e2
Stop Code 0xc00002e2

По информации с открытых источников подразумевается, что это аппаратная проблема, либо ошибки при входе в домен.

Как решить?

Заходим в режим Directory Services Repair Mode (активируется через F8)

Directory Services Repair Mode
Directory Services Repair Mode

Авторизация под сервисной УЗ домена (вспоминаем её, при создании Controller Domain создается и эта УЗ, назовем её суперадмин)  <.\Administrator>:<PASS>

Порядок действий для решения Stop Code 0xc00002e2

Прежде чем выполнять какие-то действия с БД обязательно делаем бекап всей папки c:\Windows\NTDS, например в c:\test\NTDS (или на основную машину).

1. Управление конфигурацией Active Directory в NTDSutil

Открыть CMD от админа и по порядку вводим команды:

сd c:\Windows\NTDS
ntdsutil
activate instance ntds
files
info
quit
quit
del *log

Я не спец в этом, но погуглив просторы интернета, думаю что верно определить команды так:

  • cd c:\Windows\NTDS - переход в папку базы данных AD

  • ntdsutil - запуск утилиты управления AD

  • activate instance ntds - активация экземпляра базы данных

  • files - вход в режим управления файлами

  • info - просмотр информации о файлах БД

  • quit - выход из режима файлов

  • quit - выход из ntdsutil

  • del *log - удаление старых журналов транзакций

2. Сжатие БД Active Directory для устранения фрагментации и уменьшения размера файла NTDS.dit

Перезагружаем машину, снова в режиме Directory Services Repair Mode.

Открыть CMD от админа и по порядку вводим команды:

cd c:\Windows\NTDS
ntdsutil
activate instance ntds
files
info
compact to c:\test
quit
quit
copy c:\test\ntds.fit c:\windows\ntds.dit
y

Также для этой процедуры, думаю что верно определить команды так:

  • cd c:\Windows\NTDS - переход в папку базы данных AD

  • ntdsutil - запуск утилиты управления AD

  • activate instance ntds - активация экземпляра базы данных

  • files - вход в режим управления файлами

  • info - просмотр информации о файлах БД

  • compact to c:\test - сжатие базы данных в указанную папку

  • quit - выход из режима файлов

  • quit - выход из ntdsutil

  • copy c:\test\ntds.dit c:\windows\ntds.dit - копирование сжатой БД поверх старой

  • y - подтверждение перезаписи файла

Перезагрузить машину и войти под УЗ админа контроллера домена, либо под другой УЗ наделенную этими правами.

Однако, если этот способ не помог, придется заново поднимать контроллер домена, предварительно подняв ОС заново, либо удалив все упоминания о домене через Directory Services Repair Mode.

Комментарии (5)


  1. gotch
    27.11.2025 08:25

    На просторах интернета решение проблемы найти было трудно

    Первая ссылка в Яндексе - достаточно трудно?


    1. Volodislav93 Автор
      27.11.2025 08:25

      В моем случае, первая ссылка в Яндексе показала способ NTDS + esentutl. Не получилось восстановить целостность таблицы из мануала, ошибка даже не была найдена.
      Порылся на просторах ютуба и стековерфлоу, там кое что нашел.

      Здесь еще подчеркивается то, что это виртуалка, проблема может быть не очевидной по сравнению с реально установленным сервером. Контроллер домена работал стабильно до удаления снапшотов.

      В целом, тому кто столкнется с аналогичной проблемой в виртуалке достаточно будет два раза открыть CMD, выполняя последовательно команды, чем углубляться в эту тему, сроки зачастую не позволяют этого


      1. gotch
        27.11.2025 08:25

        Замечательно. Так в чем же была проблема - в log файлах, размерах базы ntds или её фрагментации?


  1. alkoro
    27.11.2025 08:25

    Кмк, действия пункта 1 нужны только лишь для оценки состояния базы AD (ntds.dit)
    Второй пункт естественно, может помочь сохранить всё, что не попало в резервный backup.
    Про второе не знал. (А что, так можно было?)

    Но бекапы наше всё.
    Если домен одноконтроллерный standalone, достаточно лишь восстановить файл из исправной копии (если она у вас есть ;). Естественно, изменения в AD за прошедший период будут утеряны.
    В случае не единственного контроллера такое восстановление вернёт только загрузку DC в нормальном режиме, но нарушит доверительные отношения этого контроллера в домене.
    Для восстановления всё равно придётся накатывать резервную копию Active Directory из Windows Backup этой машины (в разных версиях OC это могут быть разные MS решения, но суть одна), с указанием, что эта копия будет "подчинённой", т.е. изменения от домена (других контроллеров) реплицируются в эту копию в одностороннем порядке. Оба варианта были в моей практике.


    1. gotch
      27.11.2025 08:25

      нарушит доверительные отношения

      Репликацию.

      эта копия будет "подчинённой"

      nonauthoritative . Делать так нежелательно - затрат больше, чем на переустановку.