Когда Windows начинает вести себя странно — вылеты, ошибки обновлений, зависания, проблемы с системными приложениями, синий экран после установки драйвера или обновления, — первое, что я обычно проверяю, это целостность системных файлов. Для этого в Windows есть две штатные утилиты: sfc и DISM. Они не лечат всё подряд, но хорошо закрывают конкретную задачу: найти повреждённые системные компоненты и восстановить их из штатных источников Windows.
Перед запуском команд сохраните открытые документы, подключите ноутбук к питанию и не выключайте компьютер во время проверки. Процесс может занять от нескольких минут до часа и дольше, особенно если диск медленный или система уже повреждена.
- Что именно проверяют sfc и DISM
- Когда запускать sfc, а когда DISM
- Как запустить sfc /scannow
- Как читать результат sfc /scannow
- Как запустить DISM для восстановления Windows
- Какие команды DISM бывают нужны
- Если DISM не может найти исходные файлы
- Что делать после DISM
- Если Windows не загружается
- Сценарии: какой порядок действий выбрать
- Частые ошибки при проверке системных файлов
- Как лучше сделать на практике
- Когда пора искать проблему глубже
- Итог
Что именно проверяют sfc и DISM
sfc /scannow проверяет защищённые системные файлы Windows. Если файл повреждён, утилита пытается заменить его исправной копией из хранилища компонентов Windows. Это хранилище называется Component Store. Именно из него Windows берёт файлы для восстановления, обновлений и включения системных компонентов.
DISM работает на уровень выше. Он проверяет и восстанавливает само хранилище компонентов. Если оно повреждено, sfc может найти ошибки, но не сможет их исправить: брать исправные файлы ему будет просто неоткуда.
Поэтому связка обычно работает так:
- Запускаем
sfc /scannow. - Если SFC восстановил файлы — перезагружаемся и проверяем, исчезла ли проблема.
- Если SFC пишет, что не смог восстановить часть файлов, запускаем DISM.
- После 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
Команды нужно запускать от имени администратора. В обычном окне командной строки они либо не сработают, либо выдадут ошибку доступа.
- Нажмите Пуск.
- Введите
cmdили Командная строка. - Выберите Запуск от имени администратора.
- Введите команду:
sfc /scannow - Дождитесь завершения. Окно лучше не закрывать и не перезагружать компьютер вручную.
Проверка может идти по-разному. На 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 окончательно сломана. Чаще всего утилита просто не может добраться до исправных файлов для восстановления.
Что можно сделать:
- Проверьте интернет-соединение и попробуйте запустить DISM ещё раз.
- Перезагрузите компьютер и повторите команду от имени администратора.
- Если Windows Update отключён или заблокирован, используйте ISO-образ Windows как локальный источник.
- После успешного DISM снова запустите
sfc /scannow.
Для варианта с ISO нужен образ той же версии Windows, которая установлена на компьютере. Если у вас Windows 11, не стоит брать образ Windows 10. Если установлена определённая редакция, лучше, чтобы образ соответствовал ей или был универсальным для нужной версии.
Пример использования ISO:
- Скачайте официальный ISO-образ Windows нужной версии.
- Смонтируйте его в системе. Он появится как виртуальный DVD-дисковод, например диск
D:. - Откройте командную строку от имени администратора.
- Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess - Если в образе файл
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восстанавливает.
Как лучше сделать на практике
Если вы не хотите разбираться в логах с первого раза, используйте простой рабочий порядок:
- Сохраните данные и перезагрузите компьютер.
- Откройте командную строку или PowerShell от имени администратора.
- Выполните
sfc /scannow. - Если SFC восстановил файлы или не нашёл нарушений — перезагрузитесь и проверьте, осталась ли проблема.
- Если SFC не смог восстановить файлы — выполните
DISM /Online /Cleanup-Image /RestoreHealth. - После успешного DISM снова выполните
sfc /scannow. - Если ошибки повторяются, посмотрите 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.
