Команды DISM и SFC: проверка и восстановление системных файлов Windows 11 и 10

Для проверки целостности и восстановления поврежденных системных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать встроенные команды SFC и DISM. Эти две утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.

В этой статье мы рассмотрим, как использовать команды sfc /scannow , DISM /Online /Cleanup-Image /RestoreHealth или Repair-WindowsImage -Online -RestoreHealth для восстановления хранилища компонентов (образа) и системных фалов в Windows 10/11 и Windows Server 2025/2022/2019/2016.

Как правильно использовать команды DISM и SFC в Windows

Основная команда для сканирования и восстановления хранилища системных компонентов Windows:

DISM /Online /Cleanup-Image /RestoreHealth

Эта команда сканирует хранилище компонентов Windows (папка WinSxS), находит поврежденные файлы компонентов (проверяются фактические SHA-256 хэш суммы бинарных файлов с эталонными значениями в манифестах). Если нужно, DISM скачивает оригинальные файлы компонентов с серверов Windows Update (через интернет) и заменяет ими поврежденные.

Следующая важная команда:

sfc /scannow

Команда проверяет фактически используемые защищенные системные файлы, и, если хэш файла на совпадает или отсутствует, заменяет его на версию из хранилища компонентов WinSxS (которое используется как эталон).

Более детально об использовании команд DISM и SFC для восстановления системных файлов в Windows рассказано в следующих разделах статья.

Таким образом, S FC /SCANNOW использует хранилище компонентов в качестве источника файлов. Поэтому перед запуском команды SFC сначала нужно запускать указанную команду DISM, которая исправляет эталонные файлы в хранилище компонентов.

Поэтому прежде, чем переходить к исправлению системных файлов с помощью SFC воспользуйтесь командой DISM, чтобы проверить что хранилище компонентов находится в исправном состоянии.

Проверка целостности хранилища компонентов Windows с помощью DISM

Встроенная в Windows команда DISM (Deployment Image Servicing and Management) используется для обслуживания, подготовки, внесения изменения и восстановления образа Windows.

Для обслуживания хранилища компонентов используется отдельная опция команды DISM /Cleanup-Image . Дополнительно указывается один из следующих аргументов:

  • /CheckHealth – быстрая проверка наличия флагов повреждения хранилища компонентов (занмает несколько секунд)
  • /ScanHealth – полное сканирование хранилища компонентов (без исправления). Может занять от 5 до 30 минут.
  • /RestoreHealth – основная команда, которая проверяет хранилище компонентов Windows и автоматически восстанавливает найдены повреждения (может занять значительно время)

Чтобы проверить наличие признака повреждения хранилища компонентов в образе Windows (флаг CBS), откройте командную строку с правами администратора и выполните:

DISM /Online /Cleanup-Image /CheckHealth

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

DISM /CheckHealth - проверка повреждений в образе windows

В этом примере команда вернула, что с образом все хорошо:

No component store corruption detected.
The operation completed successfully.

Чтобы выполнить полное сканирование хранилища компонентов на наличие повреждений, запустите команду:
DISM /Online /Cleanup-Image /ScanHealth

Команда проверки образа Windows может выполняться довольно долго (от 10 до 30 минут). И вернет один из трех результатов:

  • No component store corruption detected – DISM не обнаружил повреждения в хранилище компонентов;
  • The component store is repairable – DISM обнаружил ошибки в хранилище компонентов и может исправить их;
  • The component store is not repairable – DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстанавливать образ Windows из резервной копии, сбрасывать или полностью переустанавливать вашу копию Windows).

DISM Cleanup-Image ScanHealth проверить хранилище компонентов Windows, хранилище компонентов можно исправить

Изучить ошибки, обнаруженные DISM в хранилище компонентов можно в текстовом лог файле C:\Windows\Logs\CBS\CBS.log .

Перед тем, как продолжить, проверьте что ваш компьютер не ожидает перезагрузки после установки/удаления компонента Windows или установки обновлений. Если компьютер находится в ожидании перезагрузки (Pending Reboot), команда DISM всегда будет возвращать статус:

The component store is repairable

Хранилище winsxs требует исправления из за ожидающей перезагрузке pending reboot

В 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 /Online /Cleanup-Image /RestoreHealth - восстановление образа windows 10

DISM /Source: офлайн восстановления хранилища Windows с установочного образа (ISO, WIM)

Если на компьютере (сервере) отсутствует прямой доступ в Интернет или отключена/повреждена служба Windows Update (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов с помощью DISM появятся ошибки:

  • 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).

DISM /RestoreHealth Error 0x800f081f, The source files could not be found

Если для выхода в интернет в вашей сети используется прокси сервер, нужно задать параметры системного прокси WinHTTP, т.к. DISM не использует пользовательские настройки прокси.

Во всех этих случаях вы можете использовать альтернативные средства получения оригинальных файлов хранилища компонентов. Это может быть:

  • Загрузочная USB флешка или ISO файл с установочным образом Windows
  • Смонтированный файл install.wim с установочным образом Windows
  • Папка \sources\SxS с установочного диска

Команда DISM позволяет указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве локального источника для восстановления системных файлов хранилища компонентов. Предположим, вы смонтировали установочный ISO образ Windows 11 в виртуальный привод D:.

