Утилита sfc.exe проверяет целостность всех системных файлов, защищенных системой защиты файлов Windows (wfp), в нее встроена возможность автоматической замены поврежденных версий корректными версиями Microsoft. Для запуска программы пользователь должен иметь права Администратора.
Содержание
Применение
Описание
Коды возврата
Пример использования
Совместимость
Возможные проблемы
Применение
Аргументы заключенные в квадратные скобки [ ] не обязательные параметры
sfc [/scannow] [/verifyonly] [/scanfile=] [/verifyfile= ] [/offbootdir= ] [/offwindir= ] [/scanonce] [/scanboot] [/revert] [/purgecache] [/cachesize=x]
Описание
При запуске sfc использует ряд флагов, самый используемый из которых это /scannow. sfc можно запустить на всех компьютерах под управлением Windows, а также в консоли восстановления Windows, но стоит учесть что все флаги поддерживаются во всех операционных системах. Подробнее в графе Совместимость.
Список параметров:
/?
Выводит список всех имеющихся флагов
/scannow
Проверяет целостность всех защищенных системных файлов и восстанавливает поврежденные или измененные файлы сразу после выполнения команды. Эти файлы будут восстановлены в их значения по умолчанию.
/verifyonly
Проверяет целостность всех защищенных системных файлов, но не восстанавливает их.
/scanfile=Путь_к_файлу
Сканирует целостность указанного файла (по абсолютному пути filePath) и восстанавливает его если выявлены изменения. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll
/verifyfile=Путь_к_файлу
Сканирует целостность указанного файла (по абсолютному пути filePath) но не и восстанавливает его. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll
/offwindir=буква_диска_с_Windows
Необходим чтобы вручную указать диск на который установлена Windows и на котором мы ищем изменение файлов.
/offbootdir=буква_диска_откуда_восстанавливать
Задает букву диска с которого берутся файлы для восстановления. Он используется совместно с /offwindir =
/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 совместима с операционными системами Windows Vista и выше.
Возможные проблемы
- sfc scannow не удается запустить службу восстановления – Проверьте чтобы была запущена служба Установщик модулей Windows. (Панель управления\Администрирование\Службы) и тип запуска стоит Вручную
- sfc scannow не может восстановить файлы – Попробуйте выполнить следующую команду
Dism /Online /Cleanup-Image /RestoreHealth
Она используется для восстановления поврежденных компонентов, после чего перезагрузите компьютер и попробуйте выполнить sfc /scannow еще раз.
Второй вариант это заменить файлы, которые утилита не может восстановить самостоятельно либо с другого компьютера, либо с резервной копии и т.п.
Для этого нужно получить список файлов, которые утилита не смогла восстановить вводим:findstr /c:”[SR]” %windir%\Logs\CBS\CBS.log >”%userprofile%\Desktop\sfc.txt”
Эта команда создаст текстовый файл на Вашем рабочем столе sfc.txt в котором содержится подробный лог работы утилиты