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

В Windows 10 присутствует два инструмента для проверки целостности защищенных системных файлов и их автоматического восстановления при обнаружении повреждений - SFC.exe и DISM.exe, а также команда Repair-WindowsImage для Windows PowerShell (использующая DISM для работы). Вторая утилита служит дополнением первой, в случае, если SFC не удается восстановить поврежденные файлы.

Утилита для развертывания и обслуживания образов Windows DISM.exe позволяет выявить и исправить те проблемы с хранилищем системных компонентов Windows 10, откуда при проверке и исправлении целостности системных файлов копируются оригинальные их версии. Это может быть полезным в тех ситуациях, когда защита ресурсов Windows не может выполнить восстановление файлов, несмотря на найденные повреждения. В этом случае сценарий будет следующим: восстанавливаем хранилище компонентов, а после этого снова прибегаем к использованию sfc /scannow.

Для использования DISM.exe, запустите командную строку от имени администратора. После чего можно использовать следующие команды:


Примечание: в случае, если команда восстановления хранилища компонентов не работает по той или иной причине, вы можете использовать файл install.wim (или esd) со смонтированного ISO образа Windows 10 () в качестве источника файлов, требующих восстановления (содержимое образа должно соответствовать установленной системе). Сделать это можно с помощью команды:

Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:путь_к_файлу_wim:1 /limitaccess

Вместо.wim можно использовать файл.esd тем же образом, заменив в команде все wim на esd.

При использовании указанных команд, журнал выполненных действий сохраняется в Windows\Logs\CBS\CBS.log и Windows\Logs\DISM\dism.log .

DISM.exe также можно использовать в Windows PowerShell, запущенном от имени администратора (запустить можно из меню правого клика по кнопке Пуск) с помощью команды Repair-WindowsImage . Примеры команд:

  • Repair-WindowsImage -Online -ScanHealth - проверка наличия повреждений системных файлов.
  • Repair-WindowsImage -Online -RestoreHealth - проверка и исправление повреждений.

Дополнительные методы восстановления хранилища компонентов, если описанные выше не срабатывают: .

Как видите, проверка целостности файлов в Windows 10 - не такая уж и сложная задача, которая порой может помочь исправить самые разные проблемы с ОС. Если не смогла, возможно, вам поможет что-то из вариантов в инструкции .

Как проверить целостность системных файлов Windows 10 - видео

Также предлагаю ознакомиться с видео, где использование основных команд проверки целостности показано наглядно с некоторыми пояснениями.

Дополнительная информация

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

Findstr /c:"" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"

