Проверка файлов системы windows 7. SFC Scannow - что это за команда

Утилита SFC.EXE (S ystem F iles C hecker) существует во всех версиях Windows, начиная с Windows 2000, и предназначена для проверки состояния и восстановления системных файлов. Механизмы защиты важных файлов в разных версиях Windows реализованы по-разному, но все они учитывают тот факт, что какие-либо системные файлы (обычно исполняемые файлы.exe, файлы библиотек.dll, файлы драйверов) могут быть изменены сторонним программным обеспечением, и должен быть механизм, позволяющий проверить их целостность и отменить обнаруженные изменения.

Формат командной строки:

SFC

Параметры командной строки:

/SCANNOW - Проверка целостности всех защищенных системных файлов и восстановление, по возможности, проблемных файлов.

/VERIFYONLY - Проверка целостности всех защищенных системных файлов. Восстановление файлов не выполняется.

/SCANFILE - Проверка целостности указанного файла и его восстановление при обнаружении проблем. В параметре файл следует указать полный путь

/VERIFYFILE - Проверка целостности файла, полный путь к которому указан в параметре файл . Восстановление файлов не выполняется.

/OFFBOOTDIR - Расположение автономного каталога загрузки для автономного восстановления

/OFFWINDIR - Расположение автономного каталога Windows для автономного восстановления

Примеры использования команды SFC:

sfc /? - отобразить подсказку по использованию.

sfc /scannow - выполнить проверку целостности системных файлов и восстановить поврежденные. Результаты работы записываются в журнал утилиты \Windows\Logs\CBS\CBS.log.

sfc /verifyonly - выполнить только сканирование системных файлов без исправления.

sfc /VERIFYFILE=c:\windows\system32\cmd.exe - сканировать только файл cmd.exe

sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows - сканировать только файл kernel32.dll из состава операционной системы, установленной на логическом диске D: . При выполнении сканирования файлов автономной Windows, ведение файла журнала в настоящее время не поддерживается.

В процессе выполнения программы, на экране отображается информация о ходе сканирования и результаты работы. Пример вывода при использовании сканирования с исправлением командой sfc /scannow :

Начато сканирование системы. Этот процесс может занять некоторое время.

Начало стадии проверки при сканировании системы.
Проверка 100% завершена.

Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Подробные сведения см. в файле CBS.Log, который находится по следующему пути: windir\Logs\CBS\CBS.log. Например, C:\Windows\Logs\CBS\CBS.log. Обратите внимание, что ведение журнала в настоящее время не поддерживается для автономного обслуживания.

Начиная с Windows Vista, в качестве средства по обслуживанию компонент операционной системы используется Component-Based Servicing (CBS) - специальный набор программных средств для обеспечения ее целостности. CBS является частью Component Servicing Infrastructure (CSI) , обеспечивающей необходимые изменения текущего состояния Windows, например, при обновлении системы (Windows Update), установке или удалении программ и компонент, обновлении драйверов устройств и т.п. Фактически, CBS предоставляет программный интерфейс (API) инсталляторам для корректного изменения текущего состояния системы. Система обслуживания ОС Windows фиксирует множество событий, связанных с отслеживанием этого состояния, в специальном файле C:\Windows\Logs\CBS\CBS.log

Файл журнала CBS.log, кроме всего прочего, содержит и подробные сведения о ходе выполнения сканирования утилиты sfc.exe и его результатах. Для каждого сканируемого файла записывается дата, время и дополнительные сведения о проверке. Через каждые 100 проверок отображается итоговая информация, сопровождаемая тегом , что позволяет выделить из довольно объемного текста только те записи, которые содержат данный признак, с использованием команды поиска строки в текстовом файле findstr :

findstr /c:"" %windir%\logs\cbs\cbs.log >sfcdetails.txt - найти строки, содержащие и вывести их в файл sfcdetails.txt текущего каталога.

Пример содержимого файла журнала, содержащего только строки с тегом :

00004b78 Verifying 100 (0x0000000000000064) components
00004b79 Beginning Verify and Repair transaction
00004be0 Verify complete
00004be1 Verifying 100 (0x0000000000000064) components
00004be2 Beginning Verify and Repair transaction
00004c30 Repairing corrupted file "\??\C:\WINDOWS\System32\cmd.exe" from store
00004c5a Verify complete
. . . .
00005594 Committing transaction
00005599 Verify and Repair Transaction completed. All files and registry keys listed
in this transaction have been successfully repaired

