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

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

18.10.2019

Windows? Проверка целостности ОС Windows 10/8/7/XP нужна тогда, если заподозрили, что часть из системных разделов изменились или подверглись дефектам из-за воздействия вредоносной программы.

Имеется несколько инструментов, чтобы проверить целостность файлов Windows 10. Наиболее распространённый - SFC.exe, часто применяется DISM.exe. Можно ещё воспользоваться функцией Repair-WindowsImage, выполняемой в PowerShell. Рекомендуем применять несколько способов, но поочерёдно. Это необходимо потому, что каждый из вариантов проверит целостность разных файлов. Если вам потребовалось выполнить такую процедуру, однако не знаете, как проверить целостность системных файлов Windows 10 правильно, чтобы их откорректировать, возобновить работу, внимательно прочтите ниже приведённые рекомендации, следуйте последовательным шагам, тогда сможете произвести проверку, восстановление целостности системных файлов Windows 10 и других версий.

Проверьте состояние системных файлов с помощью средств Windows

Сканирование посредством SCF

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

  • Для активации данной команды вначале откройте CMD , старт произведите с правами администратора. Можно активировать утилиту при помощи мышки, кликнув правой кнопкой по главному меню «Пуск», затем в списке выбрав «Командную строку». В диалоговом окне наберите sfc /scannow, нажмите Enter.
  • Будет начата проверка, выявятся дефекты, затем начнут корректироваться без вашего вмешательства, содействия автоматически, самой системой. Если ошибки не обнаружились, вам сообщат, что защитой ресурсов ОС не обнаружено проблем.
  • Если же решите проверить какой-то один, определённый из системных файлов, то в командной строке укажите scf /scanfile=”путь к файлу”.
  • Нельзя не отметить, что SCF не в состоянии исправлять ошибки тех разделов, которые запущены в момент сканирования, поэтому лучше всего эксплуатировать SFC исключительно при запуске «Восстановление среды Windows 10».

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

Чтобы правильно активировать SCF, выполняйте последовательно шаги ниже описанного алгоритма.

После проведения вышеописанных шагов появится список томов, необходимо запомнить или записать те буквы, которые соответствует системному разделу и диску «Зарезервировано системой».

sfc / /scannow /offbootdir=буква раздела загрузчика:\ /offwindir=E:\Windows (или ваш путь к директории Windows 10).

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

Сканирование посредством DISM.exe

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

Для запуска DISM.exe тоже применяется командная строка. Активируйте её от администратора и далее следуйте по шагам:

  • dism /Online /Cleanup-Image /CheckHealth - эта функция предоставляет сведения, какие в наличии дефекты, повреждения разных компонентов Windows 10. Глубокая проверка, впрочем, не совершается, используются лишь ранее найденные данные.
  • dism /Online /Cleanup-Image /ScanHealth - сканирование на возможные повреждения хранилища компонентов. Эта проверка зачастую требует достаточно времени, периодически подвисая в процессе реализации (обычно на 20%).
  • dism /Online /Cleanup-Image /RestoreHealth - тщательный осмотр и воссоздание файлов системы в автономном режиме, восстановление, что также занимает продолжительное время.

Все журналы действий при исполнении вышеописанных команд записываются по пути Windows\Logs\CBS\CBS.log, Windows\Logs\DISM\dism.log

Подобно предыдущей утилите, DISM запускается также посредством режима восстановления Windows 10.

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

  • зайдите в меню «Пуск»;
  • кликните по опции «Выполнить»;
  • в диалоговом окне наберите команду «cmd», затем на клавиатуре Enter.

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

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

Утилита 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.

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

SFC в среде Windows

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

Sfc /scannow

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

Таблица 1 - Синтаксис утилиты sfc.exe

SFC

/SCANNOW Проверка целостности всех защищенных системных файлов и восстановление, по возможности, проблемных файлов.
/VERIFYONLY Проверка целостности всех защищенных системных файлов. Восстановление файлов не выполняется.
/SCANFILE Проверка целостности указанного файла и его восстановление при обнаружении проблем. В параметре <файл> следует указать полный путь
/VERIFYFILE Проверка целостности файла, полный путь к которому указан в параметре <файл>. Восстановление файлов не выполняется.
/OFFBOOTDIR Расположение автономного каталога загрузки для автономного восстановления
/OFFWINDIR Расположение автономного каталога Windows для автономного восстановления
например:
sfc /SCANNOW
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
sfc /VERIFYONLY


SFC в среде Windows RE