Также, по некоторым отзывам, проверка целостности с помощью SFC в Windows 10 может обнаруживать повреждения сразу после установки обновления с новой сборкой системы (без возможности исправить их, не установив новую сборку «начисто»), а также для некоторых версий драйверов видеокарт (в данном случае ошибка находится для файла opencl.dll. Если что-то из этих вариантов случилось и у вас, возможно, не следует предпринимать никаких действий.

Запустил проверку целостности системных файлов Windows 10 с помощью sfc /scannow и вышло сообщение: « Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них» . Из вашей статьи следует, что в этом случае нужно восстанавливать хранилище компонентов Windows командой DISM /Online /Cleanup-Image /RestoreHealth , но у меня и здесь выходит ошибка: «Не удалось скачать исходные файлы». Наверно это из-за того, что средство обслуживания образов Windows (DSIM) использует Центр обновления Windows, а на ноутбуке после удаления вирусов пропал интернет? Что делать в этом случае?

Восстановление повреждённого хранилища компонентов Windows 10 с помощью PowerShell

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

Оригинальные версии системных файлов находятся в хранилище компонентов Windows, а именно в папке C:\Windows\WinSxS. Если данное хранилище повреждено или в нём отсутствуют некоторые компоненты, то при проверке целостности системных файлов выйдет ошибка « Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них» .

В таком случае нужно восстанавливать само хранилище компонентов Windows другой командой: « DISM /Online /Cleanup-Image /RestoreHealth», при этом средство обслуживания образов Windows (DSIM) задействует Центр обновления Windows и скачает необходимые отсутствующие компоненты с серверов Майкрософт. В особо тяжёлых случаях, на этом этапе также возможны различные ошибки, например такая: «Не удалось скачать исходные файлы. Укажите расположение файлов необходимых для восстановления компонентов »

Тогда нам ничего не остаётся, как задействовать для восстановления повреждённого хранилища - расширяемое средство автоматизации PowerShell .

Данное средство более тщательно произведёт восстановление хранилища компонентов операционной системы, задействуя Центр обновления (Windows Update) и у вас должен быть включен интернет.

Для запуска PowerShell находим на рабочем столе значок Поиск в Windows

и вводим в поле ввода« PowerShell», в результатах выйдет соответствие заданному поиску - « Windows PowerShell» , щёлкаем на нём правой мышью и выбираем « Запустить от имени администратора».

Вводим команду:

Repair-WindowsImage -Online -RestoreHealth

и жмём Enter.

Если у вас отключен интернет, то процесс восстановления может остановиться на данном этапе.

Если с интернетом проблем нет, тогда процесс дойдёт до конца и компоненты будут восстановлены.

Об этом вы узнаете из содержания следующего окна.

ImageHealth State: Healthy (Восстановлен)

Если в следствии системных нарушений у вас отсутствует интернет , тогда для восстановления задействуйте оригинальный ISO-образ Windows 10. Как это сделать.

К примеру у вас имеется ноутбук с установленной Windows 10 Single Language (Для одного языка).

Щёлкаем на нём два раза левой мышью и подключаем к виртуальному дисководу. В моём случае виртуальный дисковод под буквой (G :).

В PowerShell запущенном от имени администратора выполняем команду:

Dism /Get-WimInfo /WimFile:G:\sources\install.wim , где G: буква виртуального дисковода с Windows 10.

Видим, что в моём образе находится один образ Windows 10 Single Language (Для одного языка) под индексом 1 ,

Можно ли восстановить полностью разрушенное\удаленное хранилище, БЕЗ переустановки всей системы?

У клиента забился весь системный диск и показалось, что WinSxS занимает много места, и была удалена.
На самом деле, в свежи установленной Win10, удаление 5,5 ГБ WinSxS освобождает только ~380 МБ . Все остальное жесткие ссылки.
Что же тогда там храниться? і

Хотел восстановить путем установки с install.wim образа, и выбором "Обновить с сохранение файлов ", но далее предложение перезапустить комп и продолжить восстановленик. А что продолжать - точки возврата и образы системы не создавались.
Т.о. НЕТ возможности восстановить путем установки с диска ?

Тогда заменил весь WinSxS из boot.wim и Win10 нормально стал запускаться. Стало интересно, и проверил: в 32bit Win10 все запускается, но в 64bit Win10 системе не запускаются 32bit приложения.

Но надо все же восстановить хранилище полностью. Тогда наткнулся на ваш сайт.

Кстати, в восстанавливаемом мной Win10 вообще нет powershell ни в Поиске, ни в Пуск_Меню, ни в Панели_Управления, хотя есть директория \Program Files\WindowsPowerShell но там ничего не удалось запустить. Думал найти и установить powershel,l но потратив 30 минут находил только руководства, на чем и прекратил тратить время.

Тогда просто в окне Аднин.cmd вставил powershell и получил его. У вас пропущен этот простой способ открытия powershell

Пытался пока без успеха восстановить хранилище полностью, и в работающей системы с урезанным WinSxS:
------
>
>
Cистема Dism
Версия: 10.0.10240.16384
Версия образа: 10.0.10240.16384
[==========================100.0%==========================]
Ошибка: 0x800f081f
Не удалось найти исходные файлы.
Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра "Источник".
------

И в powershell
>

строка:1 знак:1
+ Repair-WindowsImage -Online -RestoreHealth
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

---------------
и с других работающих систем:

>

Repair-WindowsImage: Системе не удается найти указанный путь.
строка:1 знак:1
+ Repair-WindowsImage -Path e: -RestoreHealth -Source R:\sources\instal ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) , COMException
+ FullyQualifiedErrorId: Microsoft.Dism.Commands.RepairWindowsImageCommand

с тем же успехом. Может что не так делаю?

Читал выше о таких же отказах, и тоже хочется докопаться до истины. Для этого установил Win10 в 12ГБ vhd образ - одну копию запорю, берусь за другую.
Кстати, может посоветуете как и чем сравнить скорость системы с vhd образа и с диска.

