DISM Ошибка 87 в командной строке — способы исправить

Как исправить ошибку 87 в DISMИспользуя DISM в командной строке для проверки хранилища компонентов Windows или других целей, некоторые пользователи могут столкнуться с ошибкой 87: «Неизвестный параметр» или «Параметр не распознан в этом контексте».

В этой инструкции подробно о причинах ошибки 87 в командной строке при использовании DISM в Windows 11, Windows 10 и 7 и о возможных способах её исправления.

Проверьте правильность ввода команды DISM и набор известных параметров

Самая распространенная причина ошибки 87, особенно если речь идёт не о старых ОС, а о Windows 11 и Windows 10 — синтаксические ошибки при вводе команды, либо особенности списка поддерживаемых параметров.

Ошибка 87 в командной строке при использовании DISM и синтаксических ошибках

Чаще всего это бывают следующие варианты ошибок:

  1. Отсутствие пробелов перед знаком «/» в указанных параметрах команды DISM.
  2. Неправильный порядок указания параметров (например, если изменить порядок параметров checkhealth и cleanup-image, вы получите указанную ошибку).
  3. Также русскоязычные пользователи, случается, путают латинские буквы C и S, U и Y.
  4. В некоторых случаях при вводе команд пользователь не учитывает, что список поддерживаемых параметров DISM отличается, в зависимости от того, запущена ли командная строка в работающей системе или в среде восстановления (или с загрузочной флешки). Более подробно на эту тему в инструкции, где рассмотрена именно такая ситуация: Неизвестный параметр Cleanup-Image при использовании DISM — причины и варианты решения.

Даже если вы копируете команду с какого-то сайта, следует учитывать, что ошибки могут быть и там — опечатки, копирование кода с ошибками, никто от этого не застрахован.

Версия DISM

Версии DISM и набор поддерживаемых команд отличаются. Не все команды, которые работают в DISM из Windows 11/10 будут работать в Windows 7 и 8.1. К примеру, если в современной ОС с DISM 10-й версии использовать команду

DISM /online /cleanup-image /checkhealth
она будет исправно работать.

Если ту же команду ввести в Windows 7, с DISM версии 6.1, результатом будет ошибка 87:

Ошибка 87 в DISM старой версии

Возможные варианты решения:

  • Не использовать неподдерживаемые команды, если они не критичны для получения нужного результата.
  • Установить последнюю версию DISM, это можно сделать даже в старой версии системы, что будет рассмотрено далее.

Установка последней версии DISM в Windows старых версий

При необходимости использовать последнюю версию DISM в предыдущей версии Windows, вы можете скачать и установить Windows ADK (Комплект средств для развертывания и оценки Windows) нужной версии (например, мы можем установить ADK для Windows 10 в Windows 7) и выбрать пункт «средства развертывания» при установке:

Установить Windows ADK и последнюю версию DISM

Установщики последних версий Windows ADK доступны на официальной странице https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install при этом следует учитывать:

  • Для установки последних версий требуется наличие .NET Framework 5 на компьютере.
  • Это онлайн-установщики и загрузка необходимых компонентов из РФ без VPN не работает.
  • Новая версия DISM не заменяет имеющуюся, а устанавливается отдельно, по умолчанию — в папке C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM и потребуется запускать её из этого расположения, либо добавлять в переменные среды.

Дополнительная информация

Если ошибка сохраняется, можно учесть следующие нюансы и попробовать некоторые дополнительные варианты действий:

  1. Для работы некоторых параметров DISM, например, /spsuperseded требуется, чтобы служба «Установщик модулей Windows» была включена. Включить службу можно в Win+Rservices.msc. Находим «Установщик модулей Windows» в списке, дважды нажимаем по службе и устанавливаем тип запуска «Вручную» — значение по умолчанию для этой службы.
  2. Выполнить проверку целостности системных файлов с помощью команды sfc /scannow
  3. Если ранее ошибка не возникала, попробовать использовать точки восстановления системы.
  4. Если есть обновления Windows — попробуйте установить их, однажды в очередном обновлении Windows 10 ошибка 87 была вызвана проблемами в самом обновлении и уже в следующем она была исправлена.

