Как проверить целостность системных файлов Windows через sfc /scannow и DISM

Когда Windows начинает вести себя странно — вылеты, ошибки обновлений, зависания, проблемы с системными приложениями, синий экран после установки драйвера или обновления, — первое, что я обычно проверяю, это целостность системных файлов. Для этого в Windows есть две штатные утилиты: sfc и DISM. Они не лечат всё подряд, но хорошо закрывают конкретную задачу: найти повреждённые системные компоненты и восстановить их из штатных источников Windows.

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

Что именно проверяют sfc и DISM

sfc /scannow проверяет защищённые системные файлы Windows. Если файл повреждён, утилита пытается заменить его исправной копией из хранилища компонентов Windows. Это хранилище называется Component Store. Именно из него Windows берёт файлы для восстановления, обновлений и включения системных компонентов.

DISM работает на уровень выше. Он проверяет и восстанавливает само хранилище компонентов. Если оно повреждено, sfc может найти ошибки, но не сможет их исправить: брать исправные файлы ему будет просто неоткуда.

Поэтому связка обычно работает так:

  1. Запускаем sfc /scannow.
  2. Если SFC восстановил файлы — перезагружаемся и проверяем, исчезла ли проблема.
  3. Если SFC пишет, что не смог восстановить часть файлов, запускаем DISM.
  4. После DISM снова запускаем sfc /scannow, чтобы он довосстановил то, что раньше не смог.

Когда запускать sfc, а когда DISM

Ситуация Что запускать первым Что делает команда Что делать дальше
Нужно просто проверить системные файлы после странного поведения Windows sfc /scannow Сканирует защищённые системные файлы и чинит найденные повреждения Если восстановление прошло успешно — перезагрузиться и проверить работу системы
SFC пишет, что нашёл повреждения, но не смог их исправить DISM /Online /Cleanup-Image /RestoreHealth Восстанавливает хранилище компонентов Windows После DISM снова запустить sfc /scannow
Не устанавливаются обновления, слетают системные компоненты, много ошибок CBS/DISM Сначала DISM, потом SFC DISM чинит источник, из которого SFC берёт файлы После восстановления хранилища запустить SFC для проверки файлов
Нужно только проверить без ремонта sfc /verifyonly или DISM /Online /Cleanup-Image /ScanHealth Проверяет, но не восстанавливает Если найдены ошибки — запускать команды восстановления
Windows не загружается DISM/SFC из среды восстановления Проверяет установленную систему offline Нужно правильно указать диск с Windows и источник восстановления

Как запустить sfc /scannow

Команды нужно запускать от имени администратора. В обычном окне командной строки они либо не сработают, либо выдадут ошибку доступа.

  1. Нажмите Пуск.
  2. Введите cmd или Командная строка.
  3. Выберите Запуск от имени администратора.
  4. Введите команду:
    sfc /scannow
  5. Дождитесь завершения. Окно лучше не закрывать и не перезагружать компьютер вручную.

Проверка может идти по-разному. На SSD с исправной системой она иногда заканчивается довольно быстро. На старом HDD, при большом количестве ошибок или после неудачного обновления процесс может затянуться. Если проценты долго не меняются, это не всегда зависание: Windows может читать файлы, ждать ответа диска или обрабатывать повреждённые компоненты.

Как читать результат sfc /scannow

После завершения SFC обычно показывает одно из нескольких сообщений.

  • «Windows Resource Protection did not find any integrity violations» — нарушений целостности не найдено. Системные файлы в порядке, причину проблемы стоит искать в другом месте.
  • «Windows Resource Protection found corrupt files and successfully repaired them» — повреждённые файлы найдены и восстановлены. После этого лучше перезагрузить компьютер и проверить, ушла ли ошибка.
  • «Windows Resource Protection found corrupt files but was unable to fix some of them» — SFC нашёл проблемы, но не смог их исправить. Чаще всего причина в повреждённом хранилище компонентов. Здесь нужен DISM.
  • «Windows Resource Protection could not start the repair service» — служба восстановления не запустилась. Обычно помогает перезагрузка, запуск из безопасного режима или проверка диска, если с накопителем есть проблемы.

