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

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

Как проверить систему на целостность и ошибки

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

Через команду sfc

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

Команда sfc не может исправить ошибки файлов, которые используются системой в текущий момент. Если появится уведомление о подобных сбоях, обязательно запустите утилиту DISM.

Через утилиту DISM

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

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

Откройте командную строку от имени администратора и введите dism /Online /Cleanup-Image /RestoreHealth.


Для полноценного анализа целостности системы введите команду dism /Online /Cleanup-Image /RestoreHealth в командной строке

Есть ещё несколько команд этой утилиты, которые могут быть вам полезны:

  • dism /Online /Cleanup-Image /CheckHealth для получения информации о состоянии и наличии повреждений компонентов Windows;
  • dism /Online /Cleanup-Image /ScanHealth для проверки целостности и наличия повреждений хранилища компонентов.

Как проверить жёсткий диск на ошибки

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

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

Через «Проводник»

Это основной способ проверки жёсткого диска. Windows 10 должен осуществлять её автоматически, без ведома пользователя, чтобы поддерживать порядок на жёстком диске. Дефрагментация займёт у вас около часа, так что лучше ставить её на ночь.


Через «Панель управления» (диагностика хранилища)

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

Если вы просто хотите провести анализ, воспользуйтесь предыдущим способом, но вместо «Оптимизировать» нажмите «Анализировать».


Через командную строку

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


Для проверки без использования интернета используйте команду chkdsk C: /F /R /offlinescanandfix.

Через PowerShell

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


Для проверки без использования интернета используйте команду Repair-Volume -DriveLetter C -OfflineScanAndFix.

Видео: как проверить жёсткий диск на ошибки

Как проверить реестр на ошибки

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

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

Через встроенные средства

В Windows 10 есть встроенная утилита для проверки реестра на целостность, но она довольно слабая и не находит большинства ошибок. Лучше всего будет использовать одну из сторонних программ, которые описаны ниже.

Этим способом можно исправить только критические ошибки: многие реестровые неисправности останутся нетронутыми.

Откройте командную строку от имени администратора, введите команду scanreg /fix и нажмите Enter.


Введите команду scanreg /fix для проверки реестра через встроенную утилиту Windows 10

Через CCleaner

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


Через Glary Utilities

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


Через Wise Registry Cleaner

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

Wise Registry Cleaner доступен только на англоязычной версии официального сайта: при смене языка страницы на русский вам предложат другую программу Wise Care 365.


Даже если вы не видите никаких ошибок на компьютере, лучше периодически его сканировать. Это обеспечит стабильную работу системы и поможет решить большинство проблем до того, как они станут заметны.

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

В операционной системе Windows 10 предусмотрены 2 метода анализа целостности файлов – через инструменты SFC.exe и DISM.exe. Команды не заменяют друг друга, а дополняют, проверяя различные библиотеки системы на целостность файлов. Именно поэтому рекомендуется выполнить не одну из них, а обе. Инструменты позволят проверить целостность файлов Windows 10 и заменить поврежденные или измененные на оригинальные элементы.

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

Как проверить целостность файлов в Windows 10 с помощью SFC

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

Через командную строку в интерфейсе Windows

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


Если с системными файлами Windows нет никаких проблем, после проверки пользователь увидит сообщение, что «Защита ресурсов Windows не обнаружила нарушение целостности». В такой ситуации можно переходить к проверке файлов с помощью DISM.

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

Обратите внимание, если у вас имеются подозрения, что сбой в работе системы связан с определенным файлом, можно не выполнять полную проверку SFC. Достаточно ввести команду sfc /scanfile=”адрес до файла” , и он будет заменен мгновенно на оригинальную версию, если в него ранее вносились изменения или он работает с ошибкой.

Через среду восстановления

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

Нажмите в левом нижнем углу на кнопку «Пуск» и перейдите в «Параметры»:


diskpart list volume

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

Продолжите вводить команды:

Exit sfc /scannow /offbootdir=C:\ /offwindir=E:\Windows

В последней команде требуется указать диски, которые были отмечены выше. То есть, в приведенном примере команды диск C является разделом с загрузчиком, а диск E – местом, где установлена операционная система Windows 10.

Внимание: Велика вероятность, что буквы дисков у вас будут отличаться от приведенных в примере, поэтому команда будет варьироваться.

  1. После ввода последней из четырех команд начнется сканирование целостности файлов операционной системы.

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

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

Как проверить целостность файлов в Windows 10 с помощь DISM

Как отмечалось выше, после проверки с помощью SFC рекомендуется приступить к анализу системы инструментом DISM. Он в ходе проверки исследует другие каталоги (и еще раз «пройдется» по файлам, которые были проверены SFC).

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

Dism /Online /Cleanup-Image /CheckHealth

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

Dism /Online /Cleanup-Image /ScanHealth

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

Dism /Online /Cleanup-Image /RestoreHealth

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

Важно: Обратите внимание, что последние две команды, которые запускают проверку целостности файлов Windows 10, могут «зависнуть» в процессе выполнения на определенном проценте (чаще всего около 20). Ни в коем случае не следует в этот момент перезагружать систему, поскольку данная ситуация является типичной, и проценты продолжат «капать» через некоторое время.

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

