Для проверки и восстановления системных компонентов Windows чаще всего используются две команды:
dism /online /cleanup-image /restorehealth
sfc /scannow
Они решают разные задачи:
- DISM восстанавливает хранилище компонентов Windows
- SFC проверяет и восстанавливает рабочие системные файлы
SFC #
Команда:
sfc /scannow
SFC (System File Checker) проверяет защищенные системные файлы Windows: DLL, исполняемые файлы, системные драйверы и другие компоненты. При обнаружении повреждения или несоответствия SFC пытается заменить файл исправной копией из хранилища компонентов Windows:
C:\Windows\WinSxS
SFC обычно используют после сбоев Windows, при некорректной работе системных компонентов или после восстановления хранилища с помощью DISM.
DISM #
Команда:
dism /online /cleanup-image /restorehealth
DISM (Deployment Image Servicing and Management) проверяет и восстанавливает само хранилище компонентов Windows. Если WinSxS поврежден, SFC может найти поврежденный файл, но не сможет получить исправную копию для его замены.
| Параметр | Назначение |
|---|---|
/Online |
Работать с запущенной Windows |
/Cleanup-Image |
Выполнять операции с образом и хранилищем компонентов |
/RestoreHealth |
Найти и восстановить повреждения |
По умолчанию DISM может получать недостающие компоненты через Windows Update. При необходимости источник можно указать вручную.
Правильный порядок #
Если есть подозрение на повреждение системных компонентов, сначала восстанавливают хранилище, затем системные файлы:
dism /online /cleanup-image /restorehealth
sfc /scannow
| Инструмент | Что восстанавливает |
|---|---|
| DISM | Хранилище компонентов Windows |
| SFC | Системные файлы Windows |
Именно поэтому запуск SFC до DISM не всегда помогает: если поврежден сам источник эталонных файлов, SFC нечем заменить поврежденные компоненты.
Режимы проверки DISM #
DISM поддерживает несколько вариантов проверки:
dism /online /cleanup-image /checkhealth
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /restorehealth
| Параметр | Действие |
|---|---|
/CheckHealth |
Проверяет наличие уже зарегистрированных повреждений |
/ScanHealth |
Выполняет полноценную проверку |
/RestoreHealth |
Проверяет и восстанавливает повреждения |
Для обычного восстановления чаще всего можно сразу использовать /RestoreHealth.
Если нет доступа к Windows Update #
На изолированном сервере можно использовать локальный ISO-образ Windows:
dism /online /cleanup-image /restorehealth /Source:D:\Sources\install.wim /LimitAccess
Где D:\ — смонтированный ISO-образ Windows, соответствующий установленной версии системы.
/Source задает источник компонентов, а /LimitAccess запрещает DISM обращаться к Windows Update.
Если в образе используется install.esd:
dism /online /cleanup-image /restorehealth /Source:D:\Sources\install.esd /LimitAccess
Логи #
Результаты работы SFC записываются в:
C:\Windows\Logs\CBS\CBS.log
Записи, относящиеся к SFC, можно отфильтровать:
findstr /c:"[SR]" C:\Windows\Logs\CBS\CBS.log
Лог DISM:
C:\Windows\Logs\DISM\dism.log
Что DISM и SFC не делают #
Они не удаляют личные файлы, не выполняют сброс Windows до заводского состояния и не заменяют восстановление системы из резервной копии. Также они не предназначены для исправления физических проблем диска или повреждения файловой системы.