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

Операционная система имеет в своем составе большое количество системных файлов обеспечивающих ее нормальную работу. В случае, если один или несколько файлов окажутся поврежденными, то ОС не сможет полноценно функционировать. Это может выражаться, как ошибками и сбоями в процессе работы, например, крахом Проводника или проблемами с управлением компонентами 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 scannow в Windows 7 и 10. Также рассмотрим вопрос, почему иногда она не может восстановить системные файлы. То есть, попросту говоря, отказывается работать.

Итак, что же это за команда такая и для чего она нужна? Так вот, SFC scannow является системной утилитой, которая служит для автоматической проверки и восстановления важных файлов операционной системы.

Использовать ее довольно легко, но иногда могут возникнуть различные нюансы. Поэтому давайте переходить к делу, чтобы во всем разобраться. Все дальнейшие действия будут показаны на примере Windows 10, хотя и в Win 7 все делается практически аналогично.

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

Запустится процесс сканирования системы, который может занять довольно продолжительное время. Так что теперь остается только ждать и надеяться, что данная команда сможет все исправить.

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

Но как видно на скриншоте выше, в нашем случае все прошло не очень гладко. Поврежденные файлы были обнаружены, но Windows 10 так и не смогла их восстановить.

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

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

Ну а на семерке придется воспользоваться заранее подготовленным загрузочным диском и выставить его приоритетным в компьютера. Увы, но по-другому никак не получится.

Ну а мы продолжаем процесс лечения и восстановления файлов на примере Win 10. И сейчас нужно будет ввести небольшую серию команд. Первой будет вот такая:

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

Теперь выбираем обнаруженный выше диск под номером ноль, поскольку он единственный в системе:

На этом этапе осталось только разобраться с винчестера, чтобы понять, какой из них является системным, то есть с установленной Windows:

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

И вот, наконец-то, настал час истины. Теперь будем снова проверять системные файлы и в случае проблем пробовать их восстановить. Итак, начинаем процесс:

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

Теперь остается надеяться на то, что после завершения процесса сканирования будет выведено сообщение «Защита ресурсов Windows не обнаружила нарушений целостности».

Что еще можно рассказать про команду SFC scannow? Например, вот такой параметр сможет в среде восстановления вывести на рабочий стол журнал с результатами работы:

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

Где «kernel32.dll» представляет собой имя нужного файла. А все выражение является путем до каталога, где он располагается. Точно такая же команда в среде восстановления Windows 7 и 10 будет немножко отличаться:

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

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

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

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

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

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

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

sfc /scannow

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

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

diskpart
list volume

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

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

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

Утилита DISM

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

dism.exe /online /cleanup-image /scanhealth

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

dism.exe /online /cleanup-image /restorehealth

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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