DISM Ошибка 2 в Windows 11 и 10 — причины и решения
При выполнении команд DISM от простых и часто используемых, таких как RestoreHealth и ScanHealth, до более сложных — например, интеграция драйвера в образ или восстановление с использованием данных из WIM/ESD образа, некоторые пользователи могут получить сообщение об ошибке с кодом 2 «Не удается найти указанный файл».
В этой инструкции подробно о том, почему такое может происходить и способы исправить ошибку, если вы с ней столкнулись.
Возможные причины ошибки

Ошибка 2 (0x80070002) в DISM соответствует системному коду ERROR_FILE_NOT_FOUND (файл не найден). Однако, в контексте использования DISM, речь не всегда идёт именно о физическом файле на диске: при операциях обслуживания образа DISM обращается также к разделам реестра и в случае, если не находит нужный, ошибка также транслируется в рассматриваемый код.
В отличие от ошибки 87 (может возникать при повреждении библиотек самого инструмента DISM или служб, необходимых для его работы) или 0x800f0915 (при повреждении пакетов в хранилище или недоступности источника для восстановления), ошибка 2 (0x80070002) указывает на фактическое отсутствие запрашиваемого в процессы выполнения команды объекта.
Наиболее распространённые конкретные причины ошибки:
- Ошибки при указании путей к файлам: образу при монтировании, источнику восстановления, каталогу ScratchDir, образу оффлайн-системы, файлу интегрируемого драйвера вследствие случайных ошибок при вводе команд, при работе в среде восстановления или с WinPE (в этом случае буква системного раздела диска может отличаться от C).

- Повреждение данных в реестре, например в базе данных компонентов
C:\Windows\System32\config\COMPONENTS
вследствие ошибок диска, потери питания при установке обновлений, в результате работе программ «для очистки реестра». - Редко: блокировка доступа к необходимым файлам сторонним антивирусом или другим ПО, нарушение прав доступа к системным папкам и файлам.
Для более точного понимания ситуации желательно изучить файлы журнала (обычные текстовые файлы, которые можно открыть в любом редакторе, включая Блокнот):
C:\Windows\Logs\DISM\dism.log C:\Windows\Logs\CBS\CBS.log
Ближе к концу файла вы увидите несколько строк с указанием кода ошибки 0x80070002 с пояснениями, которые могут подсказать причины, например:
- «WIM open failed.» — CWimImageInfoCollection::Initialize(hr:0x80070002) — ошибка открытия указанного WIM-образа (неправильно указан путь, файл отсутствует).

- Прямой указание «Не удается найти указанный файл» (Cannot find the file specified) — говорит о неправильном указании пути, несуществующем или заблокированном для чтения файле, например, при указании пути к файлам драйверов вручную.
- Строки Error in operation: (null) (CBS HRESULT=0x80070002) или CbsSessionOptionDetectStoreCorruption (hr:0x80070002) могут указывать на повреждение базы компонентов и реестра.

Если вам сложно разобрать содержимое файлов журнала, вы можете скопировать строки, добавленные в нём во время сессии с ошибкой и «скормить» их современной LLM (нейросети, языковой модели), обычно они сравнительно легко устанавливают причину сбоя. Исключение — последний вариант.
Способы исправить ошибку
Теперь по порядку о возможных способах исправить ошибку 2 при выполнении команд DISM от простых к сложным:
- Внимательно проверьте правильность ввода путей и параметров, наличие пробелов и/или кавычек там, где это необходимо. Располагайте файлы WIM/ESD в папках, путь к которым не содержит пробелов. Если вы копируете код откуда-либо и не уверены в том, что используемая вами инструкция с командами верна, поищите альтернативный источник, учитывайте отличия в путях на вашем компьютере.
- Выполните проверку диска на ошибки (может приводить к повреждениям реестра/файлов): запустите командную строку от имени администратора и введите команду
chkdsk C: /f /r
- Попробуйте выполнить сброс зависших операций обслуживания с помощью команд
dism /online /cleanup-image /RevertPendingActions dism /online /cleanup-image /StartComponentCleanup
после чего вручную удалите содержимое папок (второй путь вставьте в адресную строку Проводника и нажмите Enter)C:\Windows\Temp %TEMP%
- При наличии точек восстановления системы или включенной функции отката до точки во времени используйте их.
- Для рассматриваемого кода ошибки скорее не сработает, но можно попробовать выполнить команду
sfc /scannow
При повреждении файлов/библиотек самого DISM и при условии, что соответствующие пакеты не повреждены в хранилище компонентов, они будут восстановлены.
К сожалению, в ситуации, когда ошибка с кодом 2 возникает при обычных командах, таких как:
dism /online /cleanup-image /restorehealth
это часто говорит именно о повреждении в реестре и внутренней базе хранилища компонентов Windows, а исправление ситуации при отсутствии резервных копий и точек восстановления затруднено.
Вариантов в такой ситуации не много:
- Отслеживать, на чем именно «падает» DISM (обычно следует изучать процесс TiWorker.exe, вызываемый в ходе таких сессий) с кодом FILE NOT FOUND или NAME NOT FOUND в Process Monitor или похожем инструменте, пробовать разобраться и восстановить соответствующие элементы вручную, например, с рабочей ОС той же версии.
- Прибегнуть к «Обновлению на месте» или другим способам переустановки системы без потери данных.
Обычно более результативным и быстрым оказывается второй вариант.
Надеюсь, информация пригодилась и помогла разобраться. Если остаются вопросы, вы можете задать их в комментариях ниже, желательно с полной информацией в том числе и о точном синтаксисе вводимых команд и среды (рабочая ОС, WinPE, среда восстановления) где они вводятся.