Не хватает компонентов windows

DISM: проверка и восстановление системных компонентов образа Windows 10

Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в 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 для восстановления 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 .

Читайте также:  Windows для bochs инструкция

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

  1. Для этого загрузитесь с установочного (загрузочного диска) и на экране начала установки нажмите Shift + F10
  2. Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду diskpart -> list vol (в моем примере диску, на котором установлена Windows присвоена буква C:\, эту букву я буду использовать в следующих командах);
  3. Проверим системные файлы и исправим поврежденные файлы командой: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
  4. Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
    Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
  5. Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог: mkdir f:\scratch и запустить восстановление хранилища компонентов командой:
    Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch

Восстановление хранилища компонентов Windows 10

Если при тех или иных действиях по восстановлению системных файлов и образа Windows 10 с помощью DISM вы видите сообщение об ошибках «Ошибка 14098 Хранилище компонентов повреждено», «Хранилище компонентов подлежит восстановлению», «Сбой DISM. Операция не выполнена» или «Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник», требуется выполнить восстановление хранилища компонентов, о чем и пойдет речь в этой инструкции.

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

Простое восстановление

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

Для восстановления выполните следующие простые шаги

  1. Запустите командную строку от имени администратора (для этого в Windows 10 можно начать набирать «Командная строка» в поиске на панели задач, затем нажать правой кнопкой мыши по найденному результату и выбрать «Запуск от имени администратора»).
  2. В командной строке введите следующую команду:
  3. Выполнение команды может занять продолжительно время. После выполнения, если вы получаете сообщение о том, что хранилище компонентов подлежит восстановлению, выполните следующую команду.
  4. Если всё прошло гладко, то по завершении процесса (может «зависать», но настоятельно рекомендую дождаться окончания) вы получите сообщение «Восстановление выполнено успешно. Операция успешно завершена».

Если в итоге вы получили сообщение об успешном восстановлении, то все дальнейшие описываемые в этом руководстве методы вам не пригодятся — всё сработало должным образом. Однако, это не всегда так происходит.

Восстановление хранилища компонентов с использованием образа Windows 10

Следующий метод — использование образа Windows 10 для использования системных файлов с него для восстановления хранилища, что может пригодиться, например, при ошибке «Не удалось найти исходные файлы».

Вам потребуется: образ ISO с такой же Windows 10 (разрядность, версия), что установлена на вашем компьютере или же диск/флешка с нею. В случае, если используется образ, подключите его (правый клик по файлу ISO — подключить). На всякий случай: Как скачать Windows 10 ISO с сайта Майкрософт.

Шаги по восстановлению будут следующими (если из текстового описания команды что-то будет не ясно, обратите внимание на скриншот с выполнением описываемой команды):

  1. В подключенном образе или на флешке (диске) зайдите в папку sources и обратите внимание на находящийся там файл с именем install (самый большой по объему). Нам потребуется знать его точное имя, возможны два варианта: install.esd или install.wim
  2. Запустите командную строку от имени администратора и используйте следующие команды.
  3. В результате выполнения команды вы увидите список индексов и редакций Windows 10 в файле образа. Запомните индекс для вашей редакции системы.

Дождитесь завершения операции восстановления, которое, возможно, в этот раз пройдет успешно.

Исправление хранилища компонентов в среде восстановления

Если по той или иной причине восстановление хранилища компонентов не удается выполнить в запущенной Windows 10 (например, вы получаете сообщение «Сбой DISM. Операция не выполнена»), это можно сделать в среде восстановления. Я опишу способ с использованием загрузочной флешки или диска.