В данном примере, проверено 100 файлов, в которых не обнаружено никаких отклонений, а в следующей порции был обнаружен и успешно исправлен файл msprivs.dll.mui . Последние 2 строки сообщают о завершении работы, и о том, что все файлы и ключи реестра были успешно восстановлены.

В тех случаях, когда не удалось восстановить поврежденный файл, в журнале будет присутствовать строка, содержащая:

Cannot repair member file Имя Файла Детальная информация о файле

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

Для поиска информации в тексте журналов cbs.log удобно фильтровать записи по характерным признакам событий, зафиксированных в журнале:

findstr /c:"Cannot repair" %windir%\logs\cbs\cbs.log >sfcnotrepair.txt sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку Cannot repair , т.е. на выходе мы получим перечень системных файлов, которые не удалось восстановить.

findstr /c:"succsessfylly repaired" %windir%\logs\cbs\cbs.log >sfcnotrepair.txt - записывать в текстовый файл sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку succsessfylly repaired , т.е. на выходе мы получим перечень системных файлов, которые удалось восстановить.

В каталоге \Windows\Logs\CBS\ кроме текущего файла журнала cbs.log могут храниться устаревшие копии журналов в виде сжатых файлов с именем CbsPersist_ГГГГММДДnnnnnn.cab , которые, при необходимости можно распаковать для дальнейшего углубленного анализа.

В среде Windows 8-10 для восстановления системных компонент Windows, возможно использование утилиты Dism.exe , поддерживающей (чего не было в Windows Vista/Windows 7) параметр RestoreHealth :

dism /Online /Cleanup-Image /RestoreHealth - для восстановления системных файлов текущей ОС Windows.

Для Windows 7 параметр /RestoreHealth неприменим и функции восстановления объединены с функциями сканирования, задаваемыми параметром /ScanHealth :

dism /Online /Cleanup-Image /ScanHealth - для восстановления системных файлов текущей ОС Windows 7.

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

Откат к последнему стабильному состоянию

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

Если проблемы стали появляться относительно недавно, и вы помните примерную дату их появления, то лучшее решение - откатить ОС до момента, когда при работе ОС сбоев еще не наблюдалось.

В работающей среде сделать это очень просто:

Останется лишь перезагрузиться, после чего поврежденные системные файлы будут заменены на прежние рабочие версии.

Если Windows не загружается

Даже если повреждения системных данных настолько серьезны, что ОС не может самостоятельно загрузиться, возможность воспользоваться точками восстановления есть:


Запустится соответствующая утилита выбора контрольной точки, работать с которой нужно способом, описанным ранее.

Если при нажатии F8 окно вариантов загрузки не открывается, то попасть в среду восстановления вы сможете только при использовании загрузочного/установочного диска.

Использование стандартной утилиты SFC

Это приложение проверяет и восстанавливает основные системные файлы ОС. Его также можно запустить в командной строке с загрузочного диска, из окна выбора вариантов загрузки после нажатия F8 и из работающей системы. Последний вариант самый простой:


По завершении операции SFC уведомит вас о результатах - поврежденные данные должны быть обнаружены и исправлены.

Восстанавливаем данные вручную

Иногда описанные выше способы не могут устранить проблему. Например, при обновлении DirectX из дистрибутивов, поставляемых с различными приложениями, часто теряются библиотеки DLL. Поэтому всегда старайтесь обновлять DirectX с оф. сайта Microsoft, а если неприятность уже случилась, то при наличии новой версии все DLL обновятся автоматически после установки с сайта http://www.microsoft.com/ru-ru/download/confirmation.aspx?id=35 свежего пакета компонентов.

Если новой версии на указанной странице нет, то любой DLL из другого источника можно перенести в свою систему самостоятельно. Библиотеки хранятся в следующих директориях:

  • для Windows 7×32 - в папке C:\Windows\System32;
  • для Windows 7×64 - в каталоге C:\Windows\SysWOW64.

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

