SCF для проверки и восстановления системных файлов /scannow

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

Мы с Вами уже говорили про встроенный в систему инструментарий, - журналы Windows, мониторинг производительности, планировщик заданий и всё такое прочее, что Важно для диагностики, настройки и понимания происходящих процессов, с помощью которых, собственно, можно решать и упреждать проблемы самого разного рода.

windows sfc - иконка статьи

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

Давайте разбираться.


Общее описание функционала SFC

SFC - т.е средство проверки системных файлов, – это служебная программа ОС, позволяющая делать автоматизированную проверку на проблемы с файлами, библиотеками, службами, программами и всякой другой разностью в системе.

Очень часто именно эта утилита позволяет восстановить работу компонентов (программ, служб, оснастки и тп) Windows без погружения в какие-то особенные глубины (при учете, что система грузится, а сам SFC не поврежден) после сбоев. В частности, может помочь вернуть видоизмененные вирусом системные элементы.

В Win 10 его применение даже несколько шире, - SFC может затрагивать базовые системные приложения, что позволяет быстро восстанавливать их работу в достаточно объёмном числе случаев.

к содержанию ↑

Запуск и использование

Дабы запустить утилиту нам потребуется консоль с правами администратора. Запустить её можно из папки /windows/system32/ (или найти её по нажатию на Пуск, или как-нибудь еще, благо способов предостаточно):

sfc - запуск консоли Windows - скриншот 1

sfc - другой способ запуска cmd - скриншот 2

Далее в командной строке нам потребуется запустить тот самый SFC.

к содержанию ↑

Параметры

Для начала давайте поговорим о параметрах с которым запускается:

  • /scannow, - проверяет целостность всех системных файлов и пытается их восстановить, наиболее частый из используемых параметров;
  • /verifyonly, - делает только проверку, без восстановления;
  • /scanfile, - при указании имени файла, проверяет конкретный файл и пытается его восстановить; требуется указание пути /scanfile=<путь>/<имяфайла>;
  • /verifyfile, - делает только проверку файла, без попыток восстановления;
  • /offbootdir, - позволяет указать автономный каталог загрузки Windows. Это позволяет делать проверку системных файлов поврежденных систем, если Вы в них не загружены (т.е, допустим, у Вас есть вторая, третья, пятая, десятая система, которая не загружается и проверку которой Вы хотите сделать);
  • /offwindir, - тоже самое, что и /offbootdir, но указывает не только загрузочный каталог, но и автономный каталог системы как таковой, что позволяет проверить больше файлов "соседней" системы.

Теперь об использовании.

к содержанию ↑

SFC и командная строка

Краткий пример команд (на каждой строке отдельная команда, при учете, что не произошло переноса, т.е все они начинаются с sfc) можно посмотреть ниже:

sfc /SCANNOW
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
sfc /VERIFYONLY

Как уже говорилось, чаще всего sfc используется в контексте /scannow, как наиболее полном и автоматизированном варианте. Результатом проверки может являться сообщения:

  • Защита ресурсов Windows не обнаружила нарушений целостности.

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

  • Защита ресурсов Windows не может выполнить запрошенную операцию.

    Консоль не запущена от имени администратора (правда там обычно об этом явно пишется), либо требуется проверка в безопасном режиме (F8 до загрузки системы, в версиях Windows до 8-ки). В числе прочего, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%\WinSxS\Temp;

  • Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.

    Собственно, нужно посмотреть, что там интересного понаписал лог, либо просто проверить заработало ли то, что не работало;

  • Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.

Ну и давайте взглянем как оно работает.

к содержанию ↑

Пример, факты и результирующая SFC

Примеры результата работы команды:

sfc - пример работы программы - скриншот 3

Где лежат обычно файлы логов и как выглядят:

sfc положение лога - скриншот 4

Результирующая и содержание логов:

sfc - результирующая - скриншот 5

Это суровый минимум, который стоит знать и понимать. В общем и целом при нарушении работы системы не сильно понятного Вам характера, можно как раз использовать SFC для восстановления работы Windows и иногда приложений, которые идут в комплекте.

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

Больше ценной информации на эту тему есть в справке Microsoft, которая живет здесь вот.

Перейдем к послесловию.

к содержанию ↑

Послесловие

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

В двух словах как-то оно вот так. Если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.

Спасибо, что Вы с нами.

Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
Андрей

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

Sonikelf

Как вариант :)

User1234

Вот же ж, давно забыл о существовании энтой утилиты, а тут напомнили, сапасибо! Ради интереса проверил файлы с атрибутом "/verifyonly" и получил: "Защита ресурсов Windows не обнаружила нарушений целостности". Ну теперя я спокоен, можно и выпить......, рюмочку чаю! ;-Р

LM

Если обнаружились нарушения целостности, но винда при этом, как ни странно, работает, как часы, то что вы посоветуете? К чему может привести восстановление целостности?

User1234

Я конечно не эксперт, но на своём горьком опыте, я неоднократно убеждался в истинности древнего правила: «Работает — не трогай». :-0

Дарий

Вышло это , как это исправить то ?
во время загрузки windows он показывает что файлы для 7win повреждены, но у меня стоит 8, и я ее ставил после форматирования, тоесть о 7 никак не может идти речи
Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.

Дарий

Давайте попробуем читать внимательнее:

-во время, ЗАГРУЗКИ WINDOWS, он(WINDOWS) показывает что файлы для WINDOWS_7 повреждены

-но у меня стоит 8-ка, и я ее ставил после форматирования (то-есть о 7ке никак не может идти речи)

Sonikelf

Легче не стало. Давайте еще раз:

-В общем смотрите лог, пока ничего не понятно.
-С чего Вы взяли тогда, что речь идет про 7-ку, а не 8-ку?

Если говорить еще проще, то приведите полный текст того, что Вам пишет Windows, а лучше снимок. И посмотрите, что пишет лог.

А то у Вас противоречие:

-Речи идти о 7 не может
-Windows показывает о 7

И вообще с этим лучше на форум.

Wind

Здравствуйте!
Подскажите, пожалуйста. В последней версии Windows 10 - 1703 нет Командной строки. Она там заменена на PowerShell. А в PowerShell не все команды проходят, которые проходят в Командной строке.
Скажите, можно ли найти именно Командную строку в версии 1703 Windows 10?

Вано

Восстановить хранилище компонентов можно с помощью средства Deployment Image & Servicing Management (DISM). DISM - это система обслуживания образов Windows.
Сначала нужно проверить целостность хранилища оригинальных компонентов Windows
Dism /Online /Cleanup-Image /ScanHealth
затем вводим команду:
DISM /Online /Cleanup-Image /RestoreHealth
Произойдёт восстановление хранилища компонентов с помощью средства DISM, Используется центр обновления Windows. для восстановления отсутствующих файлов Наличие интернет соединения обязательно.
Всё это действительно от win7 до 10