Sfc scannow защита ресурсов windows не может выполнить запрошенную операцию

Запуск команды SFC /SCANNOW в Windows 10

1.Откройте командную строку от имени администратора: один из способов — нажать на меню «Пуск» правой клавишей мыши и выбрать «Командная строка (администратор) из открывшегося меню.


2. Введите команду sfc /scannow и нажмите Enter.  Дождитесь окончания сканирования, если проблем не обнаружено — закройте командную строку.

Если были найдены ошибки и не все исправлены — перезагрузите компьютер и снова запустите данную команду. Если после повторного запуска всё равно остаются не исправленные ошибки — введите в командной строке DISM.exe /Online /Cleanup-image /Restorehealth и нажмите клавишу Enter => после выполнения этой команды снова запустите sfc /scannow.  Если и после данных действий проблема осталась — откатите систему к ранее созданной точке восстановления.

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

Данный способ применяется при невозможности восстановления поврежденных файлов 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, позволяя получать к ней монопольный доступ.

Замена системного файла вручную в Windows

Если не получилось восстановить поврежденный файл средством sfc.exe, попробуйте заменить поврежденный файл вручную. Сначала найдите информацию о неисправном файле, которая содержится в файле «CBS.log».

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

Я поместил исправный файл с другого ПК в корень Локального диска «C:» (можете использовать другой диск или другое место) своего компьютера. Расположение файла: «C:\winml.dll», оно нам понадобится для выполнения команды.

Запустите командную строку от имени администратора.

Для принятия файла во владение введите команду:

takeown /f C:\полный_путь_и_имя_файла

В моем случае, если на ПК поврежден файл «winml.dll», путь будет таким:

takeown /f C:\Windows\System32\winml.dll

Теперь мне нужно получить полный доступ к файлу:

icacls C:\полный_путь_и_имя_файла /Grant Administrators:F

Для этого, я ввожу команду:

icacls C:\Windows\System32\winml.dll  /Grant администраторы:F

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

copy путь_и_имя_работоспособного_файла путь_и_имя_поврежденного_файла

Я выполнил следующую команду:

copy C:\winml.dll C:\Windows\System32\winml.dll

Для подтверждения замены файла, введите: «Yes».

Если не получается выполнить восстановление системных файлов при помощи утилиты sfc.exe, переустановите Windows.

Обновление Windows

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

Как и предыдущие способы, это не панацея, но в процессе обновления системные файлы будут, соответственно, обновлены. И это может стать решением имеющихся проблем. Для обновления нам потребуется свежий дистрибутив той версии Windows, что установлена на компьютере. Качаем его с сайта Microsoft или иных источников в Интернете. Подключаем ISO-образ. Запускаем в его корне файл setup.

На примере Windows 10 далее действо будет происходить следующим образом. Жмём «Далее».

Принимаем условия лицензии.

Ожидаем загрузки обновлений.


Жмём «Установить».

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

How to Use SFC /Scannow

  1. Open Command Prompt as an administrator, very often referred to as an «elevated» Command Prompt.

    For the sfc /scannow command to work properly, it must be executed from an elevated Command Prompt window in Windows 10, Windows 8, Windows 7 and Windows Vista.

  2. Type the following command and then press Enter.

    sfc /scannow

    To use System File Checker from the Command Prompt through Advanced Startup Options or System Recovery Options, see the Executing SFC /SCANNOW From Outside of Windows section below for some necessary changes in how you execute the command.

    System File Checker will now verify the integrity of every protected operating system file on your computer. It might take a while to finish.

    When the verification process completes, you’ll see something like this in the Command Prompt window, assuming problems were found and corrected:

    Windows Resource Protection found corrupt files and successfully repaired them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log. Note that logging is currently not supported in offline servicing scenarios.

    …or something like this if no problems were found:

    Windows Resource Protection did not find any integrity violations.

    In some situations, most often in Windows XP and Windows 2000, you may also need access to your original Windows installation CD or DVD at some point during this process.

  3. Restart your computer if sfc /scannow repaired files. System File Checker may or may not prompt you to restart but even if it doesn’t, you should restart anyway.

  4. Repeat whatever process caused your original problem to see if sfc /scannow resolved it.

Еще один способ исправить среду восстановления Windows 10, если она не была удалена с компьютера или ноутбука

Дополнительный метод, который может оказаться работоспособным в случае повреждений BCD или файловой системы на скрытом разделе со средой восстановления (при условии, что вы не удаляли этот раздел) состоит из следующих этапов:

    Запустите командную строку от имени администратора и введите команду bcdedit /enum all В выдаче команды найдите пункт recoverysequence, нам требуется его буквенно-цифровой идентификатор GUID.  Найдите раздел, где в поле description указано «Windows Recovery Environment» (именно так, а не просто «Windows Recovery» и сравните его идентификатор с GUID из 2-го шага.  Если они не совпадают, введите две команды (фигурные скобки в первой обязательны):bcdedit /set {current} recoverysequence {GUID_из_3_шага} reagentc /enableЕсли вторая команда завершилась успехом, среда восстановления снова работает. Если они совпадают, то в разделе из 3-го шага обратите внимание на пункт «device» в разделе из 3-го шага. Он может строго указывать букву диска и путь к файлу Winre.wim, либо иметь путь вида \Device\HarddiskVolume1\ (номер раздела или Volume может отличаться)

    В первом случае перейдите к шагу 8 и используйте букву раздела (в примере будет использоваться Z). Зайдите в управление дисками Windows (Win+R, ввести diskmgmt.msc) и убедитесь, что раздел с указанным номером присутствует и не имеет буквы.  При пути вида \Device\HardidskVolume_номер\ назначьте разделу диска с этим номером букву с помощью Diskpart (пример приводится для раздела с номером 1, у вас он может быть другим, присваивается буква Z, может быть любая другая, свободная в системе):diskpart select volume 1 assign letter=Z exit Выполните проверку файловой системы раздела со средой восстановления, используя команду (букву диска замените на свою, в примере — Z): chkdsk Z: /f /r /x Если в результате выполнения оказалось, что ошибки на диске были найдены и исправлены: переместите файл ReAgent.xml из папки C:\Windows\System32\Recovery в другое расположение (на всякий случай не удаляйте его: он должен снова создаться автоматически, но в случае проблем, просто восстановите его из расположения, куда он был перемещен), а затем используйте команду reagentc /enable в командной строке от имени администратора для включения среды восстановления. Если она была выполнена успешно, среда восстановления должна работать.

После попытки исправления, если вы присваивали букву скрытому разделу со средой восстановления, её можно удалить используя команды из 7-го шага, но вместо последней команды — remove letter=Z (со своей буквой).


С этим читают