Не только библиотеки DLL, но и любые поврежденные системные файлы можно извлечь из установочного дистрибутива Windows 7 . Для этого просто нужно знать, какие именно файлы повреждены. Зачастую ОС сама информирует пользователя об отсутствии какого-либо DLL или об ошибке приложений, например, Explorer.exe. Получить информацию можно и самому.

Узнаем, какая системная информация неисправна

Для этого снова понадобится командная строка, как ее открыть, мы уже описали. Запишите здесь следующую команду:

indstr /N:»» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfcdetails.txt», где N - буква диска.

Нажмите Enter, после чего на рабочем столе будет создан sfcdetails.txt, который нужно открыть и внимательно просмотреть. Его содержание будет примерно таким, как на изображении ниже.

Здесь мы видим, что поврежденной является библиотека Accessibility.dll. Именно ее нужно будет найти в Сети или самостоятельно извлечь из имеющегося дистрибутива Windows 7 для проведения восстановления.

Извлекаем компоненты ОС из дистрибутива

Помимо установочного диска понадобится маленькое бесплатное приложение 7-zip. С его помощью мы будем работать с образом install.wim, расположенным в каталоге sources. Порядок следующий:


Останется только скопировать их в нужную папку или на флешку. Заменить же ими поврежденные данные можно при помощи установочного/загрузочного носителя или LiveCD.

Так же, как и «железо», софт тоже приходит в негодность, поскольку он подвергается значительным нагрузкам со стороны пользователя. Поэтому проверка целостности системных файлов в Windows 10 должна выполняться периодически, и, при необходимости, поврежденные участки восстанавливаются.

Проверка

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

Полезно знать! Оригинальные файлы ОС хранятся на системном диске в папке Windows\WinSxS .

Возможные проблемы

Восстановление ОС с помощью sfc /scannow пройдет неудачно, если само хранилище исходников было повреждено. В этом случае нужно сначала восстановить исходный образ с помощью утилиты Deployment Image & Servicing Management (DSIM) . Она предназначена для работы с образами Windows.


Полезно знать! При восстановлении хранилища утилитой DISM используется Центр обновлений.

Восстановление

После работы утилиты DISM и восстановления исходников запустите в командной строке повторно команду sfc /scannow . При этом произойдет полное восстановление целостности системы. Для дальнейшей работы перезагрузите компьютер. Если по каким-то причинам сделать исправление не получилось и вы используете радикальный метод переустановки ОС, прочитайте, как создать загрузочную флешку в статье «Создание установочной флешки Windows 10 различными способами ».

Вывод

Целостность файлов Windows 10 нарушается после неправильной работы с ними, частой переустановки программ или перезаписи информации. Для восстановления используйте встроенную утилиту sfc /scannow , которая сделает все автоматически, используя хранилище оригинальных файлов. Если поврежден исходный образ, восстановите его с помощью Deployment Image & Servicing Management .

Или sfc.exe представляет собой утилиту в Microsoft Windows и находится в папке C: WindowsSystem32. Эта утилита позволяет пользователям сканировать и восстанавливать коррумпированные файлы системы Windows .

В Windows 7 и Vista , программа проверки системных файлов интегрирована с Windows Resource Protection , которая защищает ключи реестра и папок, а также критически важных системных файлов. Если какие-либо изменения обнаруживаются в защищенной файловой системе, измененный файл восстанавливается из сохраненной копии находящейся в папке Windows .
Так, если в любой момент времени, если вы обнаружите, что вы взломали некоторые системные файлы или возможно применили некоторые хитрости или может быть заменили системные файлы, во время настройки Windows , и теперь вы обнаружите, что ваша ОС Windows не работает должным образом, вы можете рассмотреть работу эту утилиты для восстановления системы.
Для запуска проверки системных файлов в Windows 7 или Vista ,в поле Начать поиск введите тип CMD . В результате, чего появляется окно командной строки, щелкните правой кнопкой на CMD