Имею дело только с пиратками, но все описанное нормально проходило на других Win10. Даже например, с ru_windows_10_enterprise_2015_ltsb_x64 на вчера скачанную с центра обновления Win10ProRU и обратно. Т.ч. проблема не в пиратках, а где-то в нарушенных файлах идентификации.

И как все же правильно в таком случае: "ISO-образ винды задействуйте"?

P.S. После копирования в разрушенную Win10 всей WinSxS с установленного в vhd со вчера скачанного 64bit Win10 образа - все запускается и работает.
Но приведенные выше проверки НЕ работают .

Почитал еще ваши полезнавательные статьи, но так пока и не получилось исправить до конца систему с "тронутой" WinSxS. Видно что-то меняется в настройках.

C работающей или с другой ОС:
>sfc /scannow
>sfc /scannow /offbootdir=C:\w10\ /offwindir=E:\Windows
Защите ресурсов Windows не удается запустить службу восстановления .

>Dism /Online /Cleanup-Image /RestoreHealth
>Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:R:\sources\install.wim:1 /limitaccess
>Repair-WindowsImage -Online -RestoreHealth
>Repair-WindowsImage -Path e: -RestoreHealth -Source R:\sources\install.wim -Debug -Verbose
>Repair-WindowsImage -Path e: -RestoreHealth -Source C:\w10\ -Debug -Verbose
ПОДРОБНО: Версия 10.0.0.0 командлетов PowerShell системы Dism
Repair-WindowsImage: Системе не удается найти указанный путь.
строка:1 знак:1
+ Repair-WindowsImage -Path e: -RestoreHealth -Source C:\w10\ -Debug -V ...

Других комбинаций пока не вижу.

Так можно ли восстановить разрушенное\удаленное хранилище или путем восстановления с диска установки, или командами?

И еще может знаете - для образа *.vhd, diskmgmt без выбора создает Block_size 2МВ, сектор 512, а BOOTICE.exe для *.vhd Block_size 2МВ, сектор 512 (или 4096), а для *.vhdx предлагает Block_size 32МВ, сектор 512 (или 4096).
С сектором понятно - на каждом файле теряется 1/2 размера сектора, но меньше секторов (больших) легче обрабатывать.
Но как влияет и какой оптимальный Block_size для образов под Windows-10 размером 10-25 ГБ?

Заранее благодарен за любую информацию.

P.S.S. При первой отправке у меня выдернулся сетевой кабель и отправка зависла. Вставил кабель, посмотрел - моего поста не было, Тогда повторил. А сейчас добавляю, и вижу 2 поста. Уберите пожалуйста первый.

После добавления полной WinSxS, powershell появился в Поиске

Всякий раз, когда что-то идет не так с компьютером или ноутбуком, есть ряд инструментов для устранения неполадок, которые вы можете выполнить, чтобы попытаться устранить проблему. В Windows 10/8/7 есть несколько встроенных команд, которые можно использовать для проверки и восстановления поврежденных системных файлов, которые со временем вызывают проблемы при изменении. Одним из способов устранения неполадок, связанных с Windows, является проверка системы и восстановление системных файлов. Это может помочь во всех типах проблем, таких как медленная система, синий экран смерти, внезапные сбои питания и сбои системы.

Рассмотрим, как запустить средство проверки системных файлов в Windows с помощью командной строки CMD и PowerShell , таких команд как sfc /scannow и инструмента DISM. Хочу заметить, что для обновления Anniversary Update Windows 10, будет лучше использовать методы именно с PowerShell.

Проверка и Восстановление системных файлов через CMD

Средство проверки системных файлов сканирует ваш компьютер на предмет любого повреждения или изменений в системных файлах, которые в противном случае могли бы помешать нормальной работе вашего ПК. Оттуда он заменяет файл правильной версией, чтобы обеспечить бесперебойную работу. С помощью командной строки можно попытаться сканировать и восстановить системные файлы поздних операционных систем, как Windows 10/8/7 / Vista. Разберем две команды sfc /scannow и DISM с помощью CMD.

1.

  • Запустите командную строку (CMD) от имени администратора. Нажмите "поиск" и напишите просто "cmd" или "командная строка", далее по ней правой кнопкой мыши и запуск от имени админа.
  • Задайте команду sfc /scannow и дождитесь окончания процесса.


Примечание: После сканирования вашей системы будет выдан один из трех результатов:

  • Ошибок системных файлов не будет.
  • Будут ошибки системных файлов и Windows восстановит их автоматически.
  • Windows обнаружила ошибки, но не может восстановить некоторые из них.

Если у вас показывает вариант 3, что ошибка обнаружена и система не может восстановить, то и проделайте заново процедуру. Советую отключить шифрование и , если на момент проверки они имеются. Ничего не получилось? Двигаемся ниже.


2. (DISM)

Если вышеуказанное не работает в безопасном режиме, есть один последний способ проверить повреждение в системных файлах и исправить их. Используем инструмент Deployment Image and Service Management (DISM). Команда работает с системами Windows 8/8.1/10. Откройте обратно и используйте следующую команду:

Процесс может занять длительное время с зависанием процентной шкалы. Закончив работу, перезагрузите компьютер и запустите обратно sfc /scannow, чтобы убедиться, что ошибок нет или ошибка пропала.


Проверка и Восстановление системных файлов через PowerShell

Мы будем использовать Windows PowerShell, чтобы показать, как использовать службу обслуживания и управления DISM для сканирования и исправления поврежденных системных файлов в Windows 10. Этот способ будет более эффективный для обновления Anniversary windows 10, чем командная строка.

1. Использование инструмента System File Checker (SFC)

  • Запустите PowerShell от имени администратора. Нажмите "поиск" и наберите windows powershell, после нажмите правой кнопкой мыши и выберите от имени админа.

  • Задайте в окне PowerShell команду sfc /scannow. Если сканирование обнаружит какие-либо проблемы, Windows попытается их исправить. Если Windows не сможет их исправить, он предупредит вас, что необходимы дальнейшие исследования и действия. Двигайтесь ниже, если обнаружены ошибки.


2. Использование инструмента Deployment Image and Service Management (DISM)

Сканирование DISM обнаруживает поврежденные системные файлы и Windows попытается исправить их, и даст вам отчет о ходе работы в конце. Если Windows не сможет найти файлы, необходимые для восстановления поврежденных системных файлов, вам также будет предоставлена ​​информация о том, что делать дальше, со ссылкой на веб-сайт Microsoft и варианты устранения неполадок. Задайте ниже команду в окно PowerShell.

DISM /ONLINE /CLEANUP-IMAGE /RESTOREHEALTH

Если DISM все исправил или не выявил ошибки, то перезагрузите ноутбук, компьютер и запустите для проверки обратно sfc /scannow.


Е сли вы часто устанавливаете программное обеспечение или применяете твики , будет неплохо, если перед каждым таким вмешательством создавать системную контрольную точку восстановления . Windows 10 это особо касается, так как в десятой версии точки отката создаются реже, чем в предыдущих версиях. Создать точку восстановления можно вручную из апплета панели управления Система -> Защита системы , также для этих целей можно воспользоваться консолью PowerShell .

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

Вот, как это делается.

Убедившись, что функция восстановления системы с помощью контрольных точек включена.

Откройте консоль PowerShell от имени администратора и выполните в ней такую команду:

Checkpoint-Computer -Descriрtion "Моя точка восстановления" -RestorePointType "APPLICATION_INSTALL"

Аргумент -Descriрtion задает текстовое описание контрольной точки, -RestorePointType - ее тип. Он может принимать следующие значения:

MODIFY_SETTINGS - изменение настроек.
DEVICE_DRIVER_INSTALL - установка драйвера.
APPLICATION_INSTALL - установка приложения (используется по умолчанию) .
APPLICATION_UNINSTALL - удаление приложения.
CANCELLED_OPERATION - отмена действия.

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

Чтобы снять это ограничение, откройте командой regedit редактор реестра, разверните ветку HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore , создайте в последнем подразделе новый 32 -битный параметр типа DWORD с именем SystemRestorePointCrеаtionFrequency и установите в качестве его значения количество минут, задающих интервал между созданием точек восстановления.

По умолчанию используется число 1440 в десятичной системе счисления, что соответствует одним суткам. После применения твика вы сможете создавать точки восстановления в PowerShell с необходимой вам частотой.