Если SFC восстановил файлы, не нужно сразу запускать его десять раз подряд. Достаточно перезагрузиться, проверить работу системы и, при необходимости, запустить проверку повторно через некоторое время.

Как запустить DISM для восстановления Windows

Если SFC не справился, откройте командную строку или PowerShell от имени администратора и выполните:

DISM /Online /Cleanup-Image /RestoreHealth

Параметр /Online означает, что DISM работает с текущей запущенной Windows. /Cleanup-Image указывает, что операция выполняется с образом системы, а /RestoreHealth запускает восстановление.

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

Какие команды DISM бывают нужны

Команда Зачем нужна Когда использовать
DISM /Online /Cleanup-Image /CheckHealth Быстрая проверка, есть ли признаки повреждения хранилища Когда нужно быстро понять, есть ли проблема, без полноценного сканирования
DISM /Online /Cleanup-Image /ScanHealth Сканирует хранилище компонентов Когда нужно проверить состояние без восстановления
DISM /Online /Cleanup-Image /RestoreHealth Проверяет и восстанавливает хранилище компонентов Основная команда, если SFC не смог восстановить файлы
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess Восстанавливает хранилище из локального ISO-образа Windows Если нет интернета или DISM не может скачать файлы через Windows Update

/CheckHealth — это не полноценная глубокая проверка. Она показывает, есть ли уже зафиксированные признаки повреждения. Для реального сканирования используют /ScanHealth, а для исправления — /RestoreHealth.

Если DISM не может найти исходные файлы

Одна из частых проблем — DISM завершает работу с ошибкой вроде source files could not be found, 0x800f081f или 0x800f0954. Это не значит, что Windows окончательно сломана. Чаще всего утилита просто не может добраться до исправных файлов для восстановления.

Что можно сделать:

  1. Проверьте интернет-соединение и попробуйте запустить DISM ещё раз.
  2. Перезагрузите компьютер и повторите команду от имени администратора.
  3. Если Windows Update отключён или заблокирован, используйте ISO-образ Windows как локальный источник.
  4. После успешного DISM снова запустите sfc /scannow.

Для варианта с ISO нужен образ той же версии Windows, которая установлена на компьютере. Если у вас Windows 11, не стоит брать образ Windows 10. Если установлена определённая редакция, лучше, чтобы образ соответствовал ей или был универсальным для нужной версии.

Пример использования ISO:

  1. Скачайте официальный ISO-образ Windows нужной версии.
  2. Смонтируйте его в системе. Он появится как виртуальный DVD-дисковод, например диск D:.
  3. Откройте командную строку от имени администратора.
  4. Выполните команду:
    DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess
  5. Если в образе файл install.esd, команда будет другого вида:
    DISM /Online /Cleanup-Image /RestoreHealth /Source:esd:D:\sources\install.esd:1 /LimitAccess

Цифра :1 в конце — это индекс образа. В некоторых ISO их несколько: Home, Pro и так далее. Чтобы узнать индексы, можно выполнить:

DISM /Get-WimInfo /WimFile:D:\sources\install.wim

или для ESD:

DISM /Get-WimInfo /WimFile:D:\sources\install.esd

Параметр /LimitAccess запрещает DISM обращаться к Windows Update и заставляет использовать только указанный источник. Это удобно, когда интернет не помогает или система настроена так, что скачивание файлов восстановления блокируется.

Что делать после DISM

После успешного восстановления хранилища компонентов снова запустите:

sfc /scannow

Это нормальная практика, а не лишнее действие. DISM восстановил источник, из которого SFC берёт файлы. Теперь SFC может повторно проверить защищённые системные файлы и заменить те, которые раньше не удалось восстановить.

Если после DISM и повторного SFC снова появляется сообщение, что часть файлов не восстановлена, посмотрите логи. Основные журналы находятся здесь:

  • %WinDir%\Logs\CBS\CBS.log — журнал SFC и CBS.
  • %WinDir%\Logs\DISM\dism.log — журнал DISM.

Их можно открыть через «Выполнить» или из командной строки:

notepad %windir%\Logs\CBS\CBS.log

В логах ищите строки с Error, Cannot repair, Source corrupted или коды ошибок. По ним уже проще понять, проблема в хранилище, обновлении, диске или конкретном системном компоненте.

Если Windows не загружается

