Проверка и восстановление целостности системных файлов Windows.
Утилита SFC.EXE ( S ystem F iles C hecker) существует во всех версиях Windows, начиная с Windows 2000, и предназначена для проверки состояния и восстановления системных файлов. Механизмы защиты важных файлов в разных версиях Windows реализованы по-разному, но все они учитывают тот факт, что какие-либо системные файлы (обычно исполняемые файлы .exe, файлы библиотек .dll, файлы драйверов) могут быть изменены сторонним программным обеспечением, и должен быть механизм, позволяющий проверить их целостность и отменить обнаруженные изменения.
Формат командной строки:
SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=файл] [/VERIFYFILE=файл][/OFFWINDIR=автономная папка Windows /OFFBOOTDIR=автономная папка загрузки]
Параметры командной строки:
/SCANNOW — Проверка целостности всех защищенных системных файлов и восстановление, по возможности, проблемных файлов.
/VERIFYONLY — Проверка целостности всех защищенных системных файлов. Восстановление файлов не выполняется.
Для чего нужен язык SFC — Перевод RealPars
/SCANFILE — Проверка целостности указанного файла и его восстановление при обнаружении проблем. В параметре файл следует указать полный путь
/VERIFYFILE — Проверка целостности файла, полный путь к которому указан в параметре файл . Восстановление файлов не выполняется.
/OFFBOOTDIR — Расположение автономного каталога загрузки для автономного восстановления
/OFFWINDIR — Расположение автономного каталога Windows для автономного восстановления
Примеры использования команды SFC:
sfc /? — отобразить подсказку по использованию.
sfc /scannow — выполнить проверку целостности системных файлов и восстановить поврежденные. Результаты работы записываются в журнал утилиты WindowsLogsCBSCBS.log.
sfc /verifyonly — выполнить только сканирование системных файлов без исправления.
sfc /VERIFYFILE=c:windowssystem32cmd.exe — сканировать только файл cmd.exe
sfc /SCANFILE=d:windowssystem32kernel32.dll /OFFBOOTDIR=d: /OFFWINDIR=d:windows — сканировать только файл kernel32.dll из состава операционной системы, установленной на логическом диске D: . При выполнении сканирования файлов автономной Windows, ведение файла журнала в настоящее время не поддерживается.
В процессе выполнения программы, на экране отображается информация о ходе сканирования и результаты работы. Пример вывода при использовании сканирования с исправлением командой sfc /scannow :
Начато сканирование системы. Этот процесс может занять некоторое время.
Начало стадии проверки при сканировании системы.
Проверка 100% завершена.
Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Подробные сведения см. в файле CBS.Log, который находится по следующему пути: windirLogsCBSCBS.log. Например, C:WindowsLogsCBSCBS.log. Обратите внимание, что ведение журнала в настоящее время не поддерживается для автономного обслуживания.
Лекция. Программирование на языке SFC (CoDeSys)
Начиная с Windows Vista, в качестве средства по обслуживанию компонент операционной системы используется Component-Based Servicing (CBS) — специальный набор программных средств для обеспечения ее целостности. CBS является частью Component Servicing Infrastructure (CSI) , обеспечивающей необходимые изменения текущего состояния Windows, например, при обновлении системы (Windows Update), установке или удалении программ и компонент, обновлении драйверов устройств и т.п. Фактически, CBS предоставляет программный интерфейс (API) инсталляторам для корректного изменения текущего состояния системы. Система обслуживания ОС Windows фиксирует множество событий, связанных с отслеживанием этого состояния, в специальном файле C:WindowsLogsCBSCBS.log
Файл журнала CBS.log, кроме всего прочего, содержит и подробные сведения о ходе выполнения сканирования утилиты sfc.exe и его результатах. Для каждого сканируемого файла записывается дата, время и дополнительные сведения о проверке. Через каждые 100 проверок отображается итоговая информация, сопровождаемая тегом [SR] , что позволяет выделить из довольно объемного текста только те записи, которые содержат данный признак, с использованием команды поиска строки в текстовом файле findstr :
findstr /c:»[SR]» %windir%logscbscbs.log >sfcdetails.txt — найти строки, содержащие [SR] и вывести их в файл sfcdetails.txt текущего каталога.
Пример содержимого файла журнала, содержащего только строки с тегом [SR] :
00004b78 [SR] Verifying 100 (0x0000000000000064) components
00004b79 [SR] Beginning Verify and Repair transaction
00004be0 [SR] Verify complete
00004be1 [SR] Verifying 100 (0x0000000000000064) components
00004be2 [SR] Beginning Verify and Repair transaction
00004c30 [SR] Repairing corrupted file «??C:WINDOWSSystem32cmd.exe» from store
00004c5a [SR] Verify complete
. . . .
00005594 [SR] Committing transaction
00005599 [SR] Verify and Repair Transaction completed. All files and registry keys listed
in this transaction have been successfully repaired
В данном примере, проверено 100 файлов, в которых не обнаружено никаких отклонений, а в следующей порции был обнаружен и успешно исправлен файл msprivs.dll.mui . Последние 2 строки сообщают о завершении работы, и о том, что все файлы и ключи реестра были успешно восстановлены.
В тех случаях, когда не удалось восстановить поврежденный файл, в журнале будет присутствовать строка, содержащая:
Cannot repair member file Имя Файла Детальная информация о файле
Причиной невозможности восстановления файлов может быть неисправность оборудования, нарушение целостности файловой системы, повреждение хранилища эталонных файлов и т.п. В большинстве случаев, кроме неисправности оборудования, зная имя поврежденного файла, можно выполнить восстановление с использованием копирования из дистрибутива или каталогов аналогичной операционной системы.
Для поиска информации в тексте журналов cbs.log удобно фильтровать записи по характерным признакам событий, зафиксированных в журнале:
findstr /c:»Cannot repair» %windir%logscbscbs.log >sfcnotrepair.txt — записывать в текстовый файл sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку Cannot repair , т.е. на выходе мы получим перечень системных файлов, которые не удалось восстановить.
findstr /c:»succsessfylly repaired» %windir%logscbscbs.log >sfcnotrepair.txt — записывать в текстовый файл sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку succsessfylly repaired , т.е. на выходе мы получим перечень системных файлов, которые удалось восстановить.
В каталоге WindowsLogsCBS кроме текущего файла журнала cbs.log могут храниться устаревшие копии журналов в виде сжатых файлов с именем CbsPersist_ГГГГММДДnnnnnn.cab , которые, при необходимости можно распаковать для дальнейшего углубленного анализа.
В среде Windows 8-10 для восстановления системных компонент Windows, возможно использование утилиты Dism.exe , поддерживающей (чего не было в Windows Vista/Windows 7) параметр RestoreHealth :
dism /Online /Cleanup-Image /RestoreHealth — для восстановления системных файлов текущей ОС Windows.
Для Windows 7 параметр /RestoreHealth неприменим и функции восстановления объединены с функциями сканирования, задаваемыми параметром /ScanHealth :
dism /Online /Cleanup-Image /ScanHealth — для восстановления системных файлов текущей ОС Windows 7.
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
Источник: ab57.ru
Поверка целостности системных файлов Windows с помощью sfc.exe
Зачем нужна команда sfc scannow. Как запустить утилиту восстановления, используемые параметры, решение возможных проблем при работе.