Примечание. Для восстановления поврежденных файлов в хранилище компонентов из локального источника версия и редакция Windows в образе должна полностью совпадать с вашей.

С помощью, следующей PowerShell команды проверьте, какая версия Windows установлена на вашем компьютере:

Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion

powershell Get-ComputerInfo получить номер билда и редакцию windows

Выведите список доступных версий Windows в установочном образе в WIM файле:

Get-WindowsImage -ImagePath "D:\sources\install.wim"

В нашем случае образ Windows 11 Pro в образе install.wim имеет ImageIndex = 6 .

index версии windows в wim файле

Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):

DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6  /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6  /limitaccess

Обратите внимание, что путь к WIM/ESD файлу в команде DISM регистрочувствительный. Всегда указываете корректный путь к файлу с учетом регистра, иначе появится ошибка DISM Error 2 - The system cannot find the file specified .

dism restorehealth source: восстановить хранилище компонентов из оригинального образа Windows на установочном диске, ISO, WIM файле

Если при запуске появляется:

  • Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образ Windows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT.
  • Ошибка DISM Error 87: проверьте правильность написания команды, убедитесь, что вы используете версию DISM для вашей версии Windows (обычно бывает при загрузке через WinPE/WinRE).
  • В некоторых случаях при обнаружении ошибки 0x80073701: Не найдена сборка, на которую имеется ссылка при установке компонентов Windows, которую не может исправить DISM, понадобится вручную вносить изменения в настройки хранилища компонентов в реестре
  • Ошибка: 0x800f0915 — The repair content could not be found anywhere.
    Check the internet connectivity or use the «Source» option to specify the location of the files that are required to restore the image. Для исправления этой проблемы: запустите DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase , очистите кеш обновлений (C:\Windows\SoftwareDistribution) и сбросьте настройки Windows Update утилитой Reset Windows Update Tool ( wureset ), перезагрузка и повторный запуск DISM /Online /Cleanup-Image /RestoreHealth

Восстановление образа Windows с помощью PowerShell

Вместо команды DISM для проверки и исправления хранилища компонентов Windows можно использовать PowerShell командлет Repair-WindowsImage (доступен в версии PowerShell в Windows 10/11 и Windows Server 2025/2022/2019). Для сканирования хранилища компонентов и поиска повреждений в образе выполните:

Repair-WindowsImage -Online –ScanHealth

Repair-WindowsImage -Online –ScanHealth ImageHealth State: Healthy

Если ошибок в хранилище компонентов не обнаружено, появится сообщение:

ImageHealth State: Healthy

Для запуска восстановления системных компонентов и файлов наберите:

Repair-WindowsImage -Online -RestoreHealth

При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в WIM/ESD файле, скопированного с установочного ISO образа Windows (здесь также нужно указать индекс версии Windows в WIM файле в качестве источника восстановления):

Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim:5 –LimitAccess

DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается

Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме, загрузив компьютер в среде восстановления WinRE или с установочной USB флешки.

Если Windows не загружается после установки обновлений, сначала попробуйте удалить последние патчи.
  1. Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 11 с помощью Media Creation Tool) и на экране начала установки нажмите Shift + F10
  2. Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду diskpart -> list vol (в моем примере диску, на котором установлена Windows присвоена буква C:\ , эту букву я буду использовать в следующих командах);diskpart получить буквы дисков
  3. Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows, с которого мы загрузили компьютер):
    Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:6 Dism /image /RestoreHealth offline в windows 10
  4. Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск (или флешка) достаточного размера, например F:\, на котором нужно создать пустой каталог: mkdir f:\scratch и запустить восстановление хранилища компонентов командой:
    Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
  5. Проверим системные файлы и исправим поврежденные файлы командой: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
    sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
Совет. Другие полезные команды DISM, которые должен знать администратор:

SFC /scannow: восстановление системных файлов Windows

После восстановления хранилища компонентов с помощью DISM, вы можете запустить утилиту проверки целостности системных файлов утилиты SFC (System File Checker).

Сначала проверьте, потребуется ли восстановление системных файлов, добавив опцию /verifyonly (проверка без попытки восстановления).

sfc /verifyonly

sfc verifyonly поиск повреждений в системных файлах

Beginning system scan.  This process will take some time.
Beginning verification phase of system scan.
Verification 100% complete.
Windows Resource Protection did not find any integrity violations.

Если обнаружены повреждения или вы хотите выполнить принудительно глубокое сканирование, выполните:

sfc /scannow

Если какие-то системные файлы отсутствуют или повреждены, утилита SFC попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS ).

Скорее всего она успешно восстановит поврежденные файлы:

Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила.
Windows Resource Protection found corrupt files and successfully repaired them.

sfc /scannow Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила

Если все системные файлы целы, появится сообщение:

Windows Resource Protection did not find any integrity violations
Утилита SFC записывает все свои действия в лог-файл %windir%\logs\cbs\cbs.log . Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"

Если команда sfc /scannow возвращает ошибку “ Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them ”, обычно это указывает, что утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.

sfc /scannow Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них

Скорее всего вы забыли предварительно исправить состояние хранилище компонентов Windows с помощью DISM. После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.


Предыдущая статья Следующая статья


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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)