Поверка целостности системных файлов Windows с помощью sfc.exe

Зачем нужна команда sfc scannow. Как запустить утилиту восстановления, используемые параметры, решение возможных проблем при работе.
утилита sfc.exe Windows

Утилита 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 не может восстановить файлы

Попробуйте выполнить следующую команду:

Dism /Online /Cleanup-Image /RestoreHealth

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

Второй вариант —  заменить файлы, которые утилита не может восстановить самостоятельно. Например, скопировать их с другого компьютера под управлением вашей версии Windows, либо восстановить из резервной копии.

Для этого нужно получить список файлов, которые утилита не смогла восстановить:

findstr /c:»[SR]» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfc.txt»

Эта команда создаст текстовый файл с именем sfc.txt на рабочем столе. В нём содержится подробный лог работы утилиты и указаны проблемные файлы.

Алексей Герзанов aka Gerzoid
Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

Добавить комментарий