Утилита sfc.exe проверяет целостность всех системных файлов, защищённых системой защиты файлов Windows (wfp), в неё встроена возможность автоматической замены повреждённых версий корректными версиями Microsoft.
Для запуска программы пользователь должен иметь права Администратора.
Запуск утилиты
При запуске sfc использует ряд флагов, самый используемый из которых это /scannow. Её можно запустить на всех компьютерах под управлением Windows, а также в консоли восстановления операционной системы.
Утилита совместима с операционными системами Windows начиная с Vista и более современными.
Список параметров:
- /? — выводит список всех имеющихся флагов.
- /scannow — проверяет целостность всех защищённых системных файлов и восстанавливает повреждённые или изменённые файлы сразу после выполнения команды. Эти файлы будут восстановлены в их значения по умолчанию.
- /verifyonly — проверяет целостность всех защищённых системных файлов, но не восстанавливает их.
- /scanfile=Путь_к_файлу — сканирует целостность указанного файла (по абсолютному пути filePath) и восстанавливает его, если выявлены изменения. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll.
- /verifyfile=Путь_к_файлу — сканирует целостность указанного файла (по абсолютному пути filePath), но не и восстанавливает его. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll.
- /offwindir=буква_диска_с_Windows — необходим, чтобы вручную указать диск, на который установлена Windows и на котором мы ищем изменение файлов.
- /offbootdir=буква_диска_откуда_восстанавливать — задаёт букву диска, с которого берутся файлы для восстановления. Он используется совместно с /offwindir = в консоли восстановления. Пример использования в консоли: sfc /scannow /offbootdir=d:\ /offwindir=d:\windows. В указанном примере сканируются и ремонтируются файлы, указанные флагом offwindir с использованием оригинальных файлов Microsoft, найденных в пути offbootdir.
- /scanonce — сканировать и восстанавливать файлы при следующей загрузке Windows.
- /scanboot — сканировать и восстанавливать файлы при каждой загрузке Windows.
- /revert — команда используется для отмены ранее выполненных команд. Например, если пользователь выполнил команду /scanboot, которая запускает сканирование при каждой загрузке Windows, то команда /revert прекратит этот процесс.
- /purgecache — удаление исходных файлов (по которым происходит восстановление) из папки кеша Windows. Нужно пользоваться этой командой с осторожностью, поскольку может привести к сбоям системы. Команда также запускает сканирование системы и заполняет папку кеша копиями текущих файлов системы.
- /cachesize=x — изменяет размер кеша, под потребности пользователя. Параметр x задаёт количество мегабайт.
Коды возврата: возвращает 0, если операция выполнена успешно и 0, если с ошибками.
Примеры использования
Чтобы немедленно просканировать и восстановить повреждённые системные файлы:
sfc /scannow
Чтобы проверить целостность файла без его исправления:
sfc /verifyfile=c:\windows\system32\example.dll
Проверить файл example.dll в консоли восстановления системы с установочного F диска Windows:
sfc /scanfile=d:\windows\system32\example.dll /offbootdir=f:\ /offwindir=d:\windows
Возможные проблемы
sfc scannow не удаётся запустить службу восстановления
Проверьте, чтобы была запущена служба Установщик модулей Windows. Это можно сделать в Панели управления → Администрирование → Службы → тип запуска Вручную.
sfc scannow не может восстановить файлы
Попробуйте выполнить следующую команду:
Она используется для восстановления повреждённых компонентов, после чего перезагрузите компьютер и попробуйте выполнить sfc /scannow ещё раз.
Второй вариант — заменить файлы, которые утилита не может восстановить самостоятельно. Например, скопировать их с другого компьютера под управлением вашей версии Windows, либо восстановить из резервной копии.
Для этого нужно получить список файлов, которые утилита не смогла восстановить:
findstr /c:»[SR]» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfc.txt»
Эта команда создаст текстовый файл с именем sfc.txt на рабочем столе. В нём содержится подробный лог работы утилиты и указаны проблемные файлы.