Утилита sfc.exe проверяет целостность всех системных файлов, защищённых системой защиты файлов Windows (wfp), в неё встроена возможность автоматической замены повреждённых версий корректными версиями Microsoft.
Для запуска программы пользователь должен иметь права Администратора.
Запуск утилиты
При запуске sfc использует ряд флагов, самый используемый из которых это /scannow . Её можно запустить на всех компьютерах под управлением Windows, а также в консоли восстановления операционной системы.
Утилита совместима с операционными системами Windows начиная с Vista и более современными.
- /? — выводит список всех имеющихся флагов.
- /scannow — проверяет целостность всех защищённых системных файлов и восстанавливает повреждённые или изменённые файлы сразу после выполнения команды. Эти файлы будут восстановлены в их значения по умолчанию.
- /verifyonly — проверяет целостность всех защищённых системных файлов, но не восстанавливает их.
- /scanfile=Путь_к_файлу — сканирует целостность указанного файла (по абсолютному пути filePath ) и восстанавливает его, если выявлены изменения. Пример абсолютного пути, когда вместо filePath будет c:windowssystem32example.dll.
- /verifyfile=Путь_к_файлу — сканирует целостность указанного файла (по абсолютному пути filePath ), но не и восстанавливает его. Пример абсолютного пути, когда вместо filePath будет c:windowssystem32example.dll.
- /offwindir=буква_диска_с_Windows — необходим, чтобы вручную указать диск, на который установлена Windows и на котором мы ищем изменение файлов.
- /offbootdir=буква_диска_откуда_восстанавливать — задаёт букву диска, с которого берутся файлы для восстановления. Он используется совместно с /offwindir = в консоли восстановления. Пример использования в консоли: sfc /scannow /offbootdir=d: /offwindir=d:windows . В указанном примере сканируются и ремонтируются файлы, указанные флагом offwindir с использованием оригинальных файлов Microsoft, найденных в пути offbootdir .
- /scanonce — сканировать и восстанавливать файлы при следующей загрузке Windows.
- /scanboot — сканировать и восстанавливать файлы при каждой загрузке Windows.
- /revert — команда используется для отмены ранее выполненных команд. Например, если пользователь выполнил команду /scanboot , которая запускает сканирование при каждой загрузке Windows, то команда /revert прекратит этот процесс.
- /purgecache — удаление исходных файлов (по которым происходит восстановление) из папки кеша Windows. Нужно пользоваться этой командой с осторожностью, поскольку может привести к сбоям системы. Команда также запускает сканирование системы и заполняет папку кеша копиями текущих файлов системы.
- /cachesize=x — изменяет размер кеша, под потребности пользователя. Параметр x задаёт количество мегабайт.
Коды возврата: возвращает , если операция выполнена успешно и , если с ошибками.
Примеры использования
Чтобы немедленно просканировать и восстановить повреждённые системные файлы:
Чтобы проверить целостность файла без его исправления:
Проверить файл example.dll в консоли восстановления системы с установочного F диска Windows:
sfc /scanfile=d:windowssystem32example.dll /offbootdir=f: /offwindir=d:windows
Возможные проблемы
sfc scannow не удаётся запустить службу восстановления
Проверьте, чтобы была запущена служба Установщик модулей Windows . Это можно сделать в Панели управления → Администрирование → Службы → тип запуска Вручную .
sfc scannow не может восстановить файлы
Попробуйте выполнить следующую команду:
Dism /Online /Cleanup-Image /RestoreHealth
Она используется для восстановления повреждённых компонентов, после чего перезагрузите компьютер и попробуйте выполнить sfc /scannow ещё раз.
Второй вариант — заменить файлы, которые утилита не может восстановить самостоятельно. Например, скопировать их с другого компьютера под управлением вашей версии Windows, либо восстановить из резервной копии.
Для этого нужно получить список файлов, которые утилита не смогла восстановить:
findstr /c:»[SR]» %windir%LogsCBSCBS.log >»%userprofile%Desktopsfc.txt»
Эта команда создаст текстовый файл с именем sfc.txt на рабочем столе. В нём содержится подробный лог работы утилиты и указаны проблемные файлы.
Похожие записи
- Ошибка 0x801901F7 магазина Windows
- Произошла ошибка при распаковке, unarc.dll вернул код ошибки
- Как вызвать BSOD вручную
- Неопознанная ошибка 0x80240017
- Ошибка при запуске приложения 0xc0000142
- Расшифровка кодов ошибок MySQL
- Компьютер перезагружается при выключении Windows
- Как исправить ошибку с кодом 0x80004005 в Windows
- Исправление ошибок из-за отсутствия библиотек DirectX
- Расшифровка кодов ошибок PostgreSQL
Источник: allerrorcodes.ru
Как использовать SFC для восстановления системных файлов Windows 10
Если Windows 10 работает некорректно, вы можете использовать утилиту командной строки SFC для восстановления поврежденных или потерянных системных файлов.
Когда вы начинаете замечать случайные ошибки, проблемы во время загрузки системы или проблемы работоспособности компонентов Windows, то велика вероятность, что данное состояние вызвано поврежденными или потерянными системными файлами.
Несмотря на то, что Windows 10 отлично справляется с защитой файлов, которые необходимы для нормальной работы компьютера, некоторые приложения, драйвера или даже обновления Windows могут стать причиной потери стабильности системы. Как и прошлых версиях систем от Microsoft, Windows 10 включает средство проверки системных файлов (System File Checker, SFC) – компактную, но мощную утилиту командной строки, которая может выполнить сканирование цельности системы и заменять поврежденные или пропущенные файлы оригинальной версией.
В данном руководстве мы представим шаги по использованию средства проверки системных файлов (SFC) для автоматического восстановления поврежденных файлов системы во время работы операционной системы. Также рассмотрим, как запустить утилиту в Безопасном режиме командной строки и как вручную восстановить поврежденные системные файлы, которые стали причиной неполадок.
Предупреждение: перед началом работы с утилитой SFC рекомендуется сделать полную резервную копию системы или создать точку восстановления системы. В случае, если что-то пойдет не так, вы сможете вернуть исходное состояние системы.
Как проверить и восстановить системные файлы в Windows 10
Следующая команда позволяет выполнить полное сканирование защищаемых файлов на вашем компьютере и исправить файлы, которые вызывают проблемы во время работы Windows 10.
1. Введите в поиске меню Пуск Командная строка, нажмите правой кнопкой мыши по появившейся ссылке и выберите Запустить от имени администратора, потому что для запуска SFC требуются права администратора устройства.
2. В Командной строке введите следующую команду и нажмите Enter:
sfc /scannow

3. После завершения сканирования, вы увидите одно из следующих сообщений:
- Защита ресурсов Windows не обнаружила нарушений целостности. Это означает, что в системе не обнаружены поврежденные или потерянные файлы.
- Защита ресурсов Windows не может выполнить запрошенную операцию. Это сообщение означает, что во время сканирования произошла ошибка и нужно выполнить сканирование оффлайн.
- Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log WinDir%LogsCBSCBS.log. Данное сообщение появляется, когда SFC смогла исправить проблему. Вы можете посмотреть журнал для того, чтобы ознакомиться с подробной информацией.
- Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%LogsCBSCBS.log. В этом случае нужно вручную исправить поврежденные файлы.
Совет: для исправления всех проблем может понадобиться пройти процедуру проверки целостности около трех раз.
Как посмотреть подробную информацию о сканировании SFC
Для просмотра информации о работе средства проверки целостности в файле CBS.Log нужно создать копию файла на рабочем столе, доступную для чтения:
1. Введите в поиске меню Пуск Командная строка, нажмите правой кнопкой мыши по появившейся ссылке и выберите Запустить от имени администратора.
2. Введите следующую команду и нажмите Enter
findstr /c:»[SR]» %windir%LogsCBSCBS.log >»%userprofile%Desktopsfclogs.txt»

3. Откройте файл sfclogs.txt, расположенный на рабочем столе, с помощью приложения “Блокнот”. Файл будет содержать подробную информацию о сканировании системы и о файлах, которые не удалось восстановить.

Примечание: подробная информация доступна только при выполнении сканирования в Windows 10, но не при запуске утилиты в Безопасном режиме в Командной строке.
Как просканировать и восстановить системные файлы в Windows 10 оффлайн
Иногда защищенные системные файлы, которые нужно восстановить, уже загружены в оперативную память во время работы WIndows 10. В этом случае для исправления обнаруженных проблем можно использовать средство проверки системных файлов во время запуска системы.
- 1. Используйте клавиатурное сочетание Windows + I для открытия приложения “Параметры”.
- 2. Выберите раздел “Обновление и безопасность”.
- 3. В меню Выберите опцию “Восстановление”.
- 4. В секции “Особые варианты загрузки” нажмите кнопку “Перезагрузить сейчас”.

- 5. Выберите “Поиск и устранение неисправностей”.
- 6. Перейдите в “Дополнительные параметры”.
- 7. Нажмите “Командная строка” для загрузки компьютера в режиме командной строки.



- 8. После перезагрузки нужно будет ввести имя пользователи и пароль.
- 9. Нужно указать SFC, где находятся установочные файлы Windows. В командной строке введите следующую команду, чтобы распознать расположение файлов Windows 10 и разделов, зарезервированных системой:
wmic logicaldisk get deviceid, volumename, description

- 10. Введите следующую команду и нажмите Enter:
sfc /scannow /offbootdir=C: /offwindir=D:Windows

