SFC не может восстановить файлы и при чем здесь лог CBS

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

Sfc scannow

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

Что такое файл CBS.log

Файл CBS.log представляет собой отдельный журнал в папке %windir%\Logs\CBS, содержащий сведения об установленных и/или удаленных обновлениях Windows, кроме того, он содержит сведения об ошибках интерактивного и автономного обслуживания средствами sfc и dism.

CBS log

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

Файл CBS log

Парсинг CBS.log

Результаты работы sfc.exe в файле лога обозначены тегом [SR], что существенно упрощает поиск нужных сведений. Впрочем, искать относящиеся к работе SFC записей в самом логе нет нужды, поскольку вы можете его распарсить, вытащив сведения в отдельный текстовый файл.

Для этого откройте от имени администратора классическую командную строку и выполните следующую команду:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"

Findstr

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

Анализ записей

Содержащиеся в нем записи представлены в виде табличного списка, каждая строка содержит дату и время проверки, тип отчета, сокращенное название инфраструктуры обслуживания компонентов (CSI), код, тег [SR] и результат выполненной операции.

В случае обнаружения повреждений целостности и удачного восстановления блок записей будет выглядеть так:

Sfc txt

Если SFC потерпит фиаско, записи будут иметь совсем другой вид.

Cannot repair member file

В данном случае они будут содержать элементы строк «Cannot repair member file» (невозможно восстановить файл), «PublicKey neutral in the store, hash mismatch» (контрольные суммы не совпадают), «Could not reproject corrupted file» (не удалось восстановить поврежденный файл). В этом же блоке строк будет указано имя файла, его версия и путь.

Восстановление файлов

Зная имя, версию и путь поврежденного файла, вы можете восстановить его как минимум тремя способами:

  • Пробив информацию о файле в Интернете и определив, в каком патче или накопительном обновлении он содержится. Зная номер обновления, скачиваем его с каталога Центра обновлений catalog.update.microsoft.com/Home.aspx и устанавливаем.
  • Заменив поврежденные файлы оригинальными, взятыми из рабочей Windows той же версии, сборки и разрядности.
  • Выполнить сканирование средствами sfc, подключив смонтированный образ WIM или ESD системы той же версии и разрядности.

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

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *