- Проверка целостности системных файлов Windows
- Восстановление хранилища компонентов
- Ручное восстановление поврежденных файлов
- Где еще можно взять оригинальные системные файлы
- Если компьютер не загружается
- Использование средства проверки системных файлов для восстановления отсутствующих или поврежденных системных файлов
- Запуск средства проверки системных файлов (SFC.exe)
- Дополнительная информация
Проверка целостности системных файлов Windows
Операционная система имеет в своем составе большое количество системных файлов обеспечивающих ее нормальную работу. В случае, если один или несколько файлов окажутся поврежденными, то ОС не сможет полноценно функционировать. Это может выражаться, как ошибками и сбоями в процессе работы, например, крахом Проводника или проблемами с управлением компонентами Windows, так и невозможность компьютера загрузиться.
Причин повреждения системных файлов операционной системы Windows может быть множество. Это могут быть вирусы, твикеры, сознательное изменение файлов пользователем, повреждение жесткого диска и так далее. Разработчики компании Майкрософт предвидели возможность наступления такого события, поэтому ими была создана система проверки целостности системных файлов Windows (System File Checker tool). Она позволяет не только выявить изменения, но и вернуть все к первоначальному состоянию в автоматическом режиме, если это возможно.
Смысл работы сводится к сравнению системных файлов расположенных в папках Windows с эталонными образцами, которые хранятся в специальном хранилище компонентов Windows расположенном в папке WinSxS. Если они отличаются или файл отсутствует, то он заменяется оригинальным из хранилища.
Чтобы воспользоваться средством проверки системных файлов требуется командная строка запущенная с правами администратора компьютера. Для проверки служит команда sfc у которой есть несколько ключей. Для запуска проверки целостности всех защищенных файлов и автоматического исправления измененных или отсутствующих вводим команду sfc/scannow и ждем окончания процесса верификации файлов. Он может занять продолжительное время, так что запаситесь терпением. В конце будет показано итоговое сообщение.
Не всегда требуется полное сканирование с автоматическим исправлением, поэтому есть еще несколько ключей, которые могут пригодиться.
- /verifyonly — осуществляет только проверку всех системных файлов без попытки их автоматического восстановления
- /scanfile — выполняет проверку и восстановление конкретного файла, требует указания полного пути к файлу
- /verifyfile — проверка конкретного файла без автоматического исправления
Если в системе все в порядке, то сообщение уведомит, что защита ресурсов Windows не обнаружила нарушений целостности. В противном случае сообщение будет отличаться в зависимости от ситуации. Если Windows не может выполнить данную команду, то проделайте все то же самое в безопасном режиме.
В случае обнаружения поврежденных файлов и их успешной заменой корректными версиями, Windows известит об этом соответствующим сообщением. На этом можно считать операцию по проверке и восстановлению целостности системных файлов Windows успешно завершенной.
Восстановление хранилища компонентов
Однако возможна ситуация, когда само хранилище будет повреждено или отсутствовать. Что особенно актуально для любителей устанавливать кастомные сборки ОС вместо оригинальных образов. В этом случае работа утилиты sfc будет невозможна. Для решения проблемы можно попробовать выполнить автоматическое восстановление хранилища компонентов Windows с помощью команды доступной начиная с Windows 8:
Владельцы 7 имеющие установленное обновление KB2966583 могут лишь выполнить проверку хранилища командой:
Результаты выполнения можно узнать, посмотрев лог по адресу C:\Windows \Logs\CBS\Checksur.log
Ручное восстановление поврежденных файлов
Тем не менее, может случиться ситуация, когда сканирование покажет ошибки, однако защита ресурсов Windows не сможет автоматически их исправить. Сведения о них будут содержаться в файле лога CBS расположенного по адресу C:\Windows\Logs\CBS\CBS.log который можно открыть любым текстовым редактором.
Только для этого он должен быть запущен с правами администратора компьютера. В файле хранится много технической информации, но нас интересуют строчки содержащие [SR]. Их можно найти воспользовавшись поиском встроенным в редактор нажав комбинацию клавиш Ctrl + F или пойти другим путем и выполнить в командной строке запущенной от имени администратора следующую команду.
Тем самым мы говорим Windows, что нужно в файле CBS.log найти все строчки содержащие [SR] и результат сохранить на диск C в файле sfcresult.txt . Таким образом, в файле окажется отфильтрованная информации относящаяся к работе команды sfc. Осталось его внимательно изучить, не забывая обращать внимание на дату и время указанные в строке со временем проведения сканирования, чтобы не изучать старые результаты. В данном случае система успешно восстановила файл autoplay.dll используя эталонный файл из хранилища в папке WinSxS, о чем в логе есть соответствующая запись.
В случае невозможности исправить поврежденный системный файл автоматически, нам придется заняться исправлением самостоятельно. Весь смысл операции сводится к замене имеющихся на компьютере файлов на заведомо исправные копии. Их можно скопировать с другого компьютера с аналогичной версией операционной системы Windows и сохранить в какую-нибудь папку на вашей машине или на флешку.
Однако просто так заменить файлы операционная система вам не позволит, сначала придется получить соответствующий допуск. Это можно сделать в графическом интерфейсе, о чем мы уже писали. Здесь мы рассмотрим, как это можно сделать с помощью командной строки. Сначала нам нужно стать владельцем поврежденного файла, выполним следующую команду.
Полезный прием упрощающий выполнение данной операции. Теперь предоставим группе администраторов полный доступ к проблемному файлу. Воспользуемся командой icacls. В Windows на английском языке нужно заменить «АДМИНИСТРАТОРЫ» на «ADMINISTRATORS».
Теперь мы можем заменить старый файл на новый оригинальный. Это можно сделать как воспользовавшись Проводником Windows так и продолжив работу в командной строке.
В результате всех манипуляций, мы заменили поврежденный системный файл вручную. Остался последний штрих, чтобы подстраховаться от возможных проблем в будущем, нам нужно восстановить прежнего владельца объекта в лице TrustedInstaller и вернуть себе прежние права. Опять-таки это можно выполнить с помощью Проводника Windows или с помощью следующих команд:
Где еще можно взять оригинальные системные файлы
Копировать файлы с другого компьютера способ довольно удобный и простой, но не всегда под рукой есть еще компьютер с аналогичной операционкой. В этом случае можно воспользоваться диском с дистрибутивом Windows или диском восстановления системы, если вы его делали.
Сложность в том, что информация на них хранится в запакованном виде в файле с расширением .wim и поэтому придется немного потрудиться. Чтобы не возится с командной строкой, воспользуемся бесплатным архиватором Если у вас на компьютере он отсутствует, то его можно скачать здесь, наверняка вам еще пригодится для работы с архивами.
Интересующие нас системные файлы находятся в файле-образе с именем install.wim в папке sources, при этом образ может содержать сразу несколько разных версий операционной системы в соответствующих папках, будьте внимательны. На диске восстановления файл имеет имя boot.wim.
Если компьютер не загружается
Все выше сказанное относилось к случаю, когда компьютер мог загружаться и мы имели возможность выполнять проверку прямо в Windows. Однако повреждения системных файлов может быть настолько критичным, что он не сможет загрузиться. В этом случае можно выполнить проверку системных файлов Windows в среде восстановления WinRE (Windows Recovery Enviroment). Для этого загружаемся в среду восстановления, как описано здесь и запускаем командную строку.
А дальше все тоже самое только команда будет немного отличаться, поскольку появится еще несколько параметров.
Здесь X нужно заменить на букву диска на которой находится ОС которую мы хотим проверить. Сложность в том, что буквы дисков в Windows RE могут не совпадать с буквами разделов в самой Windows. Чтобы их узнать выполним последовательно следующие команды.
В результате получим список томов на системном диске и соответствующие им метки. Нужную метку подставим вместо X в команду запуска сканирования системных файлов. Впрочем узнать нужную метку диска можно и по другому, методом перебора.
Здесь мы сначала перешли на диск C, а затем вывели список файлов в этом разделе, по которому мы можем понять какой это диск на самом деле. Не угадали, тогда переходим на следующую букву и опять смотрим список.
Методом «научного тыка» рано или поздно будет найден системный диск. Допустим в среде восстановления у диска с Windows будет буква G и мы хотим проверить оригинальность и в случае необходимости автоматически исправить файл «C:\Windows\System32\msconfig.exe», тогда команда примет следующий вид:
Мы рассмотрели различные способы восстановления поврежденных системных файлов в Windows в автоматическом и ручном режимах, в том числе с использованием среды восстановления Windows. С ее помощью вы сможете устранить неполадки в работе компьютера вызванные поврежденными компонентами операционной системы.
Использование средства проверки системных файлов для восстановления отсутствующих или поврежденных системных файлов
Если некоторые функции Windows не работают или Windows завершает работу, используйте средство проверки системных файлов для сканирования Windows и восстановления файлов.
Несмотря на то, что приведенные ниже шаги могут показаться сложными на первом этапе, просто выполните их по порядку, и мы попробуем помочь вам.
Запуск средства проверки системных файлов (SFC.exe)
выполнив указанные ниже действия.
Откройте командную строку с повышенными привилегиями. Для этого выполните указанные ниже действия, в зависимости от версии операционной системы:
Пользователям Windows 10, Windows 8.1 или Windows 8 перед запуском средства проверки системных файлов нужно запустить систему обслуживания образов развертывания и управления ими (DISM). (Если на вашем компьютере установлена система Windows 7 или Windows Vista, перейдите сразу к шагу 3.)
Введите следующую команду и нажмите клавишу ВВОД. Выполнение команды может занять несколько минут.
DISM.exe /Online /Cleanup-image /Restorehealth
Важно! При запуске этой команды DISM обращается к Центру обновления Windows, чтобы получить файлы для устранения повреждений. Но если поврежден клиент Центра обновления Windows, используйте работающий экземпляр Windows в качестве источника восстановления либо параллельную папку Windows из сетевого расположения или со съемного носителя, например DVD-диска Windows, в качестве источника файлов. Для этого введите в командной строке такую команду:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source: C:\RepairSource\Windows /LimitAccess
Примечание. Вместо заполнителя C:\RepairSource\Windows укажите расположение вашего источника восстановления. Дополнительные сведения об использовании средства DISM для восстановления Windows см. в статье Восстановление образа Windows.
Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:
Команда sfc /scannow проверит все защищенные системные файлы и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache.
Заполнитель %WinDir% представляет собой папку операционной системы Windows. Например, C:\Windows.
Примечание. Не закрывайте это окно командной строки, пока проверка не завершится на 100 %. Результаты проверки будут показаны после завершения данного процесса.
После завершения процесса проверки на экране может появиться одно из приведенных ниже сообщений:
Защита ресурсов Windows не обнаружила нарушений целостности.
Это значит, что отсутствующие и поврежденные системные файлы не обнаружены.
Защита ресурсов Windows не может выполнить запрошенную операцию.
Для устранения этой проблемы выполните сканирование с помощью средства проверки системных файлов в безопасном режиме, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%\WinSxS\Temp.
Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.
Для просмотра подробных сведений о сканировании и восстановлении системных файлов перейдите к разделу Как просмотреть подробные сведения процесса работы средства проверки системных файлов.
Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.
Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Для этого нажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. При получении запроса на ввод пароля администратора или подтверждения введите пароль или нажмите кнопку Разрешить.
Дополнительная информация
Чтобы ознакомиться с подробными сведениями, включенными в файл CBS.Log, вы можете скопировать сведения в файл Sfcdetails.txt с помощью команды Findstr, а затем просмотреть их в этом файле. Для этого выполните указанные ниже действия.
Откройте командную строку с повышенными привилегиями, как это описано на шаге 1.
Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:
Примечание. В файле Sfcdetails.txt содержатся сведения о каждом запуске средства проверки системных файлов на компьютере. Он также содержит информацию о файлах, которые не были исправлены средством проверки системных файлов. Проверьте дату и время записей, чтобы определить проблемные файлы, обнаруженные при последнем запуске средства проверки системных файлов.
Откройте файл Sfcdetails.txt на рабочем столе.
В файле Sfcdetails.txt используется следующий формат:
Сведения о дате и времени SFC В следующем примере файла журнала содержится запись для одного файла, который не удалось исправить: 2007-01-12 12:10:42, Info CSI 00000008 [SR] Cannot repair member file [l:34<17>]»Accessibility.dll» of Accessibility, Version = 6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope neutral, PublicKeyToken =
Как вручную заменить поврежденный системный файл гарантированно работоспособной копией файла.
После определения, какой системный файл поврежден и не может быть восстановлен, с помощью подробных сведений в файле Sfcdetails.txt, выясните расположение поврежденного файла, затем вручную замените поврежденный файл его гарантировано работоспособной копией. Для этого выполните указанные ниже действия.
Примечание. Гарантировано работоспособную копию системного файла можно взять с другого компьютера, на котором установлена такая же, как на вашем компьютере версия Windows. Чтобы убедиться в работоспособности системного файла, который вы планируете скопировать на другом компьютере, можно провести процесс проверки средством проверки системных файлов.
Распространите на поврежденный системный файл права собственности администратора. Для этого скопируйте, а затем вставьте (или введите) в командную строку с повышенными привилегиями приведенную ниже команду, затем нажмите клавишу ВВОД:
takeown /f Путь_и_имя_файла Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите takeown /f C:\windows\system32\jscript.dll.
Предоставьте администраторам полный доступ к поврежденному системному файлу. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:
icacls Путь_и_имя_файла /GRANT ADMINISTRATORS:F Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите icacls C:\windows\system32\jscript.dll /grant administrators:F.
Замените поврежденный системный файл гарантировано работоспособной копией файла. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:
Copy Исходный_файл Расположение Примечание. Заполнитель Исходный_файл представляет собой путь и имя гарантировано работоспособной копии файла на вашем компьютере, а заполнитель Расположение представляет собой путь и имя поврежденного файла. Например, введите copy E:\temp\jscript.dll C:\windows\system32\jscript.dll.
Если описанные выше действия не помогли, возможно, потребуется переустановить Windows. Дополнительные сведения см . в разделе Варианты восстановления Windows10.