Проверка системных файлов Windows на целостность. SFC и DISM: Проверка и Восстановление системных файлов в Windows Win 7 проверка системных файлов

Утилита 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, но и программ и приложений, которые были установлены на компьютере. Если вы столкнулись с ошибкой, программа не запускается или ПК тормозит, стоит выполнить проверку системы на целостность файлов и при необходимости их восстановить.

Как проверить Windows 7 на целостность системных файлов?

Штатными средствами проверить Windows 7 на целостность системных файлов можно следующим образом:

  • Жмём «Win+R» и вводим «cmd».
  • Откроется командная строка. В консоли вводим «sfc /scannow».

  • Запустится проверка системы, по окончании которой будет предоставлен отчёт о состоянии системных файлов.

В случаи, когда при запуске команды появляется сообщение, что «Защите ресурсов Windows не удалось запустить службу восстановления…», то стоит выполнить следующее:

  • Жмём «Win+R» и вводим «serviсes.msc».

  • Откроется окно служб. Здесь нужно найти и включить «Установщик модулей Windows».

  • Для этого двойным щелчком запускаем службу и выставляем тип запуска «Вручную».

  • После перезагружаем систему и повторяем запуск команды в строке.

Как выполнить восстановление системных файлов в Windows 7 различными способами?

Команда «sfc /scannow» кроме проверки выполняет ещё и восстановление системных файлов. Однако, если она не смогла выполнить «починку» этих файлов, стоит проделать следующие действия:

  • В командной строке вводим: findstr /c:"" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt".

  • На рабочем столе появится текстовый документ «SFC», в котором будет представлен перечень файлов, восстановить которые не удалось.

  • В списке находим повреждённые файлы и копируем их версии с рабочего ПК. После замены повреждённых файлов система будет работать корректно.

Также можно проверить и восстановить системные файлы со среды восстановления, используя средство MSDaRT . Изначально скачиваем и записываем ISO образ диска восстановления системы «ERD Commander». После, загрузившись с установочного диска или флешки, выбираем соответствующий пункт.

Появится новое окно. Выбираем «Средство проверки системных файлов».

Запустится мастер восстановления системных файлов. Следуем инструкциям.

Ставим отметку «Сканировать и запрашивать перед исправлением».

Запустится поиск повреждённых файлов. После появится окно с отчётом, где нужно поставить отметку возле дефектного элемента и нажать «Далее».

После восстановления перезагружаем ПК.

Средство проверки системных файлов (System File Checker), встроенное в Windows, умеет проверять системные файлы на наличие повреждений и любых других изменений. Если файл был изменен, утилита автоматически заменит его правильной версией.

Когда следует использовать эти команды

Эти команды пригодятся при диагностике неисправной операционной системы Windows. Если система выдает синий экран, сбоят приложения или не работают какие-то системные функции, может помочь команда SFC. Даже если после выполнения команды SFC ничего не будет исправлено, это даст возможность убедиться, что системные файлы не повреждены и можно продолжать диагностику другими способами.

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

Исправление системных файлов командой SFC

Команду SFC следует выполнять от имени администратора. Чтобы это сделать, в Windows 10 или 8.1 нажмите правой кнопкой мыши на значке «Пуск» (Start) и выберите опцию «Командная строка (администратор)» (Command Prompt (Admin)). Кроме того, во всех версиях Windows можно выполнить поиск в меню «Пуск»/на начальном экране по словам «командная строка», нажать на нужной ссылке правой кнопкой мыши и выбрать «Запуск от имени администратора» (Run as Administrator).

Для полной проверки системы введите в окне командной строки следующую команду и нажмите :

Не закрывайте окно, пока не завершится выполнение команды. Процесс может оказаться довольно продолжительным. Если все в порядке, по итогам проверки появится сообщение «Защита ресурсов Windows не обнаружила нарушений целостности» (Windows Resource Protection did not find any integrity violations).

Если появляется сообщение «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них» (Windows Resource Protection found corrupt files but was unable to fix some of them), для начала попытайтесь загрузить систему в безопасном режиме. В Windows 10, 8.1 или 8 для этого зажмите клавишу при выборе опции «Перезагрузка» (Restart) в меню выключения, чтобы попасть на экран выбора дополнительных параметров загрузки. В Windows 7 и более ранних версиях перезагрузите компьютер и в процессе запуска зажмите клавишу . Загрузившись в безопасном режиме, вновь выполните команду sfc /scannow.

Исправление неполадок SFC командой DISM

В Windows 10, 8.1 и 8 исправить повреждение хранилища компонентов, препятствующее нормальной работе SFC, можно с помощью средства Deployment Image & Servicing Management (DSIM).

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

DISM /Online /Cleanup-Image /RestoreHealth

Не закрывайте окно командной строки до завершения процесса. Проверка может занять до 10 минут. Если индикатор прогресса долго держится на 20% – не волнуйтесь, это нормально.

Если по результатам выполнения команды DISM будут внесены какие-либо изменения, перезагрузите компьютер. После этого снова выполните команду SFC, и она сможет заменить поврежденные файлы правильными.

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

Восстановление системы или возврат в исходное состояние

Если проблемы сохраняются и исправить их с помощью этих инструментов не удается, можно принять более радикальные меры. Средство восстановления системы (System Restore) позволяет вернуть Windows к более раннему состоянию, что позволит решить проблему, если в том состоянии операционная система была еще исправна.