Причин повреждения системных файлов операционной системы Windows может быть множество. Это могут быть вирусы, твикеры, сознательное изменение файлов пользователем, повреждение жесткого диска и так далее. Разработчики компании Майкрософт предвидели возможность наступления такого события, поэтому ими была создана система проверки целостности системных файлов Windows (System File Checker tool). Она позволяет не только выявить изменения, но и вернуть все к первоначальному состоянию в автоматическом режиме, если это возможно.

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

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

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

  • /verifyonly - осуществляет только проверку всех системных файлов без попытки их автоматического восстановления
  • /scanfile - выполняет проверку и восстановление конкретного файла, требует указания полного пути к файлу
  • /verifyfile - проверка конкретного файла без автоматического исправления

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

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

Восстановление хранилища компонентов

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

Dism /Online /Cleanup-Image /RestoreHealth

Владельцы 7 имеющие установленное обновление KB2966583 могут лишь выполнить проверку хранилища командой:

DISM /Online /Cleanup-Image /ScanHealth

Результаты выполнения можно узнать, посмотрев лог по адресу C:\Windows \Logs\CBS\Checksur.log

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

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

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

Findstr /c:"" c:\windows\logs\CBS\CBS.log >c:\sfcresult.txt

Тем самым мы говорим Windows, что нужно в файле CBS.log найти все строчки содержащие и результат сохранить на диск C в файле sfcresult.txt. Таким образом, в файле окажется отфильтрованная информации относящаяся к работе команды sfc. Осталось его внимательно изучить, не забывая обращать внимание на дату и время указанные в строке со временем проведения сканирования, чтобы не изучать старые результаты. В данном случае система успешно восстановила файл autoplay.dll используя эталонный файл из хранилища в папке WinSxS, о чем в логе есть соответствующая запись.

2017-02-04 13:30:58, Info CSI 0000032f Repairing 1 components 2017-02-04 13:30:58, Info CSI 00000330 Beginning Verify and Repair transaction 2017-02-04 13:30:59, Info CSI 00000331 Repairing corrupted file "\??\C:\Windows\System32"\"autoplay.dll" from store 2017-02-04 13:30:59, Info CSI 00000332 Repair results created: POQ 140 starts: 0: Move File: Source = "\SystemRoot\WinSxS\Temp\PendingRenames\e0b17dc6d17ed201983d0000f415f015._0000000000000000.cdf-ms", Destination = "\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms" 1: Move File: Source = "\SystemRoot\WinSxS\Temp\PendingRenames\3a1480c6d17ed201993d0000f415f015.$$.cdf-ms", Destination = "\SystemRoot\WinSxS\FileMaps\$$.cdf-ms" 2: Move File: Source = "\SystemRoot\WinSxS\Temp\PendingRenames\a29d89c6d17ed2019a3d0000f415f015.$$_system32_21f9a9c4a2f8b514.cdf-ms", Destination = "\SystemRoot\WinSxS\FileMaps\$$_system32_21f9a9c4a2f8b514.cdf-ms" 3: Hard Link File: Source = "\SystemRoot\WinSxS\amd64_microsoft-windows-autoplay_31bf3856ad364e35_6.1.7601.17514_none_04c88123045c625c\autoplay.dll", Destination = "\??\C:\Windows\System32\autoplay.dll" POQ 140 ends. 2017-02-04 13:30:59, Info CSI 00000333 Repair complete

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

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

Takeown /f полный_путь_к_файлу, например takeown /f C:\windows\system32\autoplay.dll

Интересующие нас системные файлы находятся в файле-образе с именем install.wim в папке sources, при этом образ может содержать сразу несколько разных версий операционной системы в соответствующих папках, будьте внимательны. На диске восстановления файл имеет имя boot.wim.

Если компьютер не загружается

Все выше сказанное относилось к случаю, когда компьютер мог загружаться и мы имели возможность выполнять проверку прямо в Windows. Однако повреждения системных файлов может быть настолько критичным, что он не сможет загрузиться. В этом случае можно выполнить проверку системных файлов Windows в среде восстановления WinRE (Windows Recovery Enviroment). Для этого загружаемся в среду восстановления, как описано и запускаем командную строку.

Sfc /scannow /OFFBOOTDIR=X:\ /OFFWINDIR=X:\windows

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

Diskpart List disk Sel disk 0 Detail disk Exit

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

Cd /d C: dir /b

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

Cd /d D: dir /b

Методом «научного тыка» рано или поздно будет найден системный диск. Допустим в среде восстановления у диска с Windows будет буква G и мы хотим проверить оригинальность и в случае необходимости автоматически исправить файл «C:\Windows\System32\msconfig.exe», тогда команда примет следующий вид:

Sfc /scanfile=G:\Windows\System32\msconfig.exe /offbootdir=G:\ /offwindir=G:\windows

Мы рассмотрели различные способы восстановления поврежденных системных файлов в Windows в автоматическом и ручном режимах, в том числе с использованием среды восстановления 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.