 При восстановлении системных файлов с помощью команды sfc /scannow в Windows 11/10 или предыдущих версиях ОС, некоторые пользователи могут столкнуться со следующим сообщением «Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Подробные сведения см. в файле CBS.log».
При восстановлении системных файлов с помощью команды sfc /scannow в Windows 11/10 или предыдущих версиях ОС, некоторые пользователи могут столкнуться со следующим сообщением «Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Подробные сведения см. в файле CBS.log».
В этой инструкции подробно о том, почему это может происходить, как всё-таки восстановить файлы, а также о том, как использовать CBS.log, чтобы узнать, с какими именно файлами возникла проблема и в чём она заключается.
Основная причина ошибки восстановления и простое решение

Самая частая причина проблемы с невозможностью восстановления системных файлов — повреждение хранилища компонентов Windows 11/10. При использовании sfc /scannow служба защиты ресурсов:
- Ищет повреждения целостности системных файлов, например библиотек DLL в папке C:\Windows\System32
- Находя такие повреждения или отсутствующие файлы «пробует» восстановить их, используя хранилище компонентов (также известное как «Образ системы») — эталонные файлы в папке C:\Windows\WinSxS
Если файлы отсутствуют или повреждены и в хранилище, результатом будет то самое сообщение «Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них».
Самое простое решение — попробовать восстановить хранилище компонентов, а уже после этого выполнить команду sfc /scannow. Именно это будет правильным порядком действий, хотя во многих инструкциях в Интернете даётся обратная, не совсем логичная очередность действий.
В командной строке, запущенной от имени администратора, по порядку выполните две команды:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
Первая восстановит хранилище компонентов, а вторая — системные файлы в текущей ОС Windows.
Учитывайте, что выполнение первой команды может занять очень продолжительное время и может показаться, что она «зависла» на определённом проценте. Наберитесь терпения.
Работа с файлом CBS.Log
Если предыдущий вариант не сработал, возможно, причина глубже: например, есть проблемы с записью файлов на диск или другие нюансы. Здесь может помочь упоминаемый в сообщении файл журнала CBS.Log.
Его не следует читать полностью, поскольку он содержит множество не имеющих отношения к попытке восстановления системных файлов сведений: в него записывается всё, связанное с обслуживанием компонентов.
Мы можем извлечь только интересующие нас строки с помощью следующей команды, запущенной в командной строке от имени администратора:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > %userprofile%\Desktop\sfcdetails.txt

В результате выполнения команды на рабочем столе появится файл sfcdetails.txt, содержащий информацию по ходу восстановления, где мы можем найти строки, указывающие на то, какой именно сбой и при восстановлении каких файлов произошёл (найти такие строки можно, используя поиск по слову «Cannot»):

Например, в отчете выше, мы видим конкретную повреждённую библиотеку DLL и информацию о том, что поврежден и файл в системе и исходный файл в хранилище (Source file ins store is also corrupted).
Если вы не можете разобраться самостоятельно, то практически любая современная LLM (языковая модель, нейросеть) сравнительно легко прочтёт содержимое файла журнала за вас и даст рекомендации:

Разобравшись, в чём именно дело, можно предпринять те или иные действия по решению проблемы: от попытки ручной записи повреждённого файла до вариантов восстановления, описанных в следующей части этого материала.
Дополнительная информация
Некоторые дополнительные сведения, которые могут быть полезными в контексте рассмотренной темы:
- Если вы столкнулись с рассматриваемой проблемой при оффлайн-сканировании, например, при использовании команды:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows учитывайте, что данные записываются в журнал CBS.Log целевой системы, то есть в команде findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > %userprofile%\Desktop\sfcdetails.txt потребуется вручную указать путь к целевой папке Windows вместо %windir% а также точное желаемое место сохранения итогового файла вместо относительного пути %userprofile% 
- В случае проблем восстановления в самой ОС могут сработать возможности восстановления системных файлов с помощью WinPE.
- При невозможности восстановления хранилища компонентов и системных файлов вы можете прибегнуть к восстановлению с помощью Центра обновления (только Windows 11) или к «Обновлению на месте» — это исправит системные файлы практически гарантированно при отсутствии аппаратных проблем.
Надеюсь, разобраться с восстановлением системных файлов удалось, а сам процесс стал более понятным. Если остаются вопросы — вы можете задать их в комментариях ниже, постараюсь помочь.