Если система не стартует до рабочего стола, обычные команды /Online уже не подойдут. Тогда SFC и DISM запускают из среды восстановления Windows или с установочного носителя.

Главная сложность здесь — буква диска. В среде восстановления диск с Windows не всегда будет C:. Его нужно определить через diskpart:

diskpart
list vol
exit

Допустим, вы определили, что Windows находится на диске C:, а установочный носитель смонтирован как D:. Тогда команды могут выглядеть так:

DISM /Image:C:\ /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows

Если диск зашифрован BitLocker, сначала его нужно разблокировать. Если указать не тот диск, команда либо завершится ошибкой, либо начнёт работать не с той системой, что только запутает ситуацию.

Сценарии: какой порядок действий выбрать

На практике порядок зависит не от красивой схемы, а от того, что именно происходит с компьютером.

  • Если Windows загружается, но стали появляться странные ошибки — начните с sfc /scannow. Это самый простой и быстрый путь.
  • Если SFC восстановил файлы — перезагрузитесь. Если проблема ушла, дальше ничего запускать не нужно.
  • Если SFC пишет, что не смог восстановить часть файлов — запускайте DISM /Online /Cleanup-Image /RestoreHealth, затем снова sfc /scannow.
  • Если не устанавливаются обновления или ошибки связаны с компонентами Windows — можно сразу начать с DISM, а потом проверить систему через SFC.
  • Если нет интернета или DISM не находит источник — используйте ISO-образ Windows и параметр /Source.
  • Если Windows не загружается — запускайте DISM и SFC offline из среды восстановления, предварительно определив букву диска.

Частые ошибки при проверке системных файлов

  • Запуск не от имени администратора. В итоге SFC или DISM пишет об ошибке доступа или не может начать работу.
  • Остановка процесса вручную. Если закрыть окно на середине восстановления, можно получить новые ошибки или неполное состояние компонентов.
  • Запуск SFC без DISM, когда хранилище компонентов уже повреждено. SFC в такой ситуации часто находит ошибки, но не может их исправить.
  • Копирование системных файлов с другого компьютера. Так делать не нужно: можно получить несовместимые файлы, странные ошибки и ещё больше проблем.
  • Использование случайных скриптов из интернета. Для этой задачи достаточно штатных команд Microsoft. Скрипты часто чистят лишнее, отключают службы или меняют настройки без необходимости.
  • Неправильная буква диска в среде восстановления. Перед offline-командами обязательно проверьте, где находится установленная Windows.
  • Путаница между проверкой и восстановлением. /CheckHealth не чинит, /ScanHealth сканирует, а /RestoreHealth восстанавливает.

Как лучше сделать на практике

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

  1. Сохраните данные и перезагрузите компьютер.
  2. Откройте командную строку или PowerShell от имени администратора.
  3. Выполните sfc /scannow.
  4. Если SFC восстановил файлы или не нашёл нарушений — перезагрузитесь и проверьте, осталась ли проблема.
  5. Если SFC не смог восстановить файлы — выполните DISM /Online /Cleanup-Image /RestoreHealth.
  6. После успешного DISM снова выполните sfc /scannow.
  7. Если ошибки повторяются, посмотрите CBS.log и dism.log или используйте ISO-образ Windows как источник восстановления.

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

Когда пора искать проблему глубже

Если DISM успешно завершается, SFC после этого тоже пишет, что нарушений нет, но ошибки Windows продолжаются, значит системные файлы, скорее всего, не являются главной причиной.

Дальше уже стоит смотреть в сторону обновлений, драйверов, состояния диска, журналов событий, недавно установленного софта и конкретных кодов ошибок. Если же SFC и DISM стабильно не могут завершить восстановление даже с ISO-образом, это уже серьёзный признак: возможно, повреждена сама установка Windows, есть проблемы с накопителем или системные компоненты находятся в некорректном состоянии.

Итог

Для проверки целостности системных файлов Windows начинайте с sfc /scannow. Если SFC восстановил файлы — перезагрузитесь и проверьте результат. Если SFC нашёл повреждения, но не смог их исправить, запускайте DISM /Online /Cleanup-Image /RestoreHealth, а затем повторно sfc /scannow.

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

Оцените статью
PEFile — Безопасность и технологии простым языком