Обратите внимание, что в примере для указания буквы диска зарезервированного системой раздела используется переключатель /offboodir. В данном случае это диск C, а переключатель /offwindir указывает путь до файлов Windows, который в нашем случае D:Windows .
Нужно помнить, что во время загрузки компьютера в режиме командной строки, буквы диска могут отличаться, поэтому нужно использовать команду, указанную на шаге 9. Однако, в большинстве случаев при работе с Windows 10, диск D используется для установки, а диск С является зарезервированным системным разделом (System Reserved partition).
- 11. После завершения сканирования, закройте командную строку.
- 12. Нажмите “Продолжить”, чтобы выйти и загрузиться в Windows 10 в обычном режиме.
Как восстановить системные файлы вручную в Windows 10
Если средство проверки системных файлов не может исправить один или несколько файлов, вам придется восстановить их вручную.
Откройте файл sfclogs.txt, чтобы определить, какие файлы были повреждены. Выполните обычный поиск, чтобы найти расположения файлов или используйте поисковую систему для получения дополнительной информации. Затем выполните инструкции ниже, чтобы заменить поврежденные файлы.
Совет: вы можете найти рабочие версии системных файлов на другом компьютере с такой же версией операционной системы, как и на исходном компьютере.
- 1. Введите в поиске меню Пуск Командная строка, нажмите правой кнопкой мыши по появившейся ссылке и выберите Запустить от имени администратора, потому что для запуска SFC требуются права администратора устройства.
- 2. В Командной строке введите следующую команду и нажмите Enter:
takeown /f C:Path-and-File-Name
Примечание: замените C:Path-and-File-Name на путь поврежденного файла. Например:
C:WindowsSystem32appraiser.dll
- 3. Разрешите полный доступ (доступ администратора) к поврежденному файлы, используя следующую команду и нажав Enter.
icacls C:Path-and-File-Name /Grant Administrators:F
- 4. Замените проблемный файл рабочей копией, введите следующую команду и нажмите Enter:
copy C:Path-SOURCE-and-File-Name C:Path-DESTINATION-and-File-Name
Примечание: замените C:Path-SOURCE-and-File-Name на путь и название рабочей версии файла, а C:Path-DESTINATION-and-File-Name нужно заменить на путь и название поврежденного файла. Например:
copy D:Filesappraiser.dll C:WindowsSystem32appraiser.dll
- 5. Введите “Yes” и нажмите Enter, чтобы подтвердить перезапись.
После замены файла можно ввести команду SFC /verifyonly и нажать Enter в командной строке для проверки целостности всех системных файлов, чтобы убедиться, что проблема была решена. Дополнительно, если были исправлены только некоторые файлы, вы можете проверить целостность каждого отдельного файла используя команду sfc /VERIFYFILE=C:Path-and-File-Name. Например:
sfc /VERIFYFILE=C:WindowsSystem32kernel32.dll
Имейте в виду, что средство проверки системных файлов можно использовать не только в Windows 10, но и в предыдущих версиях операционной системы. Тем не менее, в зависимости от версии ОС, некоторые функции могут отличаться. В Командной строке введите команду sfc /? для просмотра всех доступных опций.
Источник: www.comss.ru
Команды DISM и SFC: проверка и восстановление системного образа Windows 10 и 11

29.12.2021

itpro

Windows 10, Windows 11, Windows Server 2019

комментария 42
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM. Эти две утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
В этой статье мы рассмотрим, как использовать команды sfc /scannow , DISM /Online /Cleanup-Image /RestoreHealth или Repair-WindowsImage -Online -RestoreHealth для восстановления образа и системных фалов в Windows 10/11 и Windows Server 2022/2019/2016.
SFC /scannow: восстановление системных файлов Windows
Перед тем, как восстанавливать образ Windows с помощью DISM, рекомендуется сначала попробовать проверить целостность системных файлов с помощью утилиты SFC (System File Checker). Команда sfc /scannow позволяет проверить целостность системных файлов Windows. Если какие-то системные файлы отсутствуют или повреждены, утилита SFC попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:WindowsWinSxS).
Утилита SFC записывает все свои действия в лог-файл windir%logscbscbs.log . Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:
findstr /c:»[SR]» %windir%LogsCBSCBS.log >»%userprofile%Desktopsfc.txt»
Если команда sfc /scannow возвращает ошибку “ Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them ”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.

В этом случае вам нужно попробовать восстановить хранилище компонентов вашего образа Windows с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
Проверка целостности хранилища компонентов Windows с помощью DISM
Утилита DISM (Deployment Image Servicing and Management) доступна во всех версиях Windows, начиная с Vista.
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image. Команды DISM нужно запускать из командной строки, с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов в образе Windows (флаг CBS), выполните команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
Эта команда не выполняет полное сканирование хранилища компонентов. Проверяются лишь записанные ранее маркеры повреждений и события в журнале Windows. Изменения в образ не вносятся. Команда проверит, не помечен ли ваш образ Windows как поврежденный и возможно ли исправить его.

