Перейти к основному содержимому

Восстановление системы Windows: DISM vs SFC

·377 слов·2 минут
DevOps • Networks • Security • Infrastructure
Автор
DevOps • Networks • Security • Infrastructure
DevOps/Network/Infra Engineer, CyberSecurity Expert

Для проверки и восстановления системных компонентов 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 до заводского состояния и не заменяют восстановление системы из резервной копии. Также они не предназначены для исправления физических проблем диска или повреждения файловой системы.

Related

Сброс триального периода RDS сервера на Windows
·164 слов·1 минута
Настройка Nginx Reverse Proxy
·1656 слов·8 минут
Crontab в Linux
·861 слово·5 минут