Всем доброго времени суток и всяческих таких прочих разностей. Речь, как Вы поняли из заголовка, пойдет про SFC.
Мы с Вами уже говорили про встроенный в систему инструментарий, - журналы Windows, мониторинг производительности, планировщик заданий и всё такое прочее, что Важно для диагностики, настройки и понимания происходящих процессов, с помощью которых, собственно, можно решать и упреждать проблемы самого разного рода.
Я хочу напомнить, а некоторым и просто рассказать, про еще один инструмент, который является своеобразной классикой жанра и живет в операционной системе бесконечно давно, но почему-то многие его не используют, забыли о нём или не понимают зачем он нужен.
Давайте разбираться.
Общее описание функционала SFC
SFC - т.е средство проверки системных файлов, – это служебная программа ОС, позволяющая делать автоматизированную проверку на проблемы с файлами, библиотеками, службами, программами и всякой другой разностью в системе.
Очень часто именно эта утилита позволяет восстановить работу компонентов (программ, служб, оснастки и тп) Windows без погружения в какие-то особенные глубины (при учете, что система грузится, а сам SFC не поврежден) после сбоев. В частности, может помочь вернуть видоизмененные вирусом системные элементы.
В Win 10 его применение даже несколько шире, - SFC может затрагивать базовые системные приложения, что позволяет быстро восстанавливать их работу в достаточно объёмном числе случаев.
к содержанию ↑Запуск и использование
Дабы запустить утилиту нам потребуется консоль с правами администратора. Запустить её можно из папки /windows/system32/ (или найти её по нажатию на Пуск, или как-нибудь еще, благо способов предостаточно):
Далее в командной строке нам потребуется запустить тот самый 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, как наиболее полном и автоматизированном варианте. Результатом проверки может являться сообщения:
-
Это значит, что отсутствующие и поврежденные системные файлы не обнаружены, но не значит, что их нет и всё в безупречном порядке. Могут быть повреждения вне области сканирования SFC;
-
Консоль не запущена от имени администратора (правда там обычно об этом явно пишется), либо требуется проверка в безопасном режиме (F8 до загрузки системы, в версиях Windows до 8-ки). В числе прочего, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%\WinSxS\Temp;
-
Собственно, нужно посмотреть, что там интересного понаписал лог, либо просто проверить заработало ли то, что не работало;
Ну и давайте взглянем как оно работает.
к содержанию ↑Пример, факты и результирующая SFC
Примеры результата работы команды:
Где лежат обычно файлы логов и как выглядят:
Результирующая и содержание логов:
Это суровый минимум, который стоит знать и понимать. В общем и целом при нарушении работы системы не сильно понятного Вам характера, можно как раз использовать SFC для восстановления работы Windows и иногда приложений, которые идут в комплекте.
Если же требуется проанализировать логи, то есть форумы, где Вам могут помочь, а заодно подскажут, нужно ли было вообще запускать SFC или можно было сделать всё иначе.
Больше ценной информации на эту тему есть в справке Microsoft, которая живет здесь вот.
Перейдем к послесловию.
к содержанию ↑Послесловие
Такой вот бесценный инструмент, зная и помня о котором, можно достаточно автоматизированно лечить и устранять множество типовых (и не очень) проблем. Освоив же его на опытном (и более) уровне, собственно, можно научиться восстанавливать системы, которые не загружаются и не работают вовсе, при этом не прибегая к лишним суровым свистопляскам с консолью.
В двух словах как-то оно вот так. Если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.
Спасибо, что Вы с нами.
В командную строку ещё можно попасть, если нажать по значку пуск правой кнопкой мыши. Там есть и командная строка, и командная строка от имени администратора. Куда быстрее, чем искать её
Как вариант :)
Вот же ж, давно забыл о существовании энтой утилиты, а тут напомнили, сапасибо! Ради интереса проверил файлы с атрибутом "/verifyonly" и получил: "Защита ресурсов Windows не обнаружила нарушений целостности". Ну теперя я спокоен, можно и выпить......, рюмочку чаю! ;-Р
Очень зря, что забыли, штука полезная :)
Если обнаружились нарушения целостности, но винда при этом, как ни странно, работает, как часы, то что вы посоветуете? К чему может привести восстановление целостности?
Я конечно не эксперт, но на своём горьком опыте, я неоднократно убеждался в истинности древнего правила: «Работает — не трогай». :-0
По-хорошему можно ничего не трогать, пословицу действительно никто не отменял.
В остальных случаях можно использовать, - ничем страшным оно грозить не может, если конечно у Вас ни какая-нибудь эпическая пиратская сборка.
А вообще можно глянуть лог сначала.
А метод сделать точку восстановления системы - использовать sfc, и если всё плохо - откатиться назад сработает?
Не факт
Вышло это , как это исправить то ?
во время загрузки windows он показывает что файлы для 7win повреждены, но у меня стоит 8, и я ее ставил после форматирования, тоесть о 7 никак не может идти речи
Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.
Что значит во время загрузки он показывает? Кто он? Какой загрузки? Загрузки Windows? SFC? Т.е речь о запуске самой утилиты или загрузки Windows?
С чего Вы взяли тогда, что речь идет про 7-ку, а не 8-ку? В общем смотрите лог, пока ничего не понятно.
Давайте попробуем читать внимательнее:
-во время, ЗАГРУЗКИ WINDOWS, он(WINDOWS) показывает что файлы для WINDOWS_7 повреждены
-но у меня стоит 8-ка, и я ее ставил после форматирования (то-есть о 7ке никак не может идти речи)
Легче не стало. Давайте еще раз:
-В общем смотрите лог, пока ничего не понятно.
-С чего Вы взяли тогда, что речь идет про 7-ку, а не 8-ку?
Если говорить еще проще, то приведите полный текст того, что Вам пишет Windows, а лучше снимок. И посмотрите, что пишет лог.
А то у Вас противоречие:
-Речи идти о 7 не может
-Windows показывает о 7
И вообще с этим лучше на форум.
Здравствуйте!
Подскажите, пожалуйста. В последней версии 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
Но Вы правы, в консоли оно работает, видимо я отвык :(
Понятно. Нужно ковычки поставить, тогда пройдет команда.
Спасибо.
Восстановить хранилище компонентов можно с помощью средства Deployment Image & Servicing Management (DISM). DISM - это система обслуживания образов Windows.
Сначала нужно проверить целостность хранилища оригинальных компонентов Windows
Dism /Online /Cleanup-Image /ScanHealth
затем вводим команду:
DISM /Online /Cleanup-Image /RestoreHealth
Произойдёт восстановление хранилища компонентов с помощью средства DISM, Используется центр обновления Windows. для восстановления отсутствующих файлов Наличие интернет соединения обязательно.
Всё это действительно от win7 до 10
Спасибо за дополнение.