Читайте также:  Mod wsgi apache linux

  1. Загрузите компьютер за загрузочной флешки или диска с Windows 10 в той же разрядности и версии, что установлена на компьютере или ноутбуке. См. Создание загрузочной флешки Windows 10.
  2. На экране после выбора языка внизу слева нажмите «Восстановление системы».
  3. Перейдите к пункту «Исправление неисправностей» — «Командная строка».
  4. В командной строке используйте по порядку 3 команды: diskpart, list volume, exit. Это позволит узнать текущие буквы разделов дисков, которые могут отличаться от тех, к которые используются в запущенной Windows 10. Далее используйте команды.
  5. Или install.wim, файл находится в папке sources на флешке, с которой вы загрузились. В этой команде мы узнаем индекс нужной нам редакции Windows 10.
  6. Здесь в /Image:C:\ указывается буква диска с установленной Windows При наличии отдельного раздела на диске под пользовательские данные, например, D, рекомендую также указать параметр /ScratchDir:D:\ как на скриншоте для использования этого диска под временные файлы.

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

Восстановление с распакованного образа на виртуальном диске

И еще один метод, более сложный, но также способный пригодиться. Использовать его можно как в среде восстановления Windows 10, так и в запущенной системе. При использовании метода необходимо наличие свободного пространства в объеме около 15-20 Гб на каком-либо разделе диска.

В моем примере будут использованы буквы: C — диск с установленной системой, D — загрузочная флешка (или подключенный образ ISO), Z — диск на котором будет создаваться виртуальный диск, E — буква виртуального диска, которая будет ему присвоена.

  1. Запустите командную строку от имени администратора (или запустите её же в среде восстановления Windows 10), используйте команды.
  2. diskpart
  3. create vdisk file=Z:\virtual.vhd type=expandable maximum=20000
  4. attach vdisk
  5. create partition primary
  6. format fs=ntfs quick
  7. assign letter=E
  8. exit
  9. Dism /Get-WimInfo /WimFile:D:\sources\install.esd (или wim, в команде смотрим на нужный нам индекс образа).
  10. Dism /Apply-Image /ImageFile:D:\sources\install.esd /index:индекс_образа /ApplyDir:E:\
  11. Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:E:\Windows /ScratchDir:Z: (если восстановление производится в запущенной системе, то вместо /Image:C:\ используйте /Online)

И ожидаем в надежде на то, что в этот раз получим сообщение «Восстановление выполнено успешно». После проведения восстановления вы можете размонтировать виртуальный диск (в запущенной системе правый клик по нему — отключить) и удалить соответствующий ему файл (в моем случае — Z:\virtual.vhd).

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

Если сообщение о том, что хранилище компонентов повреждено вы получаете при установке .NET Framework, а его восстановление описываемыми методами никак не влияет на ситуацию, попробуйте зайти в панель управления — программы и компоненты — включение или отключение компонентов Windows, отключить все компоненты .Net Framework, перезагрузить компьютер, а затем повторить установку.

А вдруг и это будет интересно:

Почему бы не подписаться?

Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

09.12.2018 в 13:56

Dmitry здравствуйте! на странице обсуждения так ответа и не дождался https://remontka.pro/add-program-context-menu/ , по этому пишу здесь… что случилось?

10.12.2018 в 17:14

Марс, здравствуйте. я видел ваш вопрос, да. Сам уже почти неделю лежу болею и с макбука (другого ничего под рукой нет) иногда поглядываю комменты, отвечая лишь на те, на которые сходу из головы могу ответить. А у вас там нужно именно пробовать самому прописать и разобраться, нет возможности.

11.12.2018 в 08:07

НЕ ВОПРОС. подождем =)… ДАВАЙ ВЫЗДОРАВЛИВАЙ!

12.12.2018 в 10:41

Перепроверил у себя:
В подразделе «Яндекс» значение «По умолчанию» пишем Яндекс, создаем строковый параметр Icon и даем значение C:\Users\Имя\AppData\Local\Yandex\YandexBrowser\Application\browser.exe,0 (это даст нам иконку).
В подразделе уровнем ниже (command) в «по умолчанию» пишем C:\Users\Имя\AppData\Local\Yandex\YandexBrowser\Application\browser.exe
И всё работает. я даже без кавычек их писал, хотя не думаю, что дело в них.

18.12.2018 в 04:49

