статьи

Проверка и восстановление системных файлов Windows [sfc /scannow]

Всем доброго времени суток и всяческих таких прочих разностей.

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

windows sfc

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

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

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

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

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

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

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

Запуск и использование для ремонта Windows

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

запуск консоли Windows

другой способ запуска cmd

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

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

Теперь об использовании. Краткий пример команд (на каждой строке отдельная команда, при учете, что не произошло переноса, т.е все они начинаются с 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 для восстановления работы Windows и иногда приложений, которые идут в комплекте.

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

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

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

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

Послесловие

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

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

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

Оценить

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(20 голосов, в среднем: 4.8 из 5)
  1. Ответить
    Андрей

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

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

    • Очень зря, что забыли, штука полезная :)

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

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

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

      • А метод сделать точку восстановления системы - использовать sfc, и если всё плохо - откатиться назад сработает?

  4. Ответить
    Дарий

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

    • Что значит во время загрузки он показывает? Кто он? Какой загрузки? Загрузки Windows? SFC? Т.е речь о запуске самой утилиты или загрузки Windows?
      С чего Вы взяли тогда, что речь идет про 7-ку, а не 8-ку? В общем смотрите лог, пока ничего не понятно.

  5. Ответить
    Дарий

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

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

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

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

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

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

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

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

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

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

    • Приветствую.
      Во-первых, что-то я не припомню, чтобы PowerShell не выполнял что-либо из cmd.
      Во-вторых, найти cmd.exe можно в /windows/system32/ и об этом написано в статье.

      • Добрый день.
        Несколько дней назад обновлялся до 1703 (сейчас обратно ушел на 1607), и там у меня PowerShell не принял команду для очистки диска Windows в расширенном режиме. Вот эта команда: %systemroot%\system32\cmd.exe /c cleanmgr /sageset:65535 & cleanmgr /sagerun:65535

        Сейчас уже не могу проверить, а тогда, когда был на 1703, подумал, раз уж заменили на PowerShell, то Командной строки теперь наверное нет - на её месте PowerShell.
        Интересно бы узнать, в самой последней версии Командная строка присутствует наравне с PowerShell? Если так, то тогда всё нормально.

        • Приветствую еще раз.
          Ну я же от балды пишу, - 1703, - есть PowerShell, есть cmd, - всё есть :)

          Про команду, Powershell же сразу говорит в чем проблема:

          строка:1 знак:58
          + %systemroot%\system32\cmd.exe /c cleanmgr /sageset:65535 & cleanmgr / ...
          + ~
          Амперсанд (&) не разрешен. Оператор & зарезервирован для будущих версий. Добавьте двойные кавычки до и после амперсанда
          ("&"), чтобы передать его как строку.
          + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
          + FullyQualifiedErrorId : AmpersandNotAllowed

          Но Вы правы, в консоли оно работает, видимо я отвык :(

          • Wind

            Понятно. Нужно ковычки поставить, тогда пройдет команда.
            Спасибо.

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

 

* - комментарии могут появляться не сразу, попасть в спам или быть удалены за несоответствие правилам