Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них

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

Скрин ошибки

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

Устраняем проблему с поврежденными файлами при помощи утилиты DISM

После сканировании файлов в командной строке утилитой sfc /scannow, сообщение о том, что она не смогла это исправить выглядит так: проверка завершена на 100%. Защита ресурсов ОС нашла поврежденные файлы, но восстановить их не смогла. Прочитать о результатах можно в файле CBS.Log, который лежит по определенному пути.

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

Следующим советом будет запустить в той же командной строке (запускать ее нужно от имени администратора) утилиту DISM. Она обращается на сервер Microsoft и запрашивает недостающие файлы вашей операционной системы там. После их скачивания утилита восстанавливает их. После завершения процесса этой команды, вам снова нужно будет запустить проверку файлов sfc /scannow. Это необходимо для того, чтобы убедиться, что сообщение — программа защиты файлов Windows нашла поврежденные файлы, но восстановить их не в состоянии — больше не появляется.

  1. Нажмите на значок «Пуск» и найдите здесь «Командная строка». Нажмите на ссылку ПКМ и выберите «От имени администратора».
  2. В строке запишите следующую команду без ошибок и лишних символов: DISM.exe /Online / Cleanup-Image /RestoreHealth.Окно командной строки
  3. Нажмите ENTER и дождитесь завершения процесса.
  4. Обратите внимание — на момент запуска этой команды у вас должно быть стабильное интернет-подключение. Для начала убедитесь в этом наверняка.

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

Иллюстрация сбоя утилиты DISM

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

Можно вернуть прежнее рабочее состояние вашего компьютера другим путем, и тем самым устранить ошибку «Программа защиты ресурсов Windows обнаружила поврежденные файлы». Данный путь основан на использовании специальной оболочки PowerShell, которая позиционирует как усовершенствованная среда для ввода команд, в отличие от командной строки. Для ее использования необходимо также найти в меню «Пуск» PowerShell и нажать по ней ПКМ. Здесь введите следующую команду: Repair-WindowsImage –Online –RestoreHealth и нажмите клавишу ввода ENTER.

Программная оболочка PowerShell

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

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

  • строка path не будет содержать никаких данных;
  • пункт «Online» будет иметь статус False;
  • Image Health — Healthy;
  • строка Restart Needed — False.Скриншот статусов PowerShell

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

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

  1. Дмитрий

    ввел все как просили в Windows Shell В ответ получл»Имя «Repair-WindowsImage» не распознано как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте
    правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
    строка:1 знак:20
    + Repair-WindowsImage <<<< -Online -RestoreHealth
    + CategoryInfo : ObjectNotFound: (Repair-WindowsImage:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    ил ""
    Что делать дальше ? (командная строка после махинаций показала систему , версию и версию образа … никаких процентов или надписи "загрузка" нет , так и должно быть ?)

    Ответить
    1. Даниил

      Ты нашёл способ решения этой проблемы? у меня просто такая же ошибка

      Ответить
      1. Николай

        Восстанавливал Win 8.1 на ноутбуке (не очень быстром, поэтому указанные ниже интервалы времени у каждого будут свои)

        Запустил командную строку под администратором
        Проверил sfc /scannow
        По окончании проверки выдало:
        Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них… и т.п

        В командной строке ввел:
        dism.exe /online /cleanup-image /restorehealth и нажал Enter

        Для Дмитрия замечание: у вас выдало ошибку 87 возможно потому, что команду вводили без пробелов между опциями команды (нет пробелов перед следующей наклонной чертой /)

        Примечание Николая: Должно быть стабильное подключение к интернету,

        появилась строка:
        Система DISM
        Версия: 6.3.9600.17031 (Примечание Николая: это у меня такая Windows 8.1 Профессиональная Build 9600)
        Версия образа: 6.3.9600.17031

        Примечание Николая: Потом прошло минут 10-15 и на экране появилось:

        [============ 20% ]

        Примечание Николая: прошло минут 30-35 и на экране стало:

        [============ 40% ]

        Примечание Николая: прошло еще минут 30-35 и на экране стало:

        [============ 100% ]
        Восстановление выполнено успешно. Повреждение хранилище компонентов было устранено.
        Операция успешно завершена

        Ответить
  2. Николай

    у вас выдало ошибку 87 возможно потому, что команду вводили без пробелов между опциями команды (нет пробелов перед следующей наклонной чертой /)

    Должно быть:
    dism.exe /online /cleanup-image /restorehealth

    Ответить
  3. Миша

    ввела в командную строку администратора все, что нужно. пишет, что: «Хранилище компонентов подлежит восстановлению. Операция прошла успешно.»
    можно уже радоваться? или на всякий случай нужно что-то ещё?

    Ответить
  4. Dmitry

    Как быть?

    Ошибка: 0x800f081f

    Не удалось найти исходные файлы.
    Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник». Дополнительные сведения об указании расположения источника см. на веб-странице https://go.microsoft.com/fwlink/?LinkId=243077.

    Файл журнала DISM находится по адресу C:\Windows\Logs\DISM\dism.log

    Ответить
    1. Kate

      У меня тоже самое. Однажды мне сказали, что проще переустановить, чем вылечить Т_Т

      Ответить
  5. Илья

    dism.exe /online /cleanup-image /restorehealth

    нет такой команды в 2008r2-аналог
    7

    Ответить
    1. Евгений

      Не надо гнать на win8 — там всё есть, если установить Windows Shell требуемой версии 5.1 вроде, которая понимает dism.exe /online /cleanup-image /restorehealth
      Однако, там это работало, пока существовала поддержка win8 в microsoft
      Теперь восстановление только из источника типа
      dism.exe /get-wiminfo /wimfile:m:\sources\install.wim
      dism.exe /online /cleanup-image /restorehealth /source:m:\sources\install.wim:4 /limitaccess /scratchdir:d:\1\

      Ответить