Не пойму, каким кряк его образом слетают файлы для восстановления при продолжительной жизни ОС, но все же никак не врубаюсь в одно: У меня на Win 10 Pro нет ESD-файла, только WIM. Ты в коде пишешь что надо ESD, про WIM ничего. Вопрос: Заработает, если выбрать путь к WIM, вместо ESD? Хотелось бы в рекавери это дело промутить, как-бы шансов-то побольше будет…

18.12.2018 в 13:37

Да, заработает. В коде четко написано, что можно и wim и esd

22.12.2018 в 19:28

Окся. Не знаешь из-за чего файлы восстановления слетают? «Жостких» чистялок нет. Есть ASC, но он такое не трогает…

24.12.2018 в 13:44

Настроен малый размер выделяемого дискового пространства в параметрах восстановления системы?

04.02.2019 в 21:35

15% от общего раздела диска это достаточно для нормального восстановления? Вечно куда-то эти точки деваются хотя в редакторе политики поставил время жизни точек 40 дней.

05.02.2019 в 12:19

Зависит от размера этого раздела и свободного места на нем.

21.01.2019 в 22:47

Добрый день. При Исправлении хранилища компонентов в среде восстановления на 84.5% «ошибка 0x800f081f, Не удалось найти исходные файлы».

03.04.2019 в 05:03

13.06.2019 в 00:29

C:\WINDOWS\system32> sfc /scannow

Начато сканирование системы. Этот процесс может занять некоторое время.

Начало стадии проверки при сканировании системы.
Проверка 19% завершена.

Защита ресурсов Windows не может выполнить запрошенную операцию.
C:\WINDOWS\system32>Dism /Online /Cleanup-Image /ScanHealth

Cистема DISM
Версия: 10.0.17763.1
Версия образа: 10.0.17763.557

Читайте также:  После обновления линукс минт перестал загружаться

Драйвер WOF обнаружил повреждение в таблице ресурсов сжатого файла.

Файл журнала DISM находится по адресу C:\WINDOWS\Logs\DISM\dism.log
Это лечится как то без образа? его у меня попросту нет.

14.06.2019 в 09:09

Боюсь, что нет. Но образ ведь можно с оф. сайта Майкрософт скачать…

24.10.2020 в 00:31

Подскажите, пожалуйста, как взять образ с оф.сайта Майкрасофт? Вообще не понятно, где это у них найти

24.10.2020 в 12:00

02.03.2021 в 14:04

Несколько неправильно после окончания операции оставлять виртуальный диск (том) не размонтированным (imho: imho: imho)

02.03.2021 в 15:22

На ваше усмотрение. Если предполагаете его дальнейшее использование, то ничего страшного от не размонтирования быть не должно.

14.07.2019 в 10:28

День добрый! Может-ли ноутбук восстанавливаться более 12 часов?? HP Pavilion 15 Core I5-4200U @ 1.6 GHz 2.3 GHz RAM 8 Gb Win 10 Pro x64
Всё встало на 85.4%, но курсор за строкой моргает, вроде как что-то исполняется))

14.07.2019 в 12:30

Здравствуйте. В теории-то возможно, но крайне необычно. Разве что если предположить медленный hdd забитый почти под завязку.

14.07.2019 в 13:03

Диск Seagate ST1000LM048-2E7172, терабайтник, свободного места 240 Gb, в том числе на системном С — 80 Gb из 300-ста отведённых под систему.
Меня смущает мигающий курсор в комстроке админа-значит что-то робит. Хоть-бы колом всё встало, тогда понятно)))

16.07.2019 в 10:30

Вообще мигающий курсор не говорит о том, что процесс не завис, т.е. это не существенный признак.

01.03.2021 в 19:21

Dmitry: Возможно ведь и посмотреть статус процесса (в мониторе ресурсов ) и «подтолкнуть» в менеджере задач, поставив больший паритет для процесса (13).

18.07.2019 в 07:28

Все выполнил как в разделе метод — использование образа Windows 10. Подключил образ. Команда
Dism /Online /Cleanup-Image /RestoreHealth /Source: K:\sources\install.wim:3 /limitaccess

Все равно выдает ошибка 0x800f081f «Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник»»
Все пути перепроверил

18.07.2019 в 13:23

