Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM. Эти две утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
В этой статье мы рассмотрим, как использовать команды
sfc /scannow
,
DISM /Online /Cleanup-Image /RestoreHealth
или
Repair-WindowsImage -Online -RestoreHealth
для восстановления образа и системных фалов в Windows 10/11 и Windows Server 2022/2019/2016.
Содержание:
- SFC /scannow: восстановление системных файлов Windows
- Проверка целостности хранилища компонентов Windows с помощью DISM
- Восстановление образа Windows с помощью DISM /RestoreHealth
- DISM /Source: восстановление образа Windows с установочного диска
- Восстановление образа Windows с помощью PowerShell
- DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается
SFC /scannow: восстановление системных файлов Windows
Перед тем, как восстанавливать образ Windows с помощью DISM, рекомендуется сначала попробовать проверить целостность системных файлов с помощью утилиты SFC (System File Checker). Команда
sfc /scannow
позволяет проверить целостность системных файлов Windows. Если какие-то системные файлы отсутствуют или повреждены, утилита SFC попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Утилита SFC записывает все свои действия в лог-файл
windir%\logs\cbs\cbs.log
. Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"
Если команда sfc /scannow возвращает ошибку “
Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them
”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов вашего образа Windows с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
Проверка целостности хранилища компонентов Windows с помощью DISM
Утилита DISM (Deployment Image Servicing and Management) доступна во всех версиях Windows, начиная с Vista.
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image. Команды DISM нужно запускать из командной строки, с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов в образе Windows (флаг CBS), выполните команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
Эта команда не выполняет полное сканирование хранилища компонентов. Проверяются лишь записанные ранее маркеры повреждений и события в журнале Windows. Изменения в образ не вносятся. Команда проверит, не помечен ли ваш образ Windows как поврежденный и возможно ли исправить его.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected. The operation completed successfully.
Чтобы выполнить полное сканирование хранилища компонентов на наличие повреждений в хранилище компонентов Windows, запустите команду:
DISM /Online /Cleanup-Image /ScanHealth
Команда проверки образа Windows может выполняться довольно долго (от 10 до 30 минут). И вернет один из трех результатов:
- No component store corruption detected – DISM не обнаружил повреждения в хранилище компонентов;
- The component store is repairable – DISM обнаружил ошибки в хранилище компонентов и может исправить их;
- The component store is not repairable – DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстанавливать образ Windows из резервной копии, сбрасывать или полностью переустанавливать вашу копию Windows.
В Windows 7 и Windows Server 2008 R2 для использования параметра DISM /ScanHealth нужно установить отдельное обновление KB2966583. Иначе при запуске DISM будет появляться “
Ошибка 87. Параметр ScanHealth не распознан в этом контексте
”.
Команда DISM /ScanHealth может вернуть ошибки:
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows поврежден и его нужно восстановить.
Восстановление образа Windows с помощью DISM /RestoreHealth
Чтобы исправить повреждения в хранилище компонентов образа Windows нужно использовать опцию RestoreHealth команды DISM. Эта опция позволит исправить найденные в образе ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов из центра обновлений Windows (на компьютере должен быть доступ в Интернет). Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
В Windows 7/2008 R2 эта команда выглядит по другому:
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более). DISM автоматически загрузит недостающие или поврежденные файлы образа с серверов Windows Update.
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully.
DISM /Source: восстановление образа Windows с установочного диска
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена/повреждена служба Windows Update (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов появятся ошибки:
- 0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
- Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
- Ошибка:0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
<
Во всех этих случаях вы можете использовать альтернативные средства получения оригинальных файлов хранилища компонентов. Это может быть:
- Установочный диск/флешка/iso образ Windows
- Смонтированный файл wim
- Папка \sources\SxS с установочного диска
- Файл install.wim с установочным образом Windows
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов системы. Предположим, вы смонтировали установочный ISO образ Windows 11 в виртуальный привод D:.
Примечание. Для восстановления поврежденных файлов в хранилище компонентов из локального источника версия и редакция Windows в образе должна полностью совпадать с вашей.
С помощью следующей PowerShell команды проверьте, какая версия Windows установлена на вашем компьютере:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
Выведите список доступных версий Windows в установочном образе:
Get-WindowsImage -ImagePath "D:\sources\install.wim"
В нашем случае образ Windows 11 Pro в образе install.wim имеет
ImageIndex = 6
.
Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):
DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6 /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6 /limitaccess
Если при запуске появляется
- Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образWindows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT.
Ошибка DISM Error 87: проверьте правильно написания команды, убедитесь что вы используете версию DISM для вашей версии Windows (обычно бывает при загрузке через WinPE/WinRE).
Утилита DISM пишет подробный журнал сканирования и восстановления системных файлов в файл
C:\Windows\Logs\DISM\dism.log
.
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов
sfc /scannow
. Скорее всего она успешно восстановит поврежденные файлы:
Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила.
Windows Resource Protection found corrupt files and successfully repaired them.
Если все системные файлы целы, появится сообщение:
Windows Resource Protection did not find any integrity violations
Восстановление образа Windows с помощью PowerShell
В версии PowerShell в Windows 10/11 и Windows Server 2022/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10 (здесь также нужно указать индекс версии Windows в wim файле в качестве источника восстановления):
Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim:5 –LimitAccess
DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
- Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 10/11 с помощью Media Creation Tool) и на экране начала установки нажмите
Shift + F10
- Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду
diskpart
->
list vol
(в моем примере диску, на котором установлена Windows присвоена буква C:\, эту букву я буду использовать в следующих командах); - Проверим системные файлы и исправим поврежденные файлы командой:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:6
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог:
mkdir f:\scratch
и запустить восстановление хранилища компонентов командой:
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Совет. Другие полезные команды DISM, которые должен знать администратор:
-
DISM /Add-Package
– установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows; -
DISM /Get-Drivers
– получение списка установленных драйверов; -
DISM /Add-Driver
– добавление драйверов в образ; -
DISM /Export-Driver
– экспорт установленных драйверов Windows; -
DISM /Add-Capability
– установка дополнительных компонентов Windows через Features on Demand (например, RSAT, сервер OpenSSH или ssh клиент Windows; -
DISM /Enable-Features
и
/Disable-Features
– включение и отключение компонентов Windows (например, протокола SMBv1), -
DISM /online /Cleanup-Image /StartComponentCleanup
– очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS); -
DISM /set-edition
– конвертирование ознакомительной редакции Windows на полную без переустановки.
Привет админ, вопрос такой! Попросили меня посмотреть один тормозной ноут. При проверке операционной системы на присутствие вредоносных программ Dr.Web CureIt нашёл 278 вирусов, после процедуры обезвреживания и перезагрузки, система стала работать с ошибками.
Запустил проверку целостности системных файлов 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 (Для одного языка).
В этом случае скачиваем ISO-образ Windows 10 Single Language (Для одного языка) на официальном сайте Майкрософт.
Щёлкаем на нём два раза левой мышью и подключаем к виртуальному дисководу. В моём случае виртуальный дисковод под буквой (G:).
В PowerShell запущенном от имени администратора выполняем команду:
Dism /Get-WimInfo /WimFile:G:\sources\install.wim, где G: буква виртуального дисковода с Windows 10.
Видим, что в моём образе находится один образ Windows 10 Single Language (Для одного языка) под индексом 1,
соответственно вводим следующую команду:
Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1
Буква «G» соответствует букве подключенного образа с Win 10, а цифра «1» — индексу издания в образе, в нашем случае 1. Начинается восстановление хранилища компонентов Windows с помощью оригинального ISO-образа Windows 10 Single Language.
Хранилище компонентов Windows восстановлено.
ImageHealth State : Healthy (Восстановлен).
Хранилище компонентов Windows мы восстановили, теперь можем запустить утилиту проверки целостности системных файлов — sfc /scannow.
В этот раз повреждённые системные файлы должны быть восстановлены.
Статьи по этой теме, которые Вам помогут:
1. Восстановление повреждённого хранилища компонентов Windows 10 в Среде предустановки Windows (Windows PE) с помощью дистрибутива Win 10, а также виртуального диска VHD
2. Восстановление повреждённого хранилища компонентов Windows 10 при помощи Dism
3. Как произвести восстановление целостности системных файлов, если Windows 10 не загружается.
4. Что делать, если при запуске sfc/scannow выдается ошибка «Защита ресурсов Windows не может выполнить запрошенную операцию»
Проверка целостности системных файлов Windows 10 может пригодиться в том случае, если у вас есть основания полагать, что такие файлы были повреждены или же возникли подозрения о том, что какая-либо программа могла изменить системные файлы операционной системы.
В Windows 10 присутствует два инструмента для проверки целостности защищенных системных файлов и их автоматического восстановления при обнаружении повреждений — SFC.exe и DISM.exe, а также команда Repair-WindowsImage для Windows PowerShell (использующая DISM для работы). Вторая утилита служит дополнением первой, в случае, если SFC не удается восстановить поврежденные файлы.
Примечание: описываемые в инструкции действия безопасны, однако, в том случае, если до этого вы проделывали какие-либо операции, связанные с заменой или изменением системных файлов (например, для возможности установки сторонних тем и т.п.), в результате восстановления системных файлов, эти изменения будут отменены.
Использование SFC для проверки целостности и исправления системных файлов Windows 10
Многим пользователям знакома команда проверки целостности системных файлов sfc /scannow которая автоматически проверяет и исправляет защищенные системные файлы Windows 10.
Для запуска команды стандартно используется командная строка, запущенная от имени администратора (запустить командную строку от администратора в Windows 10 можно, введя «Командная строка» в поиске в панели задач, затем — правый клик по найденному результату — Запуск от имени администратора), вводим в нее sfc /scannow и нажимаем Enter.
После ввода команды, начнется проверка системы, по результатам которой найденные ошибки целостности, которые можно исправить (о том, какие нельзя — далее) будут автоматически исправлены с сообщением «Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила», а в случае их отсутствия вы получите сообщение о том, что «Защита ресурсов Windows не обнаружила нарушений целостности».
Также имеется возможность проверить целостность конкретного системного файла, для этого можно использовать команду
sfc /scanfile="путь_к_файлу"
Однако при использовании команды есть один нюанс: SFC не может исправить ошибки целостности для тех системных файлов, которые используются в настоящий момент времени. Чтобы решить проблему, можно запустить SFC через командную строку в среде восстановления Windows 10.
Запуск проверки целостности Windows 10 с помощью SFC в среде восстановления
Для того, чтобы загрузиться в среде восстановления Windows 10, вы можете использовать следующие способы:
- Зайти в Параметры — Обновление и безопасность — Восстановление — Особые варианты загрузки — Перезагрузить сейчас. (Если пункт отсутствует, то вы можете также использовать такой метод: на экране входа в систему, кликните по значку «вкл» справа внизу, а затем, удерживая Shift, нажмите «Перезагрузка»).
- Загрузиться с заранее созданного диска восстановления Windows.
- Загрузиться с установочного диска или загрузочной флешки с дистрибутивом Windows 10, а в программе установки, на экране после выбора языка, слева внизу выбрать «Восстановление системы».
- После этого, зайдите в «Поиск и устранение неисправностей» — «Дополнительные параметры» — «Командная строка» (в случае если вы использовали первый из указанных выше способов, вам также потребуется ввести пароль администратора Windows 10). В командной строке по порядку используйте следующие команды:
- diskpart
- list volume
- exit
- sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows (где C — раздел с установленной системой, а C:\Windows — путь к папке Windows 10, у вас буквы могут отличаться).
- Запустится сканирование целостности системных файлов операционной системы, при этом в этот раз команде SFC будет доступно восстановление всех файлов, при условии, что не повреждено хранилище ресурсов Windows.
Сканирование может продолжаться в течение значительного времени — пока мигает указатель подчеркивания, ваш компьютер или ноутбук не завис. По завершении закройте командную строку и перезагрузите компьютер в обычном режиме.
Восстановление хранилища компонентов Windows 10 с помощью DISM.exe
Утилита для развертывания и обслуживания образов Windows DISM.exe позволяет выявить и исправить те проблемы с хранилищем системных компонентов Windows 10, откуда при проверке и исправлении целостности системных файлов копируются оригинальные их версии. Это может быть полезным в тех ситуациях, когда защита ресурсов Windows не может выполнить восстановление файлов, несмотря на найденные повреждения. В этом случае сценарий будет следующим: восстанавливаем хранилище компонентов, а после этого снова прибегаем к использованию sfc /scannow.
Для использования DISM.exe, запустите командную строку от имени администратора. После чего можно использовать следующие команды:
Примечание: в случае, если команда восстановления хранилища компонентов не работает по той или иной причине, вы можете использовать файл install.wim (или esd) со смонтированного ISO образа Windows 10 (Как скачать Windows 10 ISO с сайта Microsoft) в качестве источника файлов, требующих восстановления (содержимое образа должно соответствовать установленной системе). Сделать это можно с помощью команды:
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 — не такая уж и сложная задача, которая порой может помочь исправить самые разные проблемы с ОС. Если не смогла, возможно, вам поможет что-то из вариантов в инструкции Восстановление Windows 10.
Как проверить целостность системных файлов Windows 10 — видео
Также предлагаю ознакомиться с видео, где использование основных команд проверки целостности показано наглядно с некоторыми пояснениями.
Дополнительная информация
Если sfc /scannow сообщает о том, что защите системы не удалось выполнить восстановление системных файлов, а восстановление хранилища компонентов (с последующим повторным запуском sfc) не помогло решить проблему, вы можете просмотреть, какие именно системные файлы были повреждены, обратившись к журналу CBS.log. Для того, чтобы экспортировать нужные сведения из журнала в текстовый файл sfc на рабочем столе, используйте команду:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfc.txt"
Также, по некоторым отзывам, проверка целостности с помощью SFC в Windows 10 может обнаруживать повреждения сразу после установки обновления с новой сборкой системы (без возможности исправить их, не установив новую сборку «начисто»), а также для некоторых версий драйверов видеокарт (в данном случае ошибка находится для файла opencl.dll. Если что-то из этих вариантов случилось и у вас, возможно, не следует предпринимать никаких действий.
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM. Эти две утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
В этой статье мы рассмотрим, как использовать команды sfc /scannow , DISM /Online /Cleanup-Image /RestoreHealth или Repair-WindowsImage -Online -RestoreHealth для восстановления образа и системных фалов в Windows 10/11 и Windows Server 2022/2019/2016.
Ранее, мы уже в одной из заметок кратко расматривали основные способы проверки целостности системных файлов. В заметке, приведены саммые основные и часто срабатываемые способы. Однако, в сегодняшней заметке, расмортим более подробно каждый способ.
SFC /scannow: восстановление системных файлов Windows.
Перед тем, как восстанавливать образ Windows с помощью DISM, рекомендуется сначала попробовать проверить целостность системных файлов с помощью утилиты SFC (System File Checker). Команда sfc /scannow позволяет проверить целостность системных файлов Windows. Если какие-то системные файлы отсутствуют или повреждены, утилита SFC попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Утилита SFC записывает все свои действия в лог-файл windir%\logs\cbs\cbs.log . Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:
findstr /c:»[SR]» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfc.txt»
Если команда sfc /scannow возвращает ошибку “ Программа защиты ресурсов
Windows обнаружила повреждённые файлы, но не может восстановить
некоторые из них / Windows Resource Protection found corrupt files but
was unable to fix some of them”, скорее всего утилита не смогла
получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов вашего образа Windows с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
Утилита DISM (Deployment Image Servicing and Management) доступна во всех версиях Windows, начиная с Vista.
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image. Команды DISM нужно запускать из командной строки, с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов в образе Windows (флаг CBS), выполните команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
Эта команда не выполняет полное сканирование хранилища компонентов. Проверяются лишь записанные ранее маркеры повреждений и события в журнале Windows. Изменения в образ не вносятся. Команда проверит, не помечен ли ваш образ Windows как поврежденный и возможно ли исправить его.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected.
The operation completed successfully.
Чтобы выполнить полное сканирование хранилища компонентов на наличие повреждений в хранилище компонентов Windows, запустите команду:
DISM /Online /Cleanup-Image /ScanHealth
Команда проверки образа Windows может выполняться довольно долго (от 10 до 30 минут). И вернет один из трех результатов:
- No component store corruption detected – DISM не обнаружил повреждения в хранилище компонентов;
- The component store is repairable – DISM обнаружил ошибки в хранилище компонентов и может исправить их;
- The component store is not repairable – DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстанавливать образ Windows из резервной копии, сбрасывать или полностью переустанавливать вашу копию Windows.
В Windows 7 и Windows Server 2008 R2 для использования параметра DISM /ScanHealth нужно установить отдельное обновление KB2966583. Иначе при запуске DISM будет появляться “ Ошибка 87. Параметр ScanHealth не распознан в этом контексте”.
Команда DISM /ScanHealth может вернуть ошибки:
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows поврежден и его нужно восстановить.
Восстановление образа Windows с помощью DISM /RestoreHealth.
Чтобы исправить повреждения в хранилище компонентов образа Windows нужно использовать опцию RestoreHealth команды DISM. Эта опция позволит исправить найденные в образе ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов из центра обновлений Windows (на компьютере должен быть доступ в Интернет). Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
В Windows 7/2008 R2 эта команда выглядит по другому:
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более). DISM автоматически загрузит недостающие или поврежденные файлы образа с серверов Windows Update.
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully.
DISM /Source: восстановление образа Windows с установочного диска.
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена/повреждена служба Windows Update, то при восстановлении хранилища компонентов появятся ошибки:
- 0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
- Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
- Ошибка:0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
Во всех этих случаях вы можете использовать альтернативные средства получения оригинальных файлов хранилища компонентов. Это может быть:
- Установочный диск/флешка/iso образ Windows
- Смонтированный файл wim
- Папка \sources\SxS с установочного диска
- Файл install.wim с установочным образом Windows
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов системы. Предположим, вы смонтировали установочный ISO образ Windows 11 в виртуальный привод D:.
Примечание. Для восстановления поврежденных файлов в хранилище компонентов из локального источника версия и редакция Windows в образе должна полностью совпадать с вашей.
С помощью следующей PowerShell команды проверьте, какая версия Windows установлена на вашем компьютере:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
Выведите список доступных версий Windows в установочном образе:
Get-WindowsImage -ImagePath «D:\sources\install.wim»
В нашем случае образ Windows 11 Pro в образе install.wim имеет ImageIndex = 6.
Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):
DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6 /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6 /limitaccess
Если при запуске появляется
- Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образWindows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT.
- Ошибка DISM Error 87: проверьте правильно написания команды, убедитесь что вы используете версию DISM для вашей версии Windows (обычно бывает при загрузке через WinPE/WinRE).
Утилита DISM пишет подробный журнал сканирования и восстановления системных файлов в файл C:\Windows\Logs\DISM\dism.log.
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов sfc /scannow . Скорее всего она успешно восстановит поврежденные файлы:
Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила.
Windows Resource Protection found corrupt files and successfully repaired them.
Если все системные файлы целы, появится сообщение:
Windows Resource Protection did not find any integrity violations
Восстановление образа Windows с помощью PowerShell
В версии PowerShell в Windows 10/11 и Windows Server 2022/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10 (здесь также нужно указать индекс версии Windows в wim файле в качестве источника восстановления):
Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim:5 –LimitAccess
DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается.
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
Если Windows не загружается после установки обновлений, сначала попробуйте удалить последние патчи.
- Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 10/11 с помощью Media Creation Tool) и на экране начала установки нажмите Shift + F10
- Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду diskpart -> list vol (в моем примере диску, на котором установлена Windows присвоена буква C:\, эту букву я буду использовать в следующих командах);
- Проверим системные файлы и исправим поврежденные файлы командой: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:6
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог: mkdir f:\scratch и запустить восстановление хранилища компонентов командой:
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Совет. Другие полезные команды DISM, которые должен знать администратор:
DISM /Add-Package – установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows;
DISM /Get-Drivers – получение списка установленных драйверов;
DISM /Add-Driver – добавление драйверов в образ;
DISM /Export-Driver – экспорт установленных драйверов Windows;
DISM /Add-Capability – установка дополнительных компонентов Windows через Features on Demand (например, RSAT, сервер OpenSSH или ssh клиент Windows;
DISM /Enable-Features и /Disable-Features – включение и отключение компонентов Windows (например, протокола SMBv1),
DISM /online /Cleanup-Image /StartComponentCleanup – очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS);
DISM /set-edition – конвертирование ознакомительной редакции Windows на полную без переустановки.
You can use the SFC (System File Checker) and DISM (Deployment Image Servicing and Management) commands to check and repair the integrity of system files and Component Store of your Windows (Windows Server) image. These tools can be extremely useful if your Windows is unstable, won’t boot, errors appear when you try to run built-in apps or services, after a virus infection, etc.
In this article, we’ll take a look at how to use the SFC /ScanNow
, DISM /Online /Cleanup-Image /RestoreHealth,
or Repair-WindowsImage -Online -RestoreHealth
commands to repair image and system files on Windows 10/11 and Windows Server 2022/2019/2016.
Contents:
- SFC /ScanNow: Using System File Checker to Repair Windows System Files
- Check Windows Component Store Health Using DISM
- Repair Windows Image Using DISM /RestoreHealth
- DISM /RestoreHealth: The Source Files Could Not Be Found
- Repair-WindowsImage: Repairing Windows Image Component Store with PowerShell
- Use DISM Offline to Repair Windows Image
SFC /ScanNow: Using System File Checker to Repair Windows System Files
It is recommended to use the DISM command to restore Windows after you have checked the integrity of your system files using the SFC tool. The sfc /scannow
command scans protected system files and if they are missing or corrupted it tries to restore their original copies versions the Windows Component Store (C:\Windows\WinSxS folder).
The SFC tools writes all its activities to the %windir%\logs\cbs\cbs.log
. All SFC entries in the CBS.log file are tagged with [SR]. To select only SFC-related entries from the log, run the command:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"
If sfc /scannow
command returns the error “Windows Resource Protection found corrupt files but was unable to fix some of them“, it is likely that the tool could not get the necessary files from the Windows Component Store (see the image below).
In this case, you can try to repair the Component Store of your Windows image using the DISM.exe
command.
The DISM (Deployment Image Servicing and Management) tool is available in all versions of Windows starting from Vista.
After repairing the Windows image, you can try using SFC to restore your system files.
Check Windows Component Store Health Using DISM
The DISM /Cleanup-Image /CheckHealth
switch is used to scan the Windows image for errors and fix them. DISM commands must be run from the elevated command prompt.
Run the following command to check if there are any flags of corruption of the Windows image Component Store (not applicable for Windows 7/Server 2008R2). This command checks the CBS flag set by one of the system maintenance processes.
DISM /Online /Cleanup-Image /CheckHealth
This command doesn’t perform a full scan of the Component Store. The command only checks if your Windows image is flagged as corrupted and if it is possible to fix it. No changes are made to the image.
In this example, the command has returned that the Windows 10 image has no corruptions:
No component store corruption detected. The operation completed successfully.
To run a full scan of the Windows Component Store health, run the command:
DISM /Online /Cleanup-Image /ScanHealth
The command to check the Windows image can take quite a long time (10-30 minutes). And will return one of three results:
- No component store corruption detected – DISM found no errors in the component store;
- The component store is repairable – DISM has encountered errors in the Component Store and can fix them;
- The component store is not repairable – DISM cannot fix the Windows Component Store (try using a newer version of DISM or you will have to restore a Windows image from a backup, reset or completely reinstall your Windows instance).
In order to use DISM /ScanHealth switch on Windowds 7 and Windows Server 2008, you have to install the KB2966583 update. Otherwise, you will see the message: “Error 87. The ScanHealth option is not recognized in this context”.
In some cases, the DISM /ScanHealth returns the following errors:
- DISM Error 1726 – “The remote procedure call failed”;
- DISM Error 1910 – “The object exporter specified was not found”.
It definitely means that your Windows image is corrupted and needs to be repaired.
Repair Windows Image Using DISM /RestoreHealth
To fix corruption in the Windows image Component Store, you must use the RestoreHealth option of the DISM command. This option will allow you to fix errors found in the Windows image, automatically download and replace files of damaged or missing components with original versions of files from Windows Update (your computer must have direct Internet access). Run the command:
DISM /Online /Cleanup-Image /RestoreHealth
In Windows 7/2008 R2, this command looks different:
DISM.exe /Online /Cleanup-Image /ScanHealth
The process of scanning and repairing the Component Store may take quite a long time (30 minutes or more). DISM will automatically download and replace the files of corrupted or missing components with original file versions from Windows Update servers.
If the repair has been successful, the following message will appear:
The restore operation completed successfully.
DISM /RestoreHealth: The Source Files Could Not Be Found
If your computer (server) has no direct Internet access (located behind a proxy, or have used internal WSUS to get security and build updates) or Windows Update service is disabled/damaged (how to repair Windows Update client), then the following errors appear when repairing the Component Store:
- 0x800f0906 – The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature;
- 0x800f0950 – DISM failed. No operation was performed;
- 0x800F081F – The source files could not be found. Use the “Source” option to specify the location of the files that are required to restore the feature.
In all of these cases, you can use alternative ways to get the source Component Store files. It can be:
- Installation disk/USB flash drive/ISO image;
- Mounted wim/esd file;
- Folder \sources\SxS from the installation disk;
- The install.wim (esd) file with the Windows installation image.
You can specify a WIM or an ESD file with the original Windows installation image to be used as a source to repair the system files. Suppose, you have mounted an installation Windows 11 ISO to the virtual drive D:.
Check which version of Windows is installed on your computer using the following PowerShell command:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
List the available Windows editions in the installation wim image:
Get-WindowsImage -ImagePath "D:\sources\install.wim"
In our case, the Windows 11 Pro image in the install.wim file has ImageIndex = 6
.
To repair the Component Store from a local WIM/ESD file using the local source files (without using Windows Update online services), run the following command (remember to specify the Windows version index in the image file):
DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6 /limitaccess
or:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6 /limitaccess
The following errors can appear when running the DISM /RestoreHealth command:
- Error: 50: DISM does not support servicing Windows PE with the /Online option – this means your DISM thinks you are using a WinPE image. To fix this, remove the registry key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT
; - DISM Error 87: make sure the DISM command is written correctly, make sure you are using the DISM version for your Windows version (usually when booting in WinPE/ WinRE).
You can find the DISM log of scanning and repair of the system files here: C:\Windows\Logs\CBS.log
.
After the component store has been repaired, you can run the system file checker tool (sfc /scannow
). It is likely that it will be able to restore the damaged or missing system files (Windows Resource Protection found corrupt files and successfully repaired them).
If the SFC.exe doesn’t detect any damage to the system files, a message will appear
Windows Resource Protection did not find any integrity violations.
Repair-WindowsImage: Repairing Windows Image Component Store with PowerShell
The version of PowerShell in Windows 10/11 and Windows Server 2016/2019/2022 has a cmdlet similar to the DISM commands discussed above. To scan the Windows component store and find any corruptions, run this command:
Repair-WindowsImage -Online –ScanHealth
If no errors are found in the Component Store, the following message appears:
ImageHealth State: Healthy
To repair Windows Component Store files, run:
Repair-WindowsImage -Online -RestoreHealth
If you don’t have direct Internet access, this command may hang during the image repairing process. You can restore the system components from the local Windows image file (install.wim/install.esd) copied from the Windows 10 installation ISO image. Here you also need to specify the Windows version index in the wim file as the recovery source:
Repair-WindowsImage -Online -RestoreHealth -Source F:\sources\install.wim:5 -LimitAccess
Use DISM Offline to Repair Windows Image
If Windows doesn’t boot correctly, you can use DISM to check and repair system files of your Windows image offline.
- Boot your device from the Windows installation image (you can use the Media Creation Tool to create a bootable Windows USB stick) and press
Shift + F10
on the initial Windows install screen; - To check the drive letters assigned in WinPE, run the command
diskpart
->list vol
(in my example, the drive letter C:\ is assigned to the disk, on which Windows is installed, and I will use it in the next commands); - Check the system files and repair the corrupted ones with the command:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- To repair the offline Windows image, use the following command (I am using a WIM file with the Windows 10 installation image from which the computer is booted as a source to restore my offline Windows image):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
- If there is not enough free space on the target disk, you will need a separate drive, e. g., F:\, on which you will create an empty folder
mkdir F:\scratch
. Perform a repair of the component store using the scratch dir with the command:Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Tip. Here are some useful DISM parameters an administrator must know:
DISM /Add-Package
–install MSU/CAB update files, integrate security updates into your Windows image;DISM /Get-Drivers
– get the list of installed drivers;DISM /Add-Driver
– inject drivers to Windows installation image;DISM /Add-Capability
– installing additional Windows features via Features on Demand (FoD). For example, RSAT, OpenSSH server, or Windows SSH client);DISM /Enable-Features
and/Disable-Features
– enabling and disabling Windows components (for example, the SMBv1 protocol);Dism.exe /StartComponentCleanup
– cleanup the Component Store and remove old component versions (from the WinSxS folder);Dism /set-edition
– upgrading from the evaluation to full Windows version without reinstalling.