В окне командной строки откроется тип SFC / Scannow – нажмите Enter. Утилита SFC будет работать некоторое время, и если будут обнаружены повреждения, заменит их на сохранённую.В случае если вы не в состоянии начать проверку системных файлов, и вы получите сообщение ” Windows Resource Protection - Windows не удаётся запустить услуги по ремонту ” , вы можете проверить, была ли включена в вашей ОС Windows Installer Модули службы. Для этого введите services.msc в строке поиска и нажмите Enter. Статус этой службы должен быть установлен в руководстве.Кроме того, вы также можете скачать очень полезную бесплатную утилиту FixWin и нажать на кнопку проверка системных файлов . Это позволит запустить sfc.exe.
Еще несколько переключателей sfc:
Однократное сканирование при следующей загрузке: sfc/scanonce
Сканирование при каждой загрузке: sfc/scanboot
Чистка кэша файлов: sfc/purgecache
Вернуться по умолчанию: sfc/revert
Вы также можете использовать программу sfc.exe для помощи в устранении аварий, которые происходят в части пользовательского режима Windows 7 и Vista . Эти сбои могут быть связаны с отсутствующими или поврежденными файлами операционной системы. Для этого вам нужно иметь доступ к лог-файлам.
Как просматривать файл журнала.
Программа sfc.exe пишет детали каждой проверки эксплуатации и ремонта каждой операции в cbs.log файл. Каждый раз после запуска программы sfc.exe в этом файле будет записан тэг . Файл cbs.log находится в папке % WINDIR%logsCBS .Вы можете искать теги , которые помогут найти записи программы sfc.exe . Для выполнения этого вида поиска и направления результатов в текстовый файл, выполните следующие действия:
Нажмите кнопку Пуск , введите CMD в поле Начать поиск , щелкните правой кнопкой мыши на CMD в списке Программы и выберите Запуск от имени администратора.
Введите следующую команду и нажмите Enter:
Findstr / с: ““% WINDIR% Logs CBS cbs.log> sfcdetails.txt
Файл Sfcdetails.txt содержит записи, которые регистрируются каждый раз, когда программа sfc.exe работает на компьютере.
Как интерпретировать записи файла журнала:
Программа sfc.exe проверяет файлы в группе по 100. Таким образом, там будет много групп записей программы sfc.exe . Каждая запись имеет следующий формат: дата/время/entry_type . Для более подробной информации о том, как интерпретировать, посетите

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

В результате пользователь может сталкиваться с различными ошибками при запуске программ или невозможностью их установки, проблемами с системными настройками и даже синими «экранами смерти». Поэтому при диагностике неполадок, первым делом обычно рекомендуется выполнить проверку целостности системных файлов Windows 7/10. На данный момент существует два основных метода проверки и восстановления системных файлов – с помощью штатных утилит SFC и DISM , запускаемых через командную строку или консоль PowerShell.

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

Использование SFC

Утилита SFC или иначе System Files Checker присутствует во всех версиях Windows, начиная с 2000, и предназначается для проверки состояния и восстановления системных файлов. SFC может принимать несколько аргументов, но в данном случае нас интересует только один. Проверка и восстановление системных файлов Windows 7/10 с её помощью производится следующим образом. Запустите от имени администратора командную строку или консоль PowerShell и выполните такую команду:

sfc /scannow

Процедура проверки займёт некоторое время. Если по завершении будут найдены ошибки, утилита предложит выполнить восстановление повреждённых файлов в процессе перезагрузки компьютера. Если SFC пишет, что не может восстановить файлы, убедитесь, что у вас отключены функции шифрования EFS и Bitlocker, загрузитесь в безопасном режиме, после чего повторите процедуру сканирования.

Для обеспечения максимального доступа к файловой системе процедуру восстановления поврежденных системных файлов Windows можно выполнить в загрузочной среде. Попасть в среду восстановления можно несколькими способами, но предлагаем наиболее универсальный. Загрузите компьютер с установочного диска Windows, а когда на экране появится окно мастера установки, нажмите Shift + F10 . Так как в загрузочной среде буквы дисков отличаются, вам нужно определить букву системного раздела. Выполняем такие команды:

diskpart
list volume

На MBR-дисках системный раздел, скорее всего, будет иметь букву D, а раздел «Зарезервировано системой» – букву C. Зная буквенные метки томов, командой exit закрываем Diskpart и производим проверку:

sfc /scannow /offbootdir=C:/ /offwindir=D:/

По завершении сканирования Windows перезагрузится в обычном режиме.

Утилита DISM

Как проверить целостность системных файлов Windows 7/10, если описанный выше способ не помогает или при выполнении команд выдаются разные ошибки? В этом случае можно попробовать прибегнуть к более мощному средству – утилите DISM . Запускаем командную строку с правами администратора и выполняем такую команду:

