• Целостность файловой системы windows 7. Инструкция, как произвести проверку целостности системных файлов Windows

    Так же, как и «железо», софт тоже приходит в негодность, поскольку он подвергается значительным нагрузкам со стороны пользователя. Поэтому проверка целостности системных файлов в 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 (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.

    Средство проверки системных файлов (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 XP. Однако у этого способа масса недостатков: приходится тратить много времени на повторную инсталляцию и настройку системы, к тому же важные могут быть потеряны. Поэтому лучше не торопиться с переустановкой, а сначала попробовать менее радикальные способы восстановления системы.

    Проверка системы

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

    Если при запуске утилиты Scannow система сообщает, что вы установили неправильный компакт-диск, то может быть два варианта:

    • На диске записан неоригинальный дистрибутив Windows XP.
    • Дистрибутив оригинальный, но более ранней версии (на диске SP1, а на компьютере – SP3).

    Какой бы ни была причина появления ошибки, восстановить системные данные с такого диска уже не получится. Решение – найти носитель с оригинальным дистрибутивом и подходящей версией и повторить сканирование системы. Проверка с помощью sfc /scannow – это наиболее действенный способ восстановления системных файлов, который помогает практически всегда. Исключением может стать разве что серьезный сбой, который устраняется только переустановкой системы.

    Загрузка удачной конфигурации

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

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

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

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

    Ручная замена

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

    Создание загрузочной флешки ERD Commander занимает минут 10. После завершения процесса перезагрузите компьютер и нажмите F11 для запуска Boot Menu. Выполните загрузку с подключенной флешки. Теперь можно восстановить системные файлы, заменив их с носителя ERD Commander.

    Важно: для корректной замены вам нужно знать, какие системные файлы Windows XP повреждены. Посмотреть список поврежденных данных можно в сообщении об ошибке, которая выдает системе при запуске. Перемещать с ERD Commander следует только эти поврежденные данные.

    Восстановление производится с оригинального дистрибутива Windows XP. ERD Commander не содержит необходимые данные, он лишь создает среду для перемещения.

    1. При появлении стартового окна ERD Commander выберите загрузку пятой версии (для Windows XP).
    2. Выполните подключение к установленной системе.
    3. Появится рабочий стол, отдаленно похожий на XP. Установите диск с дистрибутивом Виндовс и откройте его через «Мой компьютер».

    Ваша цель – найти на установочном диске поврежденные файлы и скопировать их в папку «Windows». Все необходимые данные на диске хранятся в каталоге «I386». Посмотрим, как проводится восстановление на примере файла userinit.exe, отвечающего за запуск важных системных процессов:

    Перенесенный файл не готов к работе – его нужно еще распаковать. Распаковка осуществляется через командную строку:

    1. Откройте меню «Start» и запустите инструмент «Run». Это аналог инструмента «Выполнить» в меню «Пуск» в среде Виндовс.
    2. Введите команду такого вида: «expand c:\windows\system32\userinit.ex_ c:\windows\system32\userinit.exe». Пробел должен быть только между командой и адресами файлов; внутри пути к файлу пробелов нет.

    Разберем синтаксис команды: expand – это запрос на замену файла. Первый путь – это запакованные данные, второй путь – поврежденный файл, который нужно заменить. После выполнения распаковки нужно перезапустить компьютер и загрузиться с жесткого диска. Если вы заменили все поврежденные данные, то Виндовс XP должна загрузиться без ошибок.

    Утилита sfc.exe проверяет целостность всех системных файлов, защищенных системой защиты файлов Windows (wfp ), в нее встроена возможность автоматической замены поврежденных версий корректными версиями Microsoft. Для запуска программы пользователь должен иметь права Администратора .

    Sfc

    Описание

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

    Список параметров:
    /?

    Выводит список всех имеющихся флагов

    /scannow

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

    /verifyonly

    Проверяет целостность всех защищенных системных файлов, но не восстанавливает их.

    /scanfile=Путь_к_файлу

    Сканирует целостность указанного файла (по абсолютному пути filePath ) и восстанавливает его если выявлены изменения. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll

    /verifyfile=Путь_к_файлу

    Сканирует целостность указанного файла (по абсолютному пути filePath ) но не и восстанавливает его. Пример абсолютного пути, когда вместо filePath будет c:\windows\system32\example.dll

    /offwindir=буква_диска_с_Windows

    Необходим чтобы вручную указать диск на который установлена Windows и на котором мы ищем изменение файлов.

    /offbootdir=буква_диска_откуда_восстанавливать

    Задает букву диска с которого берутся файлы для восстановления. Он используется совместно с /offwindir = в консоли восстановления. Пример использования в консоли: sfc /scannow /offbootdir=d:\ /offwindir=d:\windows . В указанном примере сканируются и ремонтируются файлы, указанные флагом offwindir с использованием оригинальных файлов Microsoft найденных в пути offbootdir .

    /scanonce

    Сканировать и восстанавливать файлы при следующей загрузке Windows

    /scanboot

    Сканировать и восстанавливать файлы при каждой загрузке Windows

    /revert

    Эта команда используется для отмены ранее выполненных команд. Например, если пользователь выполнил команду /scanboot , которая запускает сканирование при каждой загрузке Windows, то команда /revert прекратит этот процесс.

    /purgecache

    Удаление исходных файлов (по которым происходит восстановление) из папки кэша Windows. Нужно пользоваться этой командой с осторожностью, поскольку может привести к сбоям системы. Команда также запускает сканирование системы и заполняет папку кэша копиями текущих файлов системы.

    /cachesize=x

    Изменяет размер кэша, под потребности пользователя. Параметр x задает количество мегабайт.

    Коды возврата

    Возвращает 0 если операция выполнена успешно и 0 если с ошибками.

    Пример использования

    Чтобы немедленно просканировать и восстановить поврежденные системные файлы:

    Чтобы проверить целостность файла без его исправления

    sfc /verifyfile=c:\windows\system32\example.dll

    Проверить файл example.dll в консоли восстановления системы с установочного f: диска Windows

    sfc /scanfile=d:\windows\system32\example.dll /offbootdir=f:\ /offwindir=d:\windows

    Совместимость

    Утилита sfc совместима с операционными системами Windows Vista и выше.

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

    1. sfc scannow не удается запустить службу восстановления – Проверьте чтобы была запущена служба Установщик модулей Windows . (Панель управления\Администрирование\Службы) и тип запуска стоит Вручную
    2. sfc scannow не может восстановить файлы – Попробуйте выполнить следующую команду

      Dism /Online /Cleanup-Image /RestoreHealth

      Она используется для восстановления поврежденных компонентов, после чего перезагрузите компьютер и попробуйте выполнить sfc /scannow еще раз.

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

      findstr /c:”” %windir%\Logs\CBS\CBS.log >”%userprofile%\Desktop\sfc.txt”

      Эта команда создаст текстовый файл на Вашем рабочем столе sfc.txt в котором содержится подробный лог работы утилиты