Здравствуйте, Владимир! У меня целая эпопея с восстановлением хранилища оригинальных компонентов Windows 10. Нужен Ваш совет, думаю я Вас пойму, так как считаю себя опытным пользователем. Установленная на моём ноутбуке Windows 10 работает со значительными ошибками. Решил проверить целостность системных файлов с помощью средства sfc /scannow, но вышла ошибка «Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них». Как я понял, ошибка эта обозначает, что нарушена целостность самого хранилища системных компонентов Win 10 (папка WinSxS). Тогда решил проверить целостность этого самого хранилища командой Dism /Online /Cleanup-Image /ScanHealth, вышло сообщение «Хранилище компонентов подлежит восстановлению». Соответственно восстанавливаю хранилище командой Dism /Online /Cleanup-Image /RestoreHealth, данная команда восстанавливает хранилище компонентов с помощью Центра обновлений Windows, и у меня опять выходит ошибка «Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник»».
Непонятно, почему вылезла ошибка в этот раз, ведь интернет у меня есть. Ладно думаю, буду использовать для восстановления хранилища компонентов средство PowerShell и ISO-образ Windows 10, скачал дистрибутив Windows 10 и подсоединил его к виртуальному дисководу, запустил PowerShell и ввёл команду: Repair-WindowsImage -Online -RestoreHealth -Source F:\sources\install.wim:1 (где буква «F» соответствует букве подключенного образа с Win 10, а цифра «1» — индексу издания в образе Win 10 PRO (именно она у меня установлена), но и в очередной раз я потерпел неудачу — «Ошибка: 0x800f081. Сбой восстановления. Не найден источник восстановления, или хранилище компонентов восстановить невозможно».
На одном известном форуме подсказали, что не нужно подсоединять ISO-образ Windows 10 к виртуальному дисководу, а нужно смонтировать ISO-образ с файлами Win 10 в папку с помощью команды: Dism /Mount-Wim /WimFile:F:\sources\install.wim /index:1 /MountDir:C:\WIM /ReadOnly (где WIM, это пустая папка на диске C:, в которую монтируется ISO-образ, а F:\sources\install.wim — местонахождение файла-образа install.wim), но у меня и здесь уже при монтировании вышел промах «Ошибка: 11. Была сделана попытка загрузить программу, имеющую неверный формат».
Короче я сдался и не знаю, почему у меня ничего не получается.
Автор — Владимир
Привет, друзья. Цель данной статьи рассказать начинающим пользователям в подробностях, как производить восстановление повреждённого хранилища компонентов Windows 10 в различных критических ситуациях. Если вы хотите проверить целостность системных файлов в своей операционной системе, то поможет вам в этом встроенная утилита «sfc /scannow», но если она выдаст ошибку: «Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них»,
то значит в вашей OS нарушена целостность самого хранилища системных компонентов (содержимое папки WinSxS). В этом случае нужно проверить целостность хранилища компонентов командой «Dism /Online /Cleanup-Image /ScanHealth», если при данной проверке тоже будут выходить различные ошибки, например, «Хранилище компонентов подлежит восстановлению», «Ошибка: 1910 Не найден указанный источник экспорта объекта», «Ошибка: 1726 Сбой при удалённом вызове процедуры»,
то в этом случае нужно сначала восстановить хранилище компонентов, а уже затем восстанавливать целостность системных файлов с помощью «sfc /scannow», вот здесь начинается самое интересное, так как имеется очень много нюансов, давайте разберём их все.
Запускаем командную строку администратора и вводим команду:
Dism /Online /Cleanup-Image /RestoreHealth
Данная команда восстанавливает хранилище компонентов с помощью Центра обновлений Windows (у вас должен работать Интернет), отсутствующие компоненты будут скачаны на серверах Майкрософт и восстановлены в вашей системе. В итоге должны получить сообщение «Восстановление выполнено успешно».
Но если данная команда выдаст ошибку 0x800f0906 «Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник»» или
выйдет другая ошибка 0x800f081f «Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник»»,
то нужно использовать для восстановления хранилища ISO-образ Windows 10. Скачиваем дистрибутив Windows 10 на сайте Майкрософт и подсоединяем его к виртуальному дисководу (в моём случае (G:)), затем заходим в папку sources и смотрим какое сжатие у файла-образа Windows 10,
обычно бывает install.esd, запоминаем это, пригодится при вводе последующих команд (если в вашем случае попадётся файл install.wim, то читайте информацию в конце статьи).
соответственно вводим следующую команду:
Dism /Online /Cleanup-Image /RestoreHealth /Source:G:\Install.esd /limitaccess
где G: — буква виртуального дисковода с Windows 10,
Install.esd — файл-образ Win 10,
/limitaccess — параметр, закрывающий доступ к центру обновлений (ведь мы используем для восстановления дистрибутив Win 10)
В итоге получаем сообщение «Восстановление выполнено успешно. Операция успешно завершена».
Вот таким способом мы с вами восстановили повреждённое хранилище компонентов Windows 10.
Хранилище компонентов восстановлено, теперь восстанавливаем целостность системных файлов Windows 10 командой «sfc /scannow». Получаем сообщение «Программа защиты ресурсов Windows обнаружила повреждённые файлы и успешно их восстановила». Целостность системных файлов Windows 10 восстановлена.
Ещё один способ восстановления хранилища компонентов с помощью файла виртуального жёсткого диска VHD
Друзья, но хочу сказать вам, что в особо сложных случаях, при вводе команды:
Dism /Online /Cleanup-Image /RestoreHealth /Source:G:\Install.esd /limitaccess
вы опять получите ошибку, к примеру, «Ошибка: 1726 Сбой при удалённом вызове процедуры».
В этом случае нужно поступить так. Создать виртуальный жёсткий диск и распаковать на него содержимое файла-образа install.esd, после этого запустить команду:
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\Windows /limitaccess
Где D: — буква подсоединённого виртуального диска VHD с развёрнутыми файлами Windows 10.
в результате будет произведено восстановление хранилища компонентов за счёт распакованных на виртуальный диск VHD файлов операционной системы.
Идём в Управлении дисками и создаём виртуальный диск VHD. «Действие»—>«Создать виртуальный жёсткий диск»
Отмечаем пункт «Динамический расширяемый». Размер виртуального жёсткого диска — 20 Гб. Жмём на кнопку «Обзор».
Выбираем в проводнике место сохранения виртуального жёсткого диска. Я выберу диск (F:). Присваиваю имя виртуальному диску — «Win10» и жму кнопку «Сохранить».
«ОК»
Созданный виртуальный диск представляет из себя в Управлении дисками нераспределённое пространство (Диск 1) размером 20 Гб.
Щёлкаем на Диске 1 правой мышью и выбираем «Инициализировать диск»
По большему счёту всё равно какой пункт отмечать — MBR или GPT. Я отмечу пункт «Таблица с GUID разделов (GPT)» и жму «ОК»
После инициализации диска создаём на нераспределённом пространстве простой том.
Новый том (G:) создан.
Архивы операционной системы — install.esd или install.wim могут содержать в себе несколько других архивов (релизов) операционных систем (Про, Домашняя и т.д.) и этим образам присваиваются индексы 1, 2, 3, 4. Чтобы узнать, какие образы находятся внутри нашего файла install.esd, вводим команду:
Dism /Get-WimInfo /WimFile:G:\\sources\install.esd
Где G: буква виртуального дисковода с Windows 10,
sources\install.esd — адрес файла-образа install.esd в дистрибутиве Win 10.
На моём компьютере установлена Windows 10 PRO и именно её я хочу восстановить. Нужный мне образ Win 10 PRO имеет индекс 1.
Вводим команду:
Dism /apply-image /imagefile:G:\\sources\install.esd /index:1 /ApplyDir:D:\\
Где G:\sources\ — адрес расположения файла install.esd,
index:1 — индекс Windows 10 PRO,
D: — подключенный виртуальный диск VHD (раздел D:).
Операция успешно завершена.
Файл install.esd (Win 10 PRO) развёрнут на виртуальный диск VHD (раздел D:).
Ну и теперь восстанавливаем хранилище компонентов за счёт распакованных на виртуальный диск VHD (раздел D:) файлов операционной
системы Win 10, командой:
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\Windows /limitaccess
Восстановление выполнено успешно. Операция успешно завершена.
Вот таким ещё способом мы с вами восстановили повреждённое хранилище компонентов Windows 10! Теперь восстанавливаем целостность системных файлов Windows 10 командой «sfc /scannow».
В конце статьи вам пригодится такая информация. Если в ISO-образе Windows 10, в папке sourses, вам попадётся вместо файла install.esd файл install.wim, то команда восстановления немного изменится:
Dism /Online /Cleanup-Image /RestoreHealth /Source:G:\install.wim /limitaccess
Это команда восстановления хранилища компонентов.
Если при тех или иных действиях по восстановлению системных файлов и образа Windows 10 с помощью DISM вы видите сообщение об ошибках «Ошибка 14098 Хранилище компонентов повреждено», «Хранилище компонентов подлежит восстановлению», «Сбой DISM. Операция не выполнена» или «Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник», требуется выполнить восстановление хранилища компонентов, о чем и пойдет речь в этой инструкции.
Также к восстановлению хранилища компонентов прибегают в том случае, когда при восстановлении целостности системных файлов с помощью sfc /scannow команда сообщает о том, что «Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них».
Простое восстановление
Сначала о «стандартном» способе восстановления хранилища компонентов Windows 10, который работает в случаях, когда нет каких-то серьезных повреждений системных файлов, а сама ОС исправно запускается. С большой вероятностью помогает в ситуациях «Хранилище компонентов подлежит восстановлению», «Ошибка 14098. Хранилище компонентов повреждено» или при ошибках восстановления с помощью sfc /scannow.
Для восстановления выполните следующие простые шаги
- Запустите командную строку от имени администратора (для этого в Windows 10 можно начать набирать «Командная строка» в поиске на панели задач, затем нажать правой кнопкой мыши по найденному результату и выбрать «Запуск от имени администратора»).
- В командной строке введите следующую команду:
-
Dism /Online /Cleanup-Image /ScanHealth
- Выполнение команды может занять продолжительно время. После выполнения, если вы получаете сообщение о том, что хранилище компонентов подлежит восстановлению, выполните следующую команду.
-
Dism /Online /Cleanup-Image /RestoreHealth
- Если всё прошло гладко, то по завершении процесса (может «зависать», но настоятельно рекомендую дождаться окончания) вы получите сообщение «Восстановление выполнено успешно. Операция успешно завершена».
Если в итоге вы получили сообщение об успешном восстановлении, то все дальнейшие описываемые в этом руководстве методы вам не пригодятся — всё сработало должным образом. Однако, это не всегда так происходит.
Восстановление хранилища компонентов с использованием образа Windows 10
Следующий метод — использование образа Windows 10 для использования системных файлов с него для восстановления хранилища, что может пригодиться, например, при ошибке «Не удалось найти исходные файлы».
Вам потребуется: образ ISO с такой же Windows 10 (разрядность, версия), что установлена на вашем компьютере или же диск/флешка с нею. В случае, если используется образ, подключите его (правый клик по файлу ISO — подключить). На всякий случай: Как скачать Windows 10 ISO с сайта Майкрософт.
Шаги по восстановлению будут следующими (если из текстового описания команды что-то будет не ясно, обратите внимание на скриншот с выполнением описываемой команды):
- В подключенном образе или на флешке (диске) зайдите в папку sources и обратите внимание на находящийся там файл с именем install (самый большой по объему). Нам потребуется знать его точное имя, возможны два варианта: install.esd или install.wim
- Запустите командную строку от имени администратора и используйте следующие команды.
-
Dism /Get-WimInfo /WimFile:полный_путь_к_файлу_install.esd_или_install.wim
- В результате выполнения команды вы увидите список индексов и редакций Windows 10 в файле образа. Запомните индекс для вашей редакции системы.
- Для файла install.esd:
Dism /Online /Cleanup-Image /RestoreHealth /Source:путь_к_файлу_install:индекс /LimitAccess
для файла install.wim в команде используйте следующий вариант синтаксиса:
Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:путь_к_файлу_install:индекс /LimitAccess
Дождитесь завершения операции восстановления, которое, возможно, в этот раз пройдет успешно.
Исправление хранилища компонентов в среде восстановления
Если по той или иной причине восстановление хранилища компонентов не удается выполнить в запущенной Windows 10 (например, вы получаете сообщение «Сбой DISM. Операция не выполнена»), это можно сделать в среде восстановления. Я опишу способ с использованием загрузочной флешки или диска.
- Загрузите компьютер за загрузочной флешки или диска с Windows 10 в той же разрядности и версии, что установлена на компьютере или ноутбуке. См. Создание загрузочной флешки Windows 10.
- На экране после выбора языка внизу слева нажмите «Восстановление системы».
- Перейдите к пункту «Исправление неисправностей» — «Командная строка».
- В командной строке используйте по порядку 3 команды: diskpart, list volume, exit. Это позволит узнать текущие буквы разделов дисков, которые могут отличаться от тех, к которые используются в запущенной Windows 10. Далее используйте команды.
-
Dism /Get-WimInfo /WimFile:полный_путь_к_файлу_install.esd
Или install.wim, файл находится в папке sources на флешке, с которой вы загрузились. В этой команде мы узнаем индекс нужной нам редакции Windows 10.
-
Dism /Image:C:\ /Cleanup-Image /RestoreHealth /Source:полный_путь_к_файлу_install.esd:индекс
Здесь в /Image:C:\ указывается буква диска с установленной Windows При наличии отдельного раздела на диске под пользовательские данные, например, D, рекомендую также указать параметр /ScratchDir:D:\ как на скриншоте для использования этого диска под временные файлы.
Как обычно, дожидаемся окончания восстановления, с большой вероятностью в этот раз оно пройдет успешно.
Восстановление с распакованного образа на виртуальном диске
И еще один метод, более сложный, но также способный пригодиться. Использовать его можно как в среде восстановления Windows 10, так и в запущенной системе. При использовании метода необходимо наличие свободного пространства в объеме около 15-20 Гб на каком-либо разделе диска.
В моем примере будут использованы буквы: C — диск с установленной системой, D — загрузочная флешка (или подключенный образ ISO), Z — диск на котором будет создаваться виртуальный диск, E — буква виртуального диска, которая будет ему присвоена.
- Запустите командную строку от имени администратора (или запустите её же в среде восстановления Windows 10), используйте команды.
- diskpart
- create vdisk file=Z:\virtual.vhd type=expandable maximum=20000
- attach vdisk
- create partition primary
- format fs=ntfs quick
- assign letter=E
- exit
- Dism /Get-WimInfo /WimFile:D:\sources\install.esd (или wim, в команде смотрим на нужный нам индекс образа).
- Dism /Apply-Image /ImageFile:D:\sources\install.esd /index:индекс_образа /ApplyDir:E:\
- Dism /Online /image:C:\ /Cleanup-Image /RestoreHealth /Source:E:\Windows /ScratchDir:Z: (если восстановление производится в запущенной системе, то вместо /Image:C:\ используйте /Online)
И ожидаем в надежде на то, что в этот раз получим сообщение «Восстановление выполнено успешно». После проведения восстановления вы можете размонтировать виртуальный диск (в запущенной системе правый клик по нему — отключить) и удалить соответствующий ему файл (в моем случае — Z:\virtual.vhd).
Дополнительная информация
Если сообщение о том, что хранилище компонентов повреждено вы получаете при установке .NET Framework, а его восстановление описываемыми методами никак не влияет на ситуацию, попробуйте зайти в панель управления — программы и компоненты — включение или отключение компонентов Windows, отключить все компоненты .Net Framework, перезагрузить компьютер, а затем повторить установку.
Все способы:
- Способ 1: DISM без подключения образа
- Способ 2: DISM с использованием образа
- Способ 3: DISM с распаковкой WIM или ESD
- Вопросы и ответы: 1
Способ 1: DISM без подключения образа
Помимо ошибки «Хранилище компонентов подлежит восстановлению», на нарушения целостности хранилища также могут указывать сообщения «Хранилище компонентов повреждено», «Сбой DISM. Операция не выполнена» или «Не удалось найти исходные файлы…» в «Командной строке» при выполнении операции по восстановлению файлов средствами DISM. В большинстве случаев устранить проблему можно имеющимися в Windows 10 средствами.
- Запустите от имени администратора «PowerShell» или «Командную строку», если после получения ошибки консоль была закрыта.
- Убедитесь, что хранилище действительно нуждается в восстановлении, для чего выполните команду
Dism /Online /Cleanup-Image /ScanHealth
. - Выполните команду восстановления
Dism /Online /Cleanup-Image /RestoreHealth
.
Процедура займет некоторое время, дождитесь ее завершения, даже если будет казаться, что ничего не происходит. В случае успеха в консоли появится сообщение «Операция успешно завершена».
Способ 2: DISM с использованием образа
Если локальными средствами Windows 10 восстановить хранилище не удалось или DISM выдает сообщение об ошибке «Не удалось найти исходные файлы», подключите к системе установочный образ ISO той же версии и разрядности, что и установленная Windows. В этом случае файлы для восстановления хранилища будут браться из него. Вместо ISO-образа также можно использовать установочную флешку.
- Смонтируйте двойным кликом ISO-образ с Windows в «Проводнике», зайдите в папку «sources». Если работаете с флешкой, просто зайдите в папку «sources». Найдите в ней файл с названием «install» и посмотрите его расширение. Возможны два варианта: «.esd» и «.wim».
- Запустите от имени администратора «PowerShell» или «Командную строку».
- Откройте ESD- или WIM-образ, выполнив команду
Dism /Get-WimInfo /WimFile:полный_путь_к_файлу_install.esd_или_install.wim
. Команда вернет список редакций в образе с указанием их индексов. Запомните индекс нужной редакции. Например, если на компьютере установлена редакция Pro, то в подключенном образе также нужно выбрать редакцию Pro. - Выполните команду восстановления образа
Dism /Online /Cleanup-Image /RestoreHealth /Source:путь_к_файлу_install:индекс /LimitAccess
.
Процедура копирования оригинальных файлов займет некоторое время, дождитесь ее завершения. После этого консоль можно будет закрыть и размонтировать ISO-образ.
Способ 3: DISM с распаковкой WIM или ESD
Если при выполнении команды восстановления система выдает ошибку «Сбой при удаленном вызове процедуры» с кодом 1726, попробуйте этот способ. В нем используются те же средства DISM, что и во втором способе, разница лишь в том, что образ WIM или ESD предварительно распаковывается на виртуальный жесткий диск.
- Откройте оснастку «Управление дисками» из контекстного меню кнопки «Пуск».
- В меню «Действие» выберите опцию «Создать виртуальный жесткий диск».
- В открывшемся окошке формат диска оставьте «VHD» (по умолчанию), тип выберите «Динамически расширяемый», размер выделите 20-25 ГБ. Нажмите кнопку «Обзор».
- В окне «Проводника» укажите место для сохранения файла-контейнера виртуального диска и дайте ему произвольное имя. Нажмите «Сохранить».
- Сохраните настройки нажатием «ОК».
- В результате в «Управлении дисками» появится новый диск с нераспределенным пространством. Кликните по заголовку этого виртуального диска и выберите из контекстного меню «Инициализировать диск».
- В открывшемся диалоговом окошке инициализации нажмите «ОК». Стиль разметки значения не имеет.
- Кликните по инициализированному диску правой кнопкой мыши и выберите из меню «Создать простой том». Проследуйте указаниям мастера. Предложенная мастером буква тома значения не имеет, главное ее наличие. Для примера пусть это будет D.
- Смонтируйте установочный ISO-образ с Windows в «Проводнике» и определите индекс нужной редакции в файле «install.esd» или «install.wim» как было показано в Способе 2. Не закрывайте консоль.
- Разверните образ ESD или WIM на виртуальном диске, выполнив в консоли команду ниже, где G – буква смонтированного в «Проводнике» установочного ISO-образа Windows 10, D – буква созданного виртуального диска, а 1 – индекс нужной редакции.
Dism /apply-image /imagefile:G:\sources\install.esd /index:1 /ApplyDir:D:\
- После распаковки файлов образа на виртуальный диск выполните команду восстановления хранилища
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\Windows /limitaccess
.
После успешного восстановления образа созданный виртуальный диск можно будет отключить из контекстного меню в оснастке «Управление дисками». Файл-контейнер VHD с распакованным на него образом ISO также можно будет удалить за ненадобностью.
Наша группа в TelegramПолезные советы и помощь
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в 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 на полную без переустановки.
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM (Deployment Image Servicing and Management). Данные утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
Выполнить полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows (выполняется довольно долго от 10 до 30 минут) —
DISM /Online /Cleanup-Image /ScanHealth
В Windows 7 / Windows Server 2008 R2, чтобы работал параметр DISM /ScanHealth нужно установить отдельное обновление KB2966583 (x32) или KB2966583 (x64) (иначе при запуске DISM будет появляться “Ошибка 87. Параметр ScanHealth не распознан в этом контексте”). Кроме, того эта же команда в Windows 7 используется для проверки хранилища и восстановления системных файлов (нет ключей /CheckHealth и /RestoreHealth).
Если команда /ScanHealth возвращает ошибки:
Хранилище компонентов подлежит восстановлению (The component sore is repairable);
Ошибка: 1726. Сбой при удалённом вызове процедуры;
Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows 10 поврежден и его нужно восстановить.
Чтобы исправить ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов (библиотек) из центра обновлений Windows (на компьютере должен быть доступ в Интернет), выполните:
DISM /Online /Cleanup-Image /RestoreHealth
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена служба 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 в виртуальный привод F:. Для восстановления хранилища компонентов из образа используйте одну из команд:
DISM /online /cleanup-image /restorehealth /source:F:\sources\install.wim
Или:
DISM /online /cleanup-image /restorehealth /source:F:\sources\install.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:F:\sources\install.wim /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:F:\sources\install.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
В версии PowerShell в Windows 10 и Windows Server 2016/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните в PowerShell:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10:
Repair-WindowsImage -Online -RestoreHealth -Source F:\sources\install.wim:1
Где, 1 – индекс используемой у вас редакции Windows из WIM или ESD файла (список редакций Windows в WIM файле можно вывести так:
Get-WindowsImage -ImagePath "F:\sources\install.wim"
Источник: winitpro.ru