dism.exe /online /cleanup-image /scanhealth

Если утилита сообщит, что хранилище компонентов подлежит восстановлению, восстанавливаем его следующей командой:

dism.exe /online /cleanup-image /restorehealth

Если в процессе выполнения команд будут выдаваться ошибки, попробуйте восстановить хранилище компонентов с помощью запущенной с повышенными правами PowerShell, выполнив команду Repair-WindowsImage -Online -RestoreHealth при подключении компьютера к интернету.

После проделанных процедур можно произвести проверку sfc /scannow и посмотреть, не будут ли повторяться ошибки. Если да, проверьте, включена ли у вас служба «Установщик модулей Windows», а вообще, сделать это желательно заранее.

Восстановление поврежденных файлов в ручном режиме

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

findstr /c: «» %windir%/logs/cbs/cbs.log >»D:/sfc.log»

Информация о повреждённых файлах будут сохранена в лог-файл, в нашем случае это sfc.log на диск D. Содержимое файла может быть достаточно объёмным, ищите в нем блоки с ключевой фразой «Cannot repair» (не удалось восстановить) с соответствующими датой и временем сканирования.

На приложенном скриншоте видно, что SFC не смогла восстановить файл Asseccbility.dll. В этом же логе должен быть указан путь к неисправимому файлу. Скопируйте оригинальный файл с другого компьютера и замените им вручную повреждённый. На данном этапе нередко приходится сталкиваться с проблемами, так как файл может оказаться либо используемым системными процессами, либо пользователь не будет иметь на него права.

Для получения прав и замены таких файлов можно использовать штатные консольные утилиты Takeown с параметром /f и icacls с параметром /grant administrators:f , но есть более простой и универсальный способ – воспользоваться любым «живым диском» со встроенный файловым менеджером, например, Dr.Web LiveDisk. Если компьютер загружается, всё ещё проще, достаточно скопировать оригинальные файлы в любую удобную вам папку на его жёстком диске.

Отредактировать загрузочный образ ISO того же Dr.Web LiveDisk можно в программе UltraISO, создав в нём папку и скопировав в него windows-файлы.

Теперь рассмотрим, как восстановить системные файлы Windows 7/10 с помощью такого диска. Загрузившись с носителя, найдите свою папку с файлами (в Dr.Web LiveDisk точкой монтирования служит /cdrom ), скопируйте оригинальные файлы в буфер, перейдите в целевой каталог папки win и замените ими повреждённые.

Если оригинальные файлы лежат на диске Windows, ищите их в расположении win, в том разделе, в который вы их поместили. Данный способ удобен тем, что снимает все ограничения файловой системы Windows, позволяя получать к ней монопольный доступ.

Использование сторонних приложений

Разработка специальных программ, которые позволяли бы восстанавливать повреждённые и удалённые системные файлы, не имеет смысла, так как весь необходимый для этого функционал имеется в самой системе. Однако существуют инструменты, упрощающие доступ к штатным средствам с помощью удобного графического интерфейса. Таковым, к примеру, является Microsoft DaRT загрузочный диск, представляющий собой набор средств администрирования, в который также входит модуль сканирования и восстановления системных файлов Windows. Порядок действий такой проверки представлен на скриншотах ниже.

Для более удобного запуска SFC служат также программы Windows Repair и , только в отличие от Microsoft DaRT, стартуют они из рабочей системы.

В Windows Repair для запуска проверки необходимо перейти в раздел Pre-Repair Steps, крикнуть по вкладке Step 4 (Optional)» и нажать кнопку «Check».

В Glary Utilities переходим на вкладку «Модули», в меню слева выбираем «Сервис» и жмем «Восстановление системных файлов». В обоих случаях будет запущена стандартная консольная утилита SFC.

Прочие способы

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

И последнее, на что хотелось бы обратить внимание. Если вы скачали и установили пользовательскую сборку, будьте готовы к тому, что SFC более чем наверняка найдёт в ней поврежденные файлы. Причина очень проста – сборщики очень часто модифицируют свои образы, заменяя, к примеру, оригинальные иконки в библиотеках и прочее. Поэтому перед тем, как производить восстановление оригинальных файлов, подумайте, действительно ли это вам нужно, если в работе системы не наблюдается неполадок.