dism /Online /Cleanup-Image /RestoreHealth /Source:wim:путь_к_файлу_wim_на_флешке:N /limitaccess
В среде восстановления ведь делаете? Обратите внимание на то, что я выделил жирным, плюс на отсутствие пробела после Source:

06.05.2020 в 11:54

Дмитрий, в ночь с 2-3 мая судя по всему было обновление системы. У меня это вин10 и стоит автоматическое обновление. На следующий день, я не смог загрузить винду «Error loading operation system». Думал ночью свет моргнул и сломалась загрузочная запись. Делал bootrec /fixmbr, bootrec /fixboot и после bcdboot c:\windows /s h: /f all у меня стартанула винда, но после загрузки логотипа и крутящихся точек у меня появился черный экран и бесконечная загрузка окна входа в систему, плюс появилась мышка с указателем, которая работала, но дальше бесконечная загрузка и на клавиатуре мигание светодидоа NumLock.
Из среды восстановления с загрузочного диска я выполнял sfc /scannow /offbootdir=с:\ /offwindir=:c\windows. Нашлись поврежденные файлы, но их не удалось восстановить. Тогда подключал вирт.диск, смонтировал образ из .wim, но итог один — «Не удалось найти исходные файлы». Указывал /source:путь_к_install.wim, /source:wim:путь_к_install.wim, /source:v:\windows (где V: буква вирт.диска). И параметр /online из среды восстановления нельзя писать, потому что в этом случае DISM применяется к среде восстановления, на что вылезет соответствующая ошибка в командной строке. В моем случае команда была такая: dism /image:c: /cleanup-image /restorehealth /source:v:\windows /scratchdir:g:.

06.05.2020 в 17:42

Я могу только о варианте, который не могу прямо рекомендовать (потенциально опасен для дисков) рассказать: если на этапе загрузки (с вращающимися точками) дважды выключить компьютер долгим удержанием кнопки питания, то с третьего раза запустится синий экран с кнопкой «Дополнительные параметры» — оттуда переход во встроенную среду восстановления и там есть опция удаления обновлений.

06.05.2020 в 19:51

А если дело не в обновление, я просто не уверен что обновление повлияло на сбой в работе. У меня получилось зайти с помощью F8 в дополнительные параметры загрузки и там включить лог загрузки. Так вот, потом когда я смотрел этот лог с другой системы, в нем часто встречались строки:
BOOTLOG_NOT_LOADED \SystemRoot\System32\drivers\dxgkrnl.sys

07.05.2020 в 12:37

Загрузка ядра DirectX это (и в принципе он может через обновления Windows обновляться)

08.05.2020 в 15:50

Ну и чего делать то, как пофиксить чтобы загрузилось ядро?) А и еще, если выполнять DISM с загрузочного диска с указанием /source:D:\testwim, столкнулся с такой проблемой:
Cистема DISM
Версия: 10.0.18362.1
Версия образа: 10.0.18363.815
Ошибка: 87
Параметр source не распознан в этом контексте.
Дополнительные сведения см. в справке.
Файл журнала DISM находится по адресу C:\WINDOWS\Logs\DISM\dism.log

09.05.2020 в 12:20

Честно — не знаю, что вот так дистанционно еще посоветовать, не видя ситуации глазами. Ну разве что просто поставить 10-ку без удаления данных, если есть что-то важное. А, ну и сброс системы из среды восстановления («вернуть в исходное состояние»)

12.07.2020 в 21:01

скажите, пожалуйста, что значит Ошибка 32?

13.07.2020 в 12:59

А как именно она проявляет себя, в какой момент и о чем сообщает?

30.09.2020 в 11:30

Не могу восстановить файлы ни одним из способов. Последний, с виртуального образа, тоже не помог.
C:\Windows\system32>Dism /Online /Cleanup-Image /RestoreHealth /Source:Z:\Windows /ScratchDir:E:

Ошибка: 0x800f081f
Не удалось найти исходные файлы.

01.10.2020 в 10:29

А нужные файлы в Z:\Windows есть? Тот образ и той версии там распакован?

Оцените статью