Мой блог
DISM Ошибка 2 в Windows 11 и 10 — причины и устранение
Во время запуска служебных команд DISM в ОС Windows 11 и 10 — от стандартных проверок целостности вроде ScanHealth и RestoreHealth до комплексных задач интеграции драйверов или работы с образами WIM/ESD — пользователи нередко сталкиваются с неприятным сбоем. На экранах мониторов появляется уведомление, гласящее, что не удается найти нужный файл, сопровождающееся цифровым кодом 2.
Я подготовил подробный разбор этого системного сбоя: мы разберем основные предпосылки его появления, изучим содержимое отладочных логов и последовательно протестируем рабочие варианты исправления ситуации своими силами.
Возможные причины ошибки
В системной классификации код ошибки 2 (0x80070002) расшифровывается как ERROR_FILE_NOT_FOUND, то есть запрашиваемый компонент не обнаружен. Тем не менее, когда речь заходит об инструменте обслуживания образов DISM, проблема далеко не всегда заключается в физическом отсутствии документа на жестком диске. Нередко утилита обращается к определенным веткам системного реестра, и если необходимые ключи отсутствуют, генерируется аналогичный код.
Важно отличать этот сбой от других популярных кодов. Например, ошибка 87 обычно сигнализирует о повреждении базовых библиотек самого инструмента или зависимых служб, а 0x800f0915 указывает на проблемы с пакетами в хранилище или недоступность сервера обновлений. Код же 0x80070002 свидетельствует о том, что конкретный целевой объект физически или логически отсутствует в момент выполнения инструкции.
Распространенные факторы сбоя
Я выделил несколько ключевых сценариев, при которых чаще всего возникает подобная неполадка:
- Ошибочное указание путей к директориям или объектам: монтируемому образу, каталогу ScratchDir, источнику восстановления, оффлайн-системе или файлам драйверов. Это часто случается из-за опечаток в консоли, особенно при работе в среде восстановления WinPE, где буквы разделов дисков могут отличаться от привычного диска C.
- Глубокие повреждения структуры реестра или базы компонентов по адресу C:WindowsSystem32configCOMPONENTS. Подобное происходит после некорректного завершения работы ПК при потере питания, сбоев накопителя или из-за агрессивной чистки реестра сторонними утилитами.
- Редкие случаи блокировки доступа со стороны сторонних антивирусных комплексов либо ограничение прав доступа к системным каталогам.
Анализ файлов журнала
Чтобы точно определить виновника неполадки, я рекомендую заглянуть в специализированные системные логи. Вы можете открыть их с помощью любого текстового редактора, например, стандартного Блокнота:
- C:WindowsLogsDISMdism.log
- C:WindowsLogsCBSCBS.log
В конце этих документов содержатся строки с кодом 0x80070002 и пояснениями. Например, запись «WIM open failed.» свидетельствует о неверном пути к образу. Прямое сообщение о невозможности отыскать файл говорит о проблемах с путями к драйверам или сторонним компонентам. Строки вроде Error in operation: (null) или CbsSessionOptionDetectStoreCorruption указывают на повреждение базы данных компонентов.

Если вам трудно самостоятельно расшифровывать массив технических данных из журналов, я советую скопировать строки сгенерированной ошибки и передать их современной языковой модели (LLM). Нейросети отлично справляются с диагностикой таких сбоев, за исключением случаев глубокого повреждения хранилища.
Способы исправить ошибку
Теперь давайте перейдем к практике и рассмотрим алгоритм устранения ошибки 2, выстроенный по принципу от простых шагов к более сложным.
Базовые проверки и исправление путей
Первым делом я рекомендую тщательно перепроверить синтаксис вводимых команд, наличие пробелов и обязательных кавычек. Старайтесь размещать файлы WIM и ESD в корне или в папках, чьи пути не содержат пробелов в названиях. Если вы используете чужие готовые скрипты, обязательно адаптируйте их под конфигурацию своего компьютера.
Затем выполните комплексную диагностику накопителя на предмет поврежденных секторов, так как они часто вызывают порчу реестра. Для этого я запускаю командную строку с правами администратора и выполняю следующую инструкцию:
chkdsk C: /f /r
Попробуйте сбросить зависшие фоновые операции обслуживания системы. Я использую для этого две последовательные команды:

dism /online /cleanup-image /RevertPendingActions dism /online /cleanup-image /StartComponentCleanup
После этого я вручную очищаю временные папки, вставив в адресную строку Проводника пути C:WindowsTemp и %TEMP%, а затем удаляя их содержимое. Дополнительно можно задействовать штатное средство проверки системных файлов командой sfc /scannow.
Глубокие проблемы хранилища компонентов
К сожалению, если ошибка с кодом 2 появляется при выполнении базовой команды восстановления хранилища (вроде dism /online /cleanup-image /restorehealth), это почти всегда указывает на критические повреждения внутренних баз Windows. При отсутствии свежих резервных копий или точек восстановления восстановить работоспособность штатными методами крайне сложно.
В такой сложной ситуации у вас остаётся немного путей решения:
Запуск специализированных мониторинговых утилит вроде Process Monitor для отслеживания процессов вроде TiWorker.exe в момент падения утилиты, с последующей попыткой ручного восстановления поврежденных элементов из аналогичной рабочей ОС.
Проведение процедуры «Обновления на месте» (In-place upgrade) либо других методов чистой переустановки операционной системы с сохранением личных пользовательских данных.
На практике второй вариант оказывается значительно быстрее и результативнее. Если у вас остаются вопросы по синтаксису или специфике вашей рабочей среды (будь то основной сеанс Windows или среда восстановления WinPE), делитесь деталями в комментариях, и я постараюсь подсказать верное решение.