Можно также вернуть Windows к заводскому состоянию или переустановить. В Windows 10, 8.1 и 8 можно использовать функцию восстановления компьютера (), которая позволяет вернуть Windows к исходному состоянию. После этого придется переустановить все программы, но пользовательские файлы не пострадают. В Windows 7 и более ранних версиях следует использовать раздел восстановления, созданный производителем компьютера, или просто переустанавливать Windows с нуля.

Если при выполнении описанных выше команд возникают другие ошибки, попробуйте поискать по их описанию в Интернете. Часто в выводе команды содержится информация о файлах журнала (логах), в которых можно найти более подробные сведения об определенных проблемах. А в конечном итоге вовсе не обязательно тратить время на диагностику сложных проблем, когда можно просто восстановить заводское состояние или переустановить Windows.

У описанных выше команд есть и другие возможности. Например, с помощью SFC можно проверять и исправлять отдельные системные файлы. А с помощью DISM можно выполнить быструю проверку системы без исправления либо указать утилите на файл WIM или ESD, содержащий системные файлы Windows.

Материалы

Проблема нестабильной работы 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 7 файлов.

Работа вирусов

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

Иногда бывает, что сам антивирус после обновления ОС блокирует важные данные. В этом случае нужно зайти в раздел "Карантин" антивируса и найти пропавшие файлы, после чего восстановить и занести их в белый список или сменить антивирусную программу.

Recuva

На Windows 7 восстановление системных файлов может осуществить сторонняя программа, например, Recuva. Она совершенно бесплатная и простая в обращении даже тем, кто первый раз будет это делать. Скачиваем её, устанавливаем. Запустив её, первым делом нужно перейти в расширенный режим (кнопка справа сверху), после чего выбрать директорию для сканирования (папка Windows) и начать сканирование.

После того как проверка системных файлов закончится, появятся файлы с разноцветными кружочками рядом (зеленый - желтый - поврежден, красный - невозможно восстановить). Если проверка показала, что нужный объект в отличном состоянии, его запросто можно восстановить, выделив галочкой и нажав на “Восстановить”.

Делаем откат

Откатом восстанавливают операционную систему с помощью контрольной точки, которая была создана до появления ошибки. Алгоритм работы следующий: Пуск/ Все программы/ Стандартные/ Служебные/ Восстановление системы. Выбираем точку восстановления ОС, которая была создана до потери важных данных. Запускаем откат, после чего системные файлы и папки Windows будут восстановлены. Однако установленные программы после нее будут удалены. Посмотреть предполагаемые потери можно, нажав на кнопку “Поиск затрагиваемых программ”.

Устранение неполадок

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

Открываем её в качестве администратора. Сделать это можно несколькими способами:

  1. Пуск/ Все программы/ Стандартные, правая кнопка мыши на cmd (командная строка) -
  2. Заходим в системный диск, папка Windows, System32, правая кнопка мыши на cmd - "Запуск от имени администратора".
  3. В поиске Пуска вводим cmd и нажимаем Shift+Ctrl+Enter.

В появившемся окне пишем sfc /scannow, после чего начнется проверка системных файлов Windows 7 на целостность и восстановление в случае неисправности некоторых из них.

После восстановления необходимо сделать точку для восстановления ОС, чтобы в следующий раз сделать откат, а не восстанавливать отдельные данные. Алгоритм таков: открываем раздел "Свойства" в "Моем компьютере", с правой стороны выбираем раздел “Защита системы”. В разделе “Параметры защиты” на системном диске должна быть включена защита. Если этого нет, выбираем его, нажимаем "Настроить" и ставим точечку напротив “Восстановить параметры системы и предыдущие версии файлов”. Выбираем место для дискового пространства (1,5-2 ГБ хватит). Нажимаем ОК. Далее нажимаем “Создать”, даем имя.

Теперь можно делать на Windows 7 файлов.

восстановление системных файлов

Во время загрузки ОС нужно постоянно нажимать F8, пока не появится список и надпись “Последняя удачная конфигурация”. Нажимаем на нее, после чего система должна запуститься с момента, когда "Виндовс" удачно загрузилась в последний раз. Если не получилось, выбираем “Устранение неполадок компьютера”. В списке кликаем на “Восстановление запуска”. Начнется проверка системных файлов Windows 7 на ошибки и неисправные данные, после чего восстанавливаем их, нажав “Исправить и перезапустить”.

Также, если ранее была создана точка восстановления, вернуть ОС прежнее состояние можно с помощью отката.

Загрузочный диск

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

  1. В настройках BIOS. Заходим в BIOS (клавиша F2, F11 или del) и ищем Boot Manager. Там выставляем флешку или дисковод на первое место в приоритете. Если флешка не отображается, в настройках нужно активировать поддержку USB. Для каждой версии BIOS эти настройки выглядят по-разному.
  2. Перед запуском ОС нажимаем клавишу вызова меню загрузки (F8, F11 или F12), после чего выйдет Boot Manager со списком приводов, в котором выбираем нужный. Если загрузочный "Виндовс" на флешке и она не отображается, нужно в настройках BIOS активировать поддержку USB.

Если будет выбран нужный привод, запустится установка Windows 7. После выбора языка нажимаем "Далее", после чего внизу с левой стороны выбираем “Восстановление системы”. В появившемся окошке выбираем “Восстановление запуска” или “Восстановление системы”. Следующие шаги уже знакомы.