Взяться за написание статьи подвигло непонятное поведение утилиты sfc. exe в среде Windows RE при загрузке с установочного диска или диска восстановления, а именно предложение перезагрузить систему и выполнить проверку еще раз.

Рисунок 1 - Запуск утилиты в среде восстановления без ключей и требование перезагрузки

Подобное поведение имеет вполне логичное объяснение: для среды Windows RE раздел диска, с находящейся на ней операционной системой, является автономным каталогом. Следовательно, запуск утилиты с ключами /OFFBOOTDIR и /OFFWINDIR обязателен. Дальше выясним значения этих ключей.

Расположение и буквы разделов в проводнике Windows или в оснастке управления дисками могут отличаться от букв, присвоенных разделам в среде восстановления. Обратите внимание, что на рисунках ниже раздел с системой имеет букву С .

Рисунок 2 - Раздел с системой в проводнике Windows

Рисунок 3 - Раздел с системой в оснастке "Управление дисками"

Вадим Стеркин предложил замечательный способ определения букв разделов в среде восстановления . Есть и другой - воспользоваться утилитой DISKPART . Загрузитесь в среду восстановления с установочного диска Windows, войдите в командную строку и выполните последовательно:

DISKPART List disk Sel disk 0 Detail disk

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

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

1. Восстановление целостности файлов Windows

Для выявления отсутствующих или поврежденных важных файлов системы и их восстановления Windows предусматривает штатную утилиту sfc.exe, работающую при помощи командной строки. Утилита заменяет поврежденные или отсутствующие файлы системы их оригиналами из специального хранилища компонентов, расположенного в папке «WinSxS» внутри каталога «Windows» на диске С. Запускаем от имени администратора командную строку и вводим:

Нажимаем Enter. После сканирования на предмет выявления подлежащих замене системных файлов они будут восстановлены.

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

2. Восстановление хранилища системных компонентов: DISM

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

Запускаем от имени администратора командную строку и вводим:

DISM /Online /Cleanup-Image /RestoreHealth

Нажимаем Enter. При успешной попытке проведения операции увидим соответствующее уведомление.

Теперь проводим операцию, рассмотренную в п. 1 статьи.

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

Процесс восстановления хранилища с указанием источника получения данных рассмотрим чуть позже, в п. 4 статьи.

3. Восстановление хранилища системных компонентов: PowerShell

Восстановить системные компоненты можно альтернативным способом – с помощью инструмента Windows PowerShell. Этот способ схож с предыдущим: для восстановления хранилища также задействуется служба обновлений Windows. И, соответственно, в этом случае также необходимо интернет-подключение. Способ с использованием PowerShell займет больше времени, чем предыдущий способ с участием утилиты DISM, но и сам процесс восстановления хранилища будет проводиться более досконально.

Запускаем от имени администратора PowerShell и вводим:

Repair-WindowsImage -Online -RestoreHealth

Нажимаем Enter. В случае успешного восстановления хранилища системных файлов получим такой вот отчет, как указан на скриншоте ниже, где, в частности, параметр «Image Health State» будет отмечен как «Healthy». И это означает, что хранилище системных файлов восстановлено. Теперь необходимо провести операцию, описанную в п. 1 статьи.

4. Восстановление хранилища системных компонентов: установочный диск Windows

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

Подключаем флешку, диск или образ, запускаем от имени администратора PowerShell и вводим команду по типу:

Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim

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

По итогу проведения операции, как и в предыдущем случае, об успешном ее завершении будет свидетельствовать состояние «Healthy» параметра «Image Health State».

После восстановления хранилища запускаем операцию, рассмотренную в п. 1 статьи.

5. Обновление Windows 10

Восстановить целостность поврежденных системных файлов Windows 10 можно путем обновления системы посредством утилиты Media Creation Tool. Ее можно скачать на официальном сайте Microsoft . Обновление Windows 10 – самый длительный по времени, в то же время самый надежный способ вернуть операционной системе работоспособность. Процесс обновления Windows 10 по времени проходит примерно столько же, сколько и процесс ее переустановки. В рамках проведения этого процесса все поврежденные системные файлы будут перезаписаны, сохранятся данные пользовательского профиля, установленные программы и внесенные системные настройки, а на выходе получим свежайшую, со всеми установленными обновлениями Windows 10 Anniversary Update.

Запускаем Media Creation Tool. Принимаем лицензионные условия.

Выбираем «Обновить этот компьютер сейчас».

И ждать завершения процесса обновления.

Отличного Вам дня!



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows