Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC
и DISM
(Deployment Image Servicing and Management). Данные утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
Утилита DISM включена в состав Windows, начиная с Vista и может быть использована во всех поддерживаемых версиях начиная с Windows 7/Windows Server 2008 R2 (есть ограничения) заканчивая последними билдами Windows 10 / Windows Server 2019. В этой статье мы рассмотрим, как использовать утилиты DISM и SFC для проверки и восстановления целостности образа и системных файлов Windows 10.
- SFC /scannow: Проверка и восстановление системных файлов Windows
- DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
- Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
- Восстановление хранилища компонентов оффлайн если Windows не загружается
SFC /scannow: Проверка и восстановление системных файлов Windows
Утилиту DISM для восстановления Windows обычно рекомендуется использовать после утилиты проверки целостности системных файлов SFC (System File Checker). Команда sfc /scannow
сканирует защищенные системные файлы Windows, и, если они отсутствуют или повреждены, попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Если команда sfc /scannow возвращает ошибку “Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них
/ Windows Resource Protection found corrupt files but was unable to fix some of them
”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов (ваш образ Windows) с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image
. Рассмотренные ниже команды выполняются в командной строке, запущенной с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов образа Windows (флага CBS) , который выставил один из системных процессов, выполните следующую команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
При запуске этой команды не выполняется сканирование хранилища, проверяются лишь записанные ранее значения и события в журнале Windows. Изменения не вносятся. Команда проверит, не помечен ли образ как поврежденный и возможно ли устранить данное повреждение.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected.
The operation completed successfully.
DISM /Online /Cleanup-Image /ScanHealth
– выполнить полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows (выполняется довольно долго от 10 до 30 минут).
Если команда /ScanHealth возвращает ошибки:
- Хранилище компонентов подлежит восстановлению (The component sore is repairable);
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows 10 поврежден и его нужно восстановить.
Чтобы исправить ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов (библиотек) из центра обновлений Windows (на компьютере должен быть доступ в Интернет), выполните:
DISM /Online /Cleanup-Image /RestoreHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более).
Если восстановление выполнится успешно, появится сообщение:
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully. The operation completed successfully.
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена служба 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).
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов компонентов системы. Предположим, вы смонтировали установочный ISO образ Windows 10 в виртуальный привод E:. Для восстановления хранилища компонентов из образа используйте одну из команд:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim
Или:DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim /limitaccess
Или:DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
Журнал сканирования и восстановления системных файлов утилиты DISM можно найти здесь: C:\Windows\Logs\CBS.log
.
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов sfc /scannow
. Скорее всего она успешно восстановит поврежденные файлы (Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила).
Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
В версии PowerShell в Windows 10 и Windows Server 2016/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
Repair-WindowsImage -Online -RestoreHealth -Source E:\sources\install.wim:1
Где, 1 – индекс используемой у вас редакции Windows из WIM или ESD файла (список редакций Windows в WIM файле можно вывести так: Get-WindowsImage -ImagePath "E:\sources\install.wim"
).
Восстановление хранилища компонентов оффлайн если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
- Для этого загрузитесь с установочного (загрузочного диска) и на экране начала установки нажмите
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:D:\sources\install.wim
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог:
mkdir f:\scratch
и запустить восстановление хранилища компонентов командой:Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
DISM /Add-Package
– установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows;DISM /Get-Drivers
– получение списка установленных драйверов;DISM /Add-Driver
– добавление драйверов в образ;DISM /Add-Capability
– установка компонентов и RSAT;Dism.exe /StartComponentCleanup
– очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS);Dism /set-edition
– переход с ознакомительной Windows на полную без переустановки.
С буквами дисков ничего не напутали? :
Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например D:\, на котором нужно создать пустой каталог: mkdir c:\scratch и запустить восстановление хранилища компонентов командой:
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Да, ошибка, поправил. thanks!
Почему работает
/ScanHealth
, но не работает/RestoreHealth
? (Ошибка 87)Проверьте синтаксис команды DISM (пробелы, написание опций), убедитесь, что командная строка запущена в привелигированном режиме. Какая версия и билд Windows?
Как это происходит восстановление, если нет инета, но до этого были установлены обновления???
Файлы-то после обнов другие!
Речь про восстановление хранилища.
Нужен Wim/ISO образ с WIndows или доступ в Интернет.
Если есть wim файл с образом, dism попробует найти подходящие версии компонентов на нем, но если они отличаются, восстановление не пройдет.
Проблема со звуком и обновлением ВИН 10 про до 1909.
Скачал образ, через dism ,способом, описанным выше (в моем случае виртуальный диск с образом — Н), но не обновился, пишет, что не смог найти исходные файлы, необходимые для восстановления системы с помощью Источника, что собственно и писал ранее.
Образ ВИН 10 создавал с помощью WIN Media Creation Tools.
К ответу выше…
Если есть wim файл с образом, dism попробует найти подходящие версии компонентов на нем, но если они отличаются, восстановление не пройдет.
Как понимаю, WIN Media Creation Tools создает образ, исходя из конфигурации текущей системы?
Media Creation Tool по умолчанию берет редакцию, язык и битность текущей системы. Но можно указать вручную какой iso образ Win 10 вам нужно получить.
Сделав ISO установочного диска с помощью Media Creation Tool на харде ноута , через setup.exe. система обновилась до 1909 без перекосов. Проблема со звуком решилась, все работает.
очень помогает приустановки FrameWork 3 когда комп не пдключен к интернету..
Большое спасибо, очень помогли. Я поменяла название папки SearchUI и не могла вернуть её в изначальное состояние, благо дело всё пофиксилось с помощью командной строки и этой команды sfc /scannow