В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected. The operation completed successfully.
Чтобы выполнить полное сканирование хранилища компонентов на наличие повреждений в хранилище компонентов Windows, запустите команду:
DISM /Online /Cleanup-Image /ScanHealth
Команда проверки образа Windows может выполняться довольно долго (от 10 до 30 минут). И вернет один из трех результатов:
- No component store corruption detected – DISM не обнаружил повреждения в хранилище компонентов;
- Thecomponentstoreisrepairable – DISM обнаружил ошибки в хранилище компонентов и может исправить их;
- Thecomponentstoreis not repairable – DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстанавливать образ Windows из резервной копии, сбрасывать или полностью переустанавливать вашу копию Windows.

В Windows 7 и Windows Server 2008 R2 для использования параметра DISM /ScanHealth нужно установить отдельное обновление KB2966583. Иначе при запуске DISM будет появляться “ Ошибка 87. Параметр ScanHealth не распознан в этом контексте ”.
Команда DISM /ScanHealth может вернуть ошибки:
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows поврежден и его нужно восстановить.
Восстановление образа Windows с помощью DISM /RestoreHealth
Чтобы исправить повреждения в хранилище компонентов образа Windows нужно использовать опцию RestoreHealth команды DISM. Эта опция позволит исправить найденные в образе ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов из центра обновлений Windows (на компьютере должен быть доступ в Интернет). Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
В Windows 7/2008 R2 эта команда выглядит по другому:
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более). DISM автоматически загрузит недостающие или поврежденные файлы образа с серверов Windows Update.
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully.

DISM /Source: восстановление образа Windows с установочного диска
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена/повреждена служба Windows Update (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов появятся ошибки:
- 0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
- Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
- Ошибка:0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion

Выведите список доступных версий Windows в установочном образе:
Get-WindowsImage -ImagePath «D:sourcesinstall.wim»
В нашем случае образ Windows 11 Pro в образе install.wim имеет ImageIndex = 6 .

Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):
DISM /online /cleanup-image /restorehealth /source:WIM:D:sourcesinstall.wim:6 /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:sourcesinstall.esd:6 /limitaccess

Если при запуске появляется
-
Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образWindows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlMiniNT.
Утилита DISM пишет подробный журнал сканирования и восстановления системных файлов в файл C:WindowsLogsDISMdism.log .
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов sfc /scannow . Скорее всего она успешно восстановит поврежденные файлы:
Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила.
Windows Resource Protection found corrupt files and successfully repaired them.

Если все системные файлы целы, появится сообщение:
Windows Resource Protection did not find any integrity violations
Восстановление образа Windows с помощью PowerShell
В версии PowerShell в Windows 10/11 и Windows Server 2022/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth

Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10 (здесь также нужно указать индекс версии Windows в wim файле в качестве источника восстановления):
Repair-WindowsImage -Online -RestoreHealth -Source D:sourcesinstall.wim:5 –LimitAccess
DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
Если Windows не загружается после установки обновлений, сначала попробуйте удалить последние патчи.
- Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 10/11 с помощью Media Creation Tool) и на экране начала установки нажмите Shift + F10
- Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду diskpart -> list vol (в моем примере диску, на котором установлена Windows присвоена буква C:, эту букву я буду использовать в следующих командах);

- Проверим системные файлы и исправим поврежденные файлы командой: sfc /scannow /offbootdir=C: /offwindir=C:Windows

- Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
Dism /image:C: /Cleanup-Image /RestoreHealth /Source:WIM:D:sourcesinstall.wim:6
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:, на котором нужно создать пустой каталог: mkdir f:scratch и запустить восстановление хранилища компонентов командой:
Dism /image:C: /Cleanup-Image /RestoreHealth /Source:D:sourcesinstall.wim /ScratchDir:F:scratch
Совет. Другие полезные команды DISM, которые должен знать администратор:
- DISM /Add-Package – установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows;
- DISM /Get-Drivers – получение списка установленных драйверов;
- DISM /Add-Driver – добавление драйверов в образ;
- DISM /Export-Driver – экспорт установленных драйверов Windows;
- DISM /Add-Capability – установка дополнительных компонентов Windows через Features on Demand (например, RSAT, сервер OpenSSH или ssh клиент Windows;
- DISM /Enable-Features и /Disable-Features – включение и отключение компонентов Windows (например, протокола SMBv1),
- DISM /online /Cleanup-Image /StartComponentCleanup – очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS);
- DISM /set-edition – конвертирование ознакомительной редакции Windows на полную без переустановки.
Источник: winitpro.ru