Если проблема сохраняется, опишите в комментариях, при каких обстоятельствах она возникает, а также укажите версию Windows, DISM (отображается после запуска команды), какую именно команду вы пробуете ввести — я постараюсь помочь.

Комментарии (24) к DISM Ошибка 87 в командной строке — способы исправить

  • Миша

    Версия : windows7 , версия dism: 6.1.7600.16385
    Пытаюсь ввести команду : dism /online /cleanup-image /scanhealth Пишет:
    Ошибка : 87
    Параметр scanhealth не распознан в этом контексте .
    Помогите пожалуйста.

    Ответить

    • Dmitry

      Здравствуйте.
      Используйте /CheckHealth в Windows 7

      Ответить

      • Katerina

        Версия : Windows 7 , версия dism: 6.1.7601.24499
        Сработала команда : dism /online /cleanup-image /scanhealth

        Ответить

  • Макс

    при установке 10 на чистый диск через командную строку, после всех подготовок диска
    при вводе команды
    dism /get-wiminfo /winfile:install.wim
    выдаёт ошибку 87
    неизвестный параметр

    Ответить

  • Александр

    C:\WINDOWS\system32>Dism /Online /Cleanup-Image /ScanHealth

    Cистема DISM
    Версия: 10.0.19041.844

    Версия образа: 10.0.19045.3324

    (и ничего не происходит, совсем, так же команда /scannow ; sfc /scannow запускается и ничего не происходит, никаких проверок, но команды как будто запускаются, потому что возможность что то вводить в нее пропадает…

    Ответить

  • Марат

    версия виндовс 7. пытаюсь копировать драйвера пишет неизвестный параметр export-driver .отсканировал защита ресурсов виндовс не обнаружила нарушений целостности

    Ответить

    • Dmitry

      Используйте pnputil для экспорта драйверов в Windows 7

      Ответить

      • Сергей

        А как пользоваться pnputil.exe если набираю следующую команду:

        pnputil.exe /export-driver * c:\drivers, то пишет следующую
        информацию:

        Служебная программа PnP Майкрософт
        Использование:
        ______

        pnputil.exe [-f | -i] [ -? | -a | -d | -e]
        Примеры:
        pnputil.exe -a a:\usbcam\USBCAM.INF -> Добавляет пакет, указанный USBCAM.INF
        pnputil.exe -a c:\drivers\*.inf -> Добавляет все пакеты в c:\drivers\
        pnputil.exe -i -a a:\usbcam\USBCAM.INF -> Установка пакета драйверов
        pnputil.exe -e -> Перечисляет все сторонние пакеты
        pnputil.exe -d oem0.inf -> Удаляет пакет oem0.inf
        pnputil.exe -f -d oem0.inf -> Принуждает удалить пакет oem0.inf
        pnputil.exe -? -> Выводит эту справку

        Ответить

        • Dmitry

          Здравствуйте.
          А что за версия Windows на вашем компьютере?

          Ответить

  • Максим

    DISM /Online /Cleanup-Image /ScanHealt

    Cистема DISM
    Версия: 10.0.19041.3636

    Версия образа: 10.0.19045.3803

    Ошибка: 87

    Параметр scanhealt не распознан в этом контексте.
    Дополнительные сведения см. в справке.

    Ответить

    • Dmitry

      У вас ScanHealt а нужно ScanHealth

      Ответить

  • Anonym

    Windows 10 21h2
    Версия DISM: 10.0.19041.844
    Ошибка 87 и вроде бы 186
    ошибка при добавлении языка в iso файл

    Ответить

  • Alikhan

    Приветствую всех!
    Хотел установить NetFw3.5 на windows 7. Одно из моих ПО без него не запускается, хоть и компонент по умолчанию входит в данную версию ОС. Установил обновленный DISM, обращаюсь к его расположению и запускаю команду приведенную ниже. В результате все равно появляется ошибка 87

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

    Cистема DISM
    Версия: 10.0.25398.1

    Версия образа: 6.1.7601.24544

    Ошибка: 87

    Параметр all не распознан в этом контексте
    Дополнительные сведения см. в справке.
    Параметр source не распознан в этом контексте
    Дополнительные сведения см. в справке.
    Параметр limitaccessне распознан в этом контексте
    Дополнительные сведения см. в справке.

    Ответить

    • Dmitry

      Здравствуйте.
      В вашем случае по идее нужно параметр image использовать и без online, вот здесь детали и примеры:

      https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/enable-or-disable-windows-features-using-dism

      Ответить

  • Илья

    Нужно поставить обновление KB2966583 и всё в Windows 7 начинает работать.
    Проверяйте!

    Ответить

  • Антон

    Что делать, если последняя версия dism в Windows ADK — 10.1.26100.2454, а поломалась система версии 10.1.26100.2605?

    Ответить

    • Dmitry

      Здравствуйте.
      Тут по идее отличие не должно играть роли и причина ошибки скорее всего не в версии даже. А что именно вводите и какой результат?

      Ответить

      • Антон

        Windows 11 24H2 перестала загружаться. Сразу скажу, переустановка не вариант (3 года настроек под себя, куча спец софта и т.д., притом ноут не новый, некоторые драйвера от производителя уже хрен найдёшь) Произошел сбой диска (не знаю почему, вечером как всегда после работы выключил, а утром при включении уже на загрузился), так как через Diskpart системный диск определялся как RAW. Проверил и восстановил ошибки диска через CHKDSK. Оказался также побит загрузчик, его я восстановил. Также побит раздел восстановления, его пока не восстанавливал, так как загружаюсь в среду восстановления с флешки и выполняю все в командной строке. Множество системных файлов также оказались побиты, в логе CBS около 1000 файлов показывает поврежденных. Хранилище компонентов системы естественно повреждено. DISM показывает версию системы 10.0.26100.2605, сам DISM при этом версии 10.0.26100.1150, при этом последний DISM на данный момент в Windows ADK версии 10.1.26100.2454 (на Microsoft Learn написано, что DISM может работать с образами только либо своей версии, либо версии ниже), при попытке восстановить хранилище компонентов с помощью оригинального образа версии 10.0.26100.2605 пишет ошибку 87 (из-за несовпадения версий самого DISM и образа). SFC же не хочет ни в какую восстанавливать файлы с указанием на папку с файлами для восстановления аргументом /offbootdir (на внешний диск распаковал instal.wim с оригинального образа microsoft версии 10.0.26100.2605), пишет что обнаружил поврежденные файлы, но не может восстановить их. Притом что если вручную заменять файлы по логу из этого образа, то они проходят верификацию и исчезают из лога при повторном прогоне sfc. Подскажите, куда чего копать? Тыщу файлов вручную заменять такое себе удовольствие.

        Ответить

        • Dmitry

          А если попробовать всё это с WinPE выполнять, а не просто в командной строке: https://remontka.pro/recover-system-files-winpe/

          Хотя вообще, если судить по описанию, что-то тут не так. Такие «обширные» повреждения не происходят после «выключил-включил». То есть это либо серьёзный труд нужен, чтобы такого достичь, либо диску конец пришёл окончательный.

          Ответить

          • Антон

            Виктория не показала ошибок диска. Наверх на папку WinSxS закинул файлы из чистого образа с заменой и прогнал SFC, dism теперь запускает проверку, но не может восстановить файлы. Система уже подаёт признаки жизни, один раз даже не пошла в ребут, но был серый экран, теперь даже можно включить лог загрузки, ntbtlog.txt показывает что не могут загрузиться несколько драйверов от сторонних программ, попробую потом накатить проги на рабочую системы и выдернуть нужные файлы. Из под WinPE Dism++ просит подключить образ при исправлении, я еще не разобрался, что он имеет ввиду, так как смонтированный образ винды на виртуальный привод видимо для этого не подходит. SFC всё также не восстанавливает файлы с аргументом /offbootdir.

            Ответить

  • Саша

    11 windows
    Cистема DISM
    Версия: 10.0.22621.2792

    Версия образа: 10.0.22621.4460

    Ошибка: 87

    Параметр кesetbase не распознан в этом контексте.
    Дополнительные сведения см. в справке.

    Файл журнала DISM находится по адресу C:\Windows\Logs\DISM\dism.log

    Ответить

    • Dmitry

      а что за кesetbase? По идее первой букве положено быть R

      Ответить

Оставить комментарий

Интересное
Новое
Список инструкций Windows 11 Windows 10 Подписаться