- Здравствуйте админ! На моём компьютере установлена Windows 7 и периодически на ней выходят различные ошибки, также система может зависнуть или перезагрузиться в самый неподходящий момент. Вы посоветовали мне проверить винду на вирусы и произвести проверку целостности системных файлов. Вирусов у меня не оказалось, а вот с проверкой целостности всё оказалось намного интересней. Запускаю командную строку от имени администратора и ввожу команду sfc /scannow и через некоторое время командная строка выдаёт: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов Windows 7. Знаю, что это самое хранилище можно в Windows 8.1, 10 восстановить с помощью системы обслуживания образов Dism, командами: Dism.exe /Online /Cleanup-image /ScanHealth и Dism.exe /Online /Cleanup-image /RestoreHealth. Думал, что в Windows 7 тоже так можно, ведь там есть Dism, но при вводе команды «Dism.exe /Online /Cleanup-image /ScanHealth» у меня выходит ошибка: «Ошибка 87. Параметр restorehealth не распознан в этом контексте».
- Здравствуйте админ! Произвожу восстановление целостности системных файлов Windows 7 с помощью sfc /scannow и выходит сообщение: «Для завершения восстановления системы требуется перезагрузка. Перезапустите систему Windows и выполните sfc еще раз», перезагружаюсь и опять тоже самое. Подумал, что это из-за повреждения хранилища компонентов Windows 7, хочу восстановить это хранилище, запускаю командную строку от имени администратора и ввожу команду: «Dism.exe /Online /Cleanup-image /ScanHealth» и выходит: «Ошибка 87. Параметр restorehealth не распознан в этом контексте». Что делать дальше?
Восстановление повреждённого хранилища системных компонентов возможно не только в Windows 8.1/10, но и в Windows 7
Привет друзья! В Windows 7, как и в Windows 8.1, 10 существует хранилище системных компонентов операционной системы — папка WinSxS, находящаяся по адресу C:WindowsWinSxS.
Если по каким-либо причинам (вирусы, системный сбой, нарушения в файловой системе) операционная система теряет важный системный файл, то этот файл тут же заменяется его работоспособной версией из хранилища системных компонентов (папки WinSxS).
При необходимости, пользователь сам может запустить проверку целостности системных файлов операционной системы с помощью командной строки (запущенной от администратора) командой sfc /scannow. Средство sfc произведёт проверку целостности системных файлов и если повреждения обнаружатся, то результат будет выглядеть так: «Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила», но в некоторых случаях ответ будет другим: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов операционной системы (папки WinSxS).
В этом случае вводим в командной строке (запущ. от администратора) команду:
Dism.exe /Online /Cleanup-image /ScanHealth
которая в свою очередь проверит и восстановит целостность самого хранилища системных компонентов
Windows 7.
Примечание: Начиная с Windows 8 операционная система получила возможность восстанавливать поврежденное хранилище компонентов с помощью системы обслуживания образов Dism. Для восстановления хранилища нужно ввести две команды:
Dism.exe /Online /Cleanup-image /ScanHealth — проверяет состояние целостности хранилища компонентов.
Dism.exe /Online /Cleanup-image /RestoreHealth — восстанавливает хранилище.
В Windows 7 тоже существует данная возможность, но в Windows 7 обе эти команды объединены в одну и для восстановления хранилища компонентов необходимо воспользоваться только командой
Dism /Online /Cleanup-Image /ScanHealth, но эта команда не сработает и вы получите ошибку: «Ошибка 87. Параметр ScanHealth не распознан в этом контексте», если в вашей Windows 7 не установлено обновление KB2966583.
Скачайте данное обновление KB2966583 по ссылке
https://support.microsoft.com/ru-ru/kb/2966583
выберите обновление в соответствии с разрядностью вашей операционной системы, например, у меня установлена Windows 7 64-бит, значит я скачаю пакет для всех поддерживаемых 64-разрядных версий Windows 7.
Загрузить пакет.
Выбираем язык — Русский и жмём Download.
Вы тут: Главная → Windows → Как исправить ошибки при установке обновлений Windows с помощью встроенного восстановления компонентов
В преддверии поступления Windows 8 в продажу Microsoft выпустила большое кумулятивное обновление KB2756872, чего никогда раньше не делала для клиентских операционных систем. Однако при установке обновления меня ждал неприятный сюрприз — ошибка 80073712.
Увеличить рисунок
Сегодня я расскажу о том, как победить эту и ряд других ошибок при установке обновлений Windows с помощью новой возможности обслуживания – встроенного восстановления компонентов (in-box corruption repair).
Эта запись открывает серию статей о нововведениях в обслуживании Windows. И нет, оно не имеет ничего общего с автоматическим обслуживанием с помощью планировщика. Сначала я покажу, как решил проблему с установкой обновления, а потом расскажу о технологии.
Устранение ошибок Windows Update, вызванных повреждением хранилища компонентов
В справке предыдущих ОС Microsoft для ошибки 80073712 есть описание, из которого следует, что причиной является повреждение хранилища компонентов. Для Windows Vista и Windows 7 была выпущена утилита System Update Readiness Tool (CheckSUR), призванная устранить целый ряд ошибок Windows Update.
Список исправляемых ошибок
Для исправления этих ошибок в Windows 8 и более новых ОС утилита CheckSUR не нужна, потому что все необходимое уже встроено в систему! Вы можете восстановить поврежденные компоненты с помощью командлета PowerShell (рекомендуемый способ) или утилиты DISM.exe.
Upd. 28-Jul-2015. Microsoft выпустила специальное обновление, которое привносит в Windows 7 возможность встроенного восстановления компонентов по аналогии с Windows 8+.
Этап 1 – восстановление поврежденного хранилища компонентов
Восстановление можно выполнить без установочного диска Windows, но в некоторых случаях он может вам понадобиться.
Восстановление без установочного диска
В этом случае используются файлы хранилища на локальном диске и Windows Update.
Запустите PowerShell от имени администратора и выполните команду:
Repair-WindowsImage -Online -RestoreHealth
Альтернативно, вы можете выполнить в командной строке, запущенной с правами администратора, команду:
Dism /Online /Cleanup-Image /RestoreHealth
Длительность процедуры восстановления зависит от конфигурации ПК и степени повреждения хранилища. У меня она заняла около 7 минут, а ее результат вы видите на рисунке ниже.
Увеличить рисунок
Состояние хранилища компонентов обозначается параметром Image Health State. У него Healthy означает, что с хранилищем компонентов все нормально. Для дальнейшей диагностики переходите к проверке целостности системных файлов чуть ниже ↓ Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.
Восстановление с помощью установочного диска
Когда системе не удается восстановить какие-либо компоненты, вам может помочь оригинальный установочный диск.
- Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
- В PowerShell выполните команду:
Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:sourcesinstall.wim:1
Здесь буква «E» соответствует букве подключенного образа, а цифра «1» — индексу издания в образе (в примере используется образ Windows 8 Enterprise с единственным изданием).
- По окончании процедуры убедитесь, что хранилище компонентов в порядке (Healthy).
Этап 2 – проверка целостности системных файлов
Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:
sfc /scannow
У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.
Увеличить рисунок
Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).
Этап 3 – установка обновления
Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.
Увеличить рисунок
Как видите, на сей раз у меня все сработало!
Рассказ вынесен в отдельную статью.
Преимущества встроенного восстановления компонентов Windows
Давайте сравним ключевые моменты восстановления компонентов в разных операционных системах.
Windows Vista и Windows 7
Утилита CheckSUR представляет собой набор полезных файлов, который регулярно обновляется по мере выхода новых исправлений. Таким образом, при возникновении проблем нужно скачивать утилиту заново, а между тем, сентябрьский пакет весит 350 Мб.
Но даже при таком размере в пакет не входят файлы для всех исправлений, выпущенных Microsoft (предположу, что файлов необязательных обновлений там нет). Это означает, что утилита не может устранить повреждения некоторых компонентов. И хотя обходной путь существует, он является костылем, требующим дополнительных телодвижений.
После запуска утилита распаковывает содержимое пакета в папку WindowsCheckSUR. Поскольку большинство файлов в пакете имеет очень небольшой размер, этот процесс получается длительным и занимает до 75-80% процентов от общего времени работы утилиты. Оставшееся время уходит на проверку компонентов и создание журнала.
И все это делается лишь ради того, чтобы восстановить манифесты и дать возможность системе обновиться…
Windows 8 и новее
Повреждение, как правило, означает пропажу манифеста или каталога. В отличие от CheckSUR, встроенная функция системы способна восстанавливать не только манифесты, но и все прочие составляющие компонентов. Это одно из важнейших преимуществ!
Кроме того:
- Все необходимые компоненты автоматически загружаются с Windows Update. С одной стороны – это самый актуальный источник компонентов, а с другой — от вас не требуется дополнительных действий.
- В дополнение к Windows Update или вместо него можно указать несколько источников компонентов, перечисляя WIM-образы в качестве параметров командной строки. Именно такой путь я описал выше для тех, кому не удастся обойтись только Windows Update. Например, если из г-сборки вырезаны необходимые компоненты, сочетание оригинального дистрибутива с Windows Update должно решить проблему.
- Windows периодически проверяет состояние компонентов в фоновом режиме и в случае неполадок помечает повреждение специальным флагом. Благодаря этому, с помощью консольных инструментов можно выполнить моментальную диагностику состояния хранилища компонентов.
Консольные средства для восстановления компонентов
Начиная с Windows 8, управление обслуживанием можно осуществлять не только с помощью утилиты DISM.exe, но и командлетов PowerShell, причем второй способ является рекомендуемым.
Я не любитель дублировать справку, но на русском языке ее пока нет. Поэтому я покажу вам основные возможности командлета Repair-WindowsImage, а для параметра Cleanup-Image утилиты DISM.exe ограничусь ссылкой на документацию.
Цель проверки (работающая система и образы)
Целью проверки может являться как установленная система, так и образ в формате WIM или VHD.
-Online
Проверяет работающую систему.
-Path
Проверяет подключенный автономный образ по указанному после параметра пути.
Проверка и восстановление хранилища
Для определения состояния и восстановления компонентов в командлете Repair-WindowsImage предусмотрены три параметра, выполняющих проверку хранилища. Результатом сканирования может быть:
- отсутствие повреждений (Healthy)
- наличие повреждений, которые можно восстановить (Repairable)
- наличие повреждений, которые нельзя восстановить (Not repairable)
Однако функции параметров отличаются.
-CheckHealth
Моментально проверяет, присутствует ли в системном реестре маркер, обозначающий повреждение. Этот маркер может появиться в процессе работы системы обслуживания.
-ScanHealth
Проверяет хранилище на предмет повреждений. Эта операция занимает больше времени, чем простая проверка маркера.
-RestoreHealth
Проверяет хранилище на предмет повреждений и выполняет их восстановление. Эта операция является самой длительной из трех.
Источник компонентов для восстановления
Чтобы восстановить компоненты, их нужно откуда-то взять. Когда источник не указан, при проверке автоматически используется локальное хранилище компонентов и Windows Update.
Этот момент нигде не задокументирован, и вы должны понимать, что при проверке автономного образа Windows из-под другого издания или версии Windows источник нужно указывать обязательно.
В обоих случаях вы можете указывать более одного источника и даже блокировать Windows Update при этом. Приведенные ниже параметры предназначены только для восстановления, и поэтому допустимы только в связке с -RestoreHealth.
-Source
В качестве источника можно использовать путь к:
- работающей системе, к которой имеется доступ по сети
- автономному образу, причем его предварительное подключение необязательно
Здесь любопытна возможность указать путь непосредственно к изданию в WIM-образе без его предварительного копирования на локальный диск и последующего подключения. Она является тайным знанием, пока не отраженным в документации Это работает благодаря функции автоматического подключения WIM, реализованной на последних стадиях разработки Windows 8.
Вы можете перечислить несколько путей через запятую. Дополнительные источники задействуются только в том случае, если в предыдущих не нашлось подходящих компонентов.
Когда в качестве источника используется WIM-образ, необходимо указать тип образа и его индекс:
-Source:WIM:Е:sourcesinstall.wim:1
-LimitAccess
Блокирует доступ к Windows Update во время проверки.
Примеры команд PowerShell
Я приведу несколько примеров практического использования командлета Repair-WindowsImage с разными целями и источниками проверки. Первые два вы уже видели в начале статьи.
Восстановление хранилища работающей системы, используя локальные файлы и Windows Update в качестве источника:
Repair-WindowsImage -Online -RestoreHealth
Восстановление хранилища работающей системы, используя Windows Update и WIM-образ в качестве источников:
Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:sourcesinstall.wim:1
Проверка хранилища автономного VHD-образа. Сначала он подключается в папку C:mount (это происходит очень быстро), а затем выполняется проверка.
Mount-Windowsimage -ImagePath C:vhdWin8.vhd -Index 1 -Path C:mount Repair-WindowsImage -Path C:mount -ScanHealth
Восстановление хранилища автономного VHD-образа, используя в качестве источника WIM-образ. Сначала VHD подключается в папку, затем выполняется восстановление образа, после чего VHD отключается с сохранением изменений.
Mount-Windowsimage -ImagePath C:vhdWin8.vhd -Index 1 -Path C:mount Repair-WindowsImage -Path C:mount -RestoreHealth -Source:WIM:Е:sourcesinstall.wim:1 Dismount-WindowsImage -path C:mount -Save
Результаты проверки и восстановления
Помимо результатов в консоли вы можете найти подробный отчет ближе к концу файла %WinDir%LogsDISMdism.log
В первой половине приведенного фрагмента видны конкретные компоненты и результат их восстановления (успех или неудача), а во второй – сводка об операции, включая время ее выполнения.
Посмотреть отчет из журнала DISM
Как видите, у меня были повреждены 7 манифестов, относящихся языковому пакету, что и стало препятствием к установке обновления Windows. Все повреждения были исправлены.
Безусловно, этот материал не подразумевает моментального практического применения, хотя проверить состояние хранилища компонентов Windows вы можете прямо сейчас. Более того, за три года работы в Windows 7 у меня ни разу не возникало проблем с установкой обновлений.
Однако ошибки Windows Update, связанные с повреждением хранилища, вовсе не редкость, даже если судить только по форуму OSZone. Поэтому важно знать, как бороться с ними.
Мне показалось, что часть аудитории блога откровенно заскучала от серии статей о современном интерфейсе Windows 8 и приложений. Конечно, там все примитивно, никаких технических тонкостей, а главное – у некоторых людей создается ощущение, что кроме Modern UI в Windows 8 нет ничего нового. Это не так…
Я давно планировал серию записей об изменениях в обслуживании Windows, а возникшая проблема с установкой обновления лишь форсировала публикацию, заодно вынудив меня изменить порядок статей в серии.
Вам хватило технических тонкостей сегодня?
Если нет, в следующей записи из этой серии вас ждет не только экскурс в историю инструментов обслуживания ОС Microsoft, но и уникальная возможность попробовать себя в роли г-сборщика Windows! Но до этого в блоге появятся записи на другие темы.
Поскольку в современных версиях операционной системы Windows (начиная с Vista) компонентная модель является одной из ключевых системных структур, обеспечивающих бесперебойную работу операционной системы, поддержание её в рабочем состоянии крайне критично для нормального функционирования исполнительной подсистемы Windows. Дело в том, что на протяжении жизненного цикла операционной системы, хранилище компонентов претерпевает постоянные изменения и время от времени может повреждаться. Основные причины рассогласованного состояния хранилища компонентов заключаются в том, что:
- в процессе обновления операционной системы могут повреждаться/удаляться файлы компонентов в местоположениях: %SYSTEMROOT%ServicingPackages и %SYSTEMROOT%WinSxS;
- в процессе обновления операционной системы могут повреждаться/удаляться ветви/ключи реестра по путям: HKLMComponents, HKLMSchema и HKLMSoftwareMicrosoftWindowsCurrentVersionComponent Based Servicing;
описанные причины могут быть следствием более глобальных сбоев:
- Ошибки при передаче файлов по сетевому интерфейсу;
- Ошибки дисковой/файловой подсистем;
- Аппаратные сбои: ошибки чтения/записи оперативной памяти, сбои в любых иных аппаратных компонентах;
- Ошибки в работе сторонних инструментов оптимизации: средства очистки реестра, оптимизации файловой системы, оптимизации хранилища компонентов, оптимизации каталога распространения и прч.
- Ошибки в коде модулей компонентов Центра обновления Windows;
Подобные дефекты хранилища компонентов WinSxS могут выявляться при попытках пользователя произвести обновление системы (например, через установку обновления безопасности):
Или же могут быть выявлены в процессе работы разнообразных диагностических и сервисных утилит (модули, входящие в состав Центра обновления Windows), о чем в лог-файлах нам красноречиво сигнализирует статус ERROR_SXS_COMPONENT_STORE_CORRUPT. Описанные выше проблемы впоследствии становятся причиной возникновения различного рода отказов установки обновлений. Чаще всего повреждаются *.cat
, *.mum
, *.manifest
и *.dll
-файлы. Все найденные методы восстановления хранилища компонентов я решил выделить в отдельные статьи, а тут попробовать организовать что-то вроде своеобразного хаба.
Этапы восстановления хранилища компонентов
Итак, для восстановления хранилища компонентов у нас в распоряжении имеется целая серия разнообразных методик. Рекомендуется выполнить в указанном порядке следующие действия:
- Запустить проверку целостности системных файлов командой: sfc /scannow. Если результатом явились сообщения о том, что утилита нашла ошибки, но не смогла восстановить ошибки в автоматическом режиме, то на данном этапе их можно проигнорировать.
- Произвести восстановления хранилища компонентов:
- для Windows 8/10+: Восстановление хранилища компонентов при помощи DISM
- для Windows Vista/7: Восстановление хранилища компонентов при помощи SURT
- Запустить утилиту SFCFix: Восстановление хранилища компонентов при помощи SFCFix
- Выполнить синхронизацию оригинальных файлов с рабочими папками и пересоздание жёстких ссылок повторным запуском команды: sfс /scannow.
- Произвести перезагрузку операционной системы
Дополнение: если на каком-либо из выполненных вами шагов (1-4) обнаружены поврежденные файлы, которые соответствующие утилиты не смогли автоматически восстановить, то рекомендации по восстановлению были даны в соответствующих статьях. Например утилита sfc может сообщать нам, что выявлены повреждения и она не смогла их устранить, то идем в статью про sfc и там изучаем раздел Анализ результатов (в нем даны рекомендации по ручному восстановлению файлов).
Ну и напоследок методики, напрямую не относящиеся к восстановлению хранилища компонентов, но позволяющие устранить некоторые ошибки, связанные с обновлениями:
- Сброс центра обновления Windows
Выводы
В общем случае, стратегия автоматического и ручного восстановления хранилища компонентов заключается в поэтапном выявлении поврежденных зависимостей, имен отсутствующих/поврежденных файлов и их планомерном восстановлении с использованием разнообразных методик. Иногда для проведения всех этих манипуляций в ручном режиме требуется довольно существенное время, поскольку чаще всего операции приходится повторять для каждого сбойного файла. Часто в этой кропотливой работе требуются еще и довольно хорошие знания устройства компонентной модели. Отдельно стоит отметить системы, представляющие собой «кастомные» любительские сборки, поскольку на них риск убить компонентную модель многократно повышается.
Теоретически, в самом крайнем случае, восстановление хранилища компонентов можно было бы провести путем переноса (с использованием LiveCD) с работоспособной машины (имеющей аналогичную версию операционной системы) следующих частей:
- Всех вложенных файлов/директорий в папке %WinDir%WinSxS;
- Всех вложенных файлов/директорий в папке %WinDir%Servicing;
- Все содержимое ветвей реестра: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing и HKEY_LOCAL_MACHINECOMPONENTS;
но на деле подобный глобальный поход может привести к падению системы в синий экран смерти, так что будьте предельно аккуратны!!
При попытке обновления компонентов системы по разным причинам могут возникать сбои, препятствующие выполнению процедуры. Нередко преградой становится ошибка 0x80073712, сообщающая о проблеме с инсталляцией пакетов, отсутствии или повреждении данных апдейта. Столкнуться с неприятностью можно в разных версиях Windows, ошибка не новая и в Microsoft о ней известно, при этом серьёзной угрозы сбой не представляет, и его легко устранить самостоятельно, не обращаясь за помощью к специалисту. Существуют варианты решения задачи, которые будут эффективны в зависимости от источника проблемы.
Причина ошибки 80073712
Возникающий в Windows код ошибки обновления 0x80073712 сообщает о невозможности получения доступа к определённым данным ввиду их отсутствия или нарушения целостности, что и является основной причиной. Факторы, приведшие к неработоспособности хранилища компонентов обновления, могут быть разными, например, часто ошибки спровоцированы некорректным выключением устройства в ходе выполнения таких задач как обновление или инсталляция ПО. Причина может заключаться и в сбоях работы Windows Update, для возвращения работоспособности софт требует перезапуска.
В некоторых случаях сбой вызван чрезмерной бдительностью защитного софта, определившего загружаемые апдейты как элементы вредоносного ПО и заблокировавшего их загрузку, в результате чего данные и не могут быть получены службой.
Способы решения и устранения 80073712
Если в процессе инсталляции накопительного обновления KB4598242, KB4598229 или другого крупного обновления появилась ошибка, вследствие чего пакет устанавливаться не будет, вы сможете справиться с устранением сбоя, выполнив необходимые шаги. Случайные системные ошибки могут исчезнуть после обычной перезагрузки, но в большинстве случаев от пользователя потребуется ряд действий для решения задачи.
В ранних версиях ОС вопрос решался путём применения специального средства проверки системы к обновлению CheckSUR, устраняющего в т. ч. проблемы с хранилищем компонентов. В случае с Windows 10 решение может быть найдено с применением штатных инструментов.
Разберём, как исправить ошибку 0x80073712, применяя доступные способы, которые эффективны в зависимости от источника проблемы.
Недостаток места на диске
Любым процессам, протекающим в системе, требуется место на диске, и, если системный раздел сильно загружен (на 90% и более), это может приводить к потере производительности и разного рода ошибкам. Чтобы избежать подобных проблем, следует очистить диск от программного мусора и приложений, которые не используются. Чтобы посмотреть занимаемый объём и очистить диск, выполним такие шаги:
Работа вирусов или антивирусов
Препятствовать выполнению системных процессов могут вредоносные программы. Выполняются стандартные профилактические мероприятия: сканирование установленным защитным софтом и специальными утилитами.
Но не только зловреды, но и защитное ПО может препятствовать системным процессам, принимая файлы за элементы вредоносного софта. В таком случае проблема решается отключением антивируса на время выполнения обновления системы.
Повреждение хранилища обновлений
Поскольку код 0x80073712 часто сообщает, что хранилище компонентов повреждено, следует рассматривать и такой сценарий. Временные данные обновлений вмещает каталог SoftwareDistribution и, если речь идёт о нарушении его целостности, ОС выдаёт ошибку. В отсутствие хранилища Windows создаёт новое в автоматическом режиме, поэтому целесообразно имитировать исчезновение каталога методом переименования объекта. Выполнение задачи возможно различными путями.
С помощью Проводника:
Посредством Командной строки:
- запускаем средство на администраторских правах из меню «Пуск»;
- запросами останавливаем службы:
net stop WuAuServ
net stop BITS(после каждого запроса подтверждаем выполнение действия клавишей ввода);
- командой rename переименовываем папку, указав к ней путь:
rename C:WindowsSoftwareDistribution SoftwareDistribution_old
и жмём Enter;
- активируем службы:
net start WuAuServ
net start BITS - закрываем терминал и перезагружаем устройство.
Запуск средства устранения неполадок
В Windows имеется встроенный инструмент, позволяющий избавиться от различных программных неисправностей, который в ряде случаев эффективно справляется с задачей. Применяется он и в случае проблем при обновлении, включая рассматриваемое уведомление, препятствующее процессу. Для применения инструмента:
Проверка ОС на целостность файлов
Если источником появления сбоя 0x80073712 является повреждённый или отсутствующий компонент, его восстановление поможет решить проблему. Для решения используем штатные инструменты системы: утилиты SFC и DISM.
Посредством System File Checker:
Сканирование посредством Deployment Image Servicing:
- открываем терминал и задаём команду DISM.exe/Online /Cleanup-image /Restorehealth, после которой нажмём «Ввод»;
- дожидаемся окончания сканирования. Инструмент автоматически исправит проблемы при обнаружении, а пользователю будет виден результат выполненной работе;
- перезагружаем устройство и пробуем установить апдейты.
Удаление ожидающего XML-файла
Спровоцировать сбой способны также остаточные элементы, в частности XML-файл, содержащий нужные для компонентов ОС сведения. Если он не самоустранился или был повреждён, при последующих инсталляциях пакетов вероятны проблемы, включая рассматриваемую неприятность. Решение заключается в принудительном удалении элемента, вследствие чего корректный файл создастся операционкой при старте поиска свежего ПО.
В Windows 10 поможет Командная строка:
- запустим терминал (администратор);
- останавливаем службу установщика модулей, применив запрос netstop trustedinstaller (жмём Enter);
- далее выполняем поочерёдно команды:
cd %windir%winsxs
takeown /f pending.xml /a
cacls pending.xml /e /g everyone:f
del pending.xml
(после каждого запроса жмём Enter на клавиатуре);
- перезагружаем девайс.
Перезапуск службы «Центра обновления Windows»
В ряде случаев эффективной становится перезагрузка некорректно работающей службы. Так, перезапустив Центр обновления Windows, возможно, получится исправить код 0x80073712. Выполним рестарт:
Сброс и обновление компонентов ОС
В «Десятке» решить проблему можно путём сброса компонентов, участвующих в инсталляции пакетов обновлений. Метод поможет, если какой-либо из них сбоит.
Выполняем сброс в терминале, применив запросы:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
ren %systemroot%SoftwareDistribution SoftwareDistribution.old
ren %systemroot%system32catroot2 catroot2.old
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
Удаление папки файлов обновлений
В SoftwareDistribution могут содержаться неполные или повреждённые данные. Это провоцирует некорректное функционирование службы обновлений. Исправить сбой возможно путём переименования папки (метод подробно описан выше) или её удаления. Для этого выполняем шаги:
- останавливаем службы обновления Windows и фоновой интеллектуальной передачи (в окне служб или консольными командами) – подробно эти действия описаны в инструкции по переименованию папки;
- идём в Проводник, перемещаемся в директорию C:WindowsSoftwareDistribution и очищаем содержимое;
- активируем отключённые ранее службы.
СОВЕТ. Если не удаётся удалить содержимое папки, перезагрузите девайс и вернитесь в каталог для выполнения задачи.
Если ни одно из рассмотренных решений не помогло, переходим к крайним мерам, таким как восстановление системы, вследствие чего гарантированно удастся избавиться от ошибки и установить необходимые обновления.
В современных версиях Windows, начиная с 7, есть встроенное средство проверки системных компонентов. Эта утилита относится к разряду служебных и помимо сканирования умеет восстанавливать те файлы, что были повреждены.
Признаки повреждения компонентов ОС довольно стандартны: BSOD, зависания, перезагрузки. При проверке командой sfc /scannow
пользователь также может получить следующее сообщение: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них». В такой ситуации имеет смысл воспользоваться встроенной системой обслуживания образов DISM.
В ходе запуска проверки у некоторых пользователей может возникнуть ошибка, связанная с отсутствием определенного пакета обновлений. Мы рассмотрим стандартный запуск DISM и устранение возможной проблемы использования этой служебной программы.
- Откройте командную строку от имени администратора: нажмите «Пуск», напишите
cmd
, кликните по результату ПКМ и выберите пункт «Запуск от имени администратора». - Впишите следующую команду:
DISM /Online /Cleanup-Image /ScanHealth
- Теперь потребуется подождать некоторое время, пока будет производиться проверка. Ее ход отображается в виде прибавляющихся точек.
Если все прошло хорошо, командная строка выдаст соответствующее сообщение с подробной информацией.
В некоторых случаях проверка завершится аварийно с ошибкой 87, сообщающей: «Параметр ScanHealth не распознан в этом контексте». Это происходит из-за отсутствующего обновления KB2966583. Следовательно, его потребуется установить вручную, чтобы получить возможность работы с DISM. Разберем, как это сделать.
- Перейдите на страницу загрузки необходимого обновления с официального сайта Microsoft по этой ссылке.
- Прокрутите страницу вниз, найдите таблицу с файлами для скачивания, выберите разрядность вашей ОС и нажмите на «Загрузить пакет».
- Выберите предпочитаемый язык, дождитесь автоматической перезагрузки страницы и нажмите на кнопку скачивания.
- Запустите скачанный файл, произойдет короткая проверка на наличие данного обновления на ПК.
- После этого появится вопрос, действительно ли вы хотите установить обновление KB2966583. Нажмите «Да».
- Начнется установка, подождите.
- По завершении закройте окно.
- Теперь снова попробуйте запустить восстановление поврежденного хранилища системных компонентов, выполнив шаги 1-3 из инструкции выше.
Теперь вы знаете, как пользоваться системой обслуживания образом DISM в обычных условиях и при ошибке, вызванной отсутствием установленного обновления.
Еще статьи по данной теме:
Помогла ли Вам статья?
Содержание
- 1 Восстановление повреждённого хранилища системных компонентов возможно не только в Windows 8.1/10, но и в Windows 7
- 2 Простое восстановление
- 3 Восстановление хранилища компонентов с использованием образа Windows 10
- 4 Исправление хранилища компонентов в среде восстановления
- 5 Восстановление с распакованного образа на виртуальном диске
- 6 Дополнительная информация
- 7 SFC /scannow: Проверка и восстановление системных файлов Windows
- 8 DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
- 9 Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
- 10 Восстановление хранилища компонентов оффлайн если Windows не загружается
Информация к новости
- Просмотров: 113 573
- Автор: admin
- Дата: 24-06-2016
24-06-2016
Категория: Windows / Восстановление Windows
- Здравствуйте админ! На моём компьютере установлена Windows 7 и периодически на ней выходят различные ошибки, также система может зависнуть или перезагрузиться в самый неподходящий момент. Вы посоветовали мне проверить винду на вирусы и произвести проверку целостности системных файлов. Вирусов у меня не оказалось, а вот с проверкой целостности всё оказалось намного интересней. Запускаю командную строку от имени администратора и ввожу команду sfc /scannow и через некоторое время командная строка выдаёт: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов Windows 7. Знаю, что это самое хранилище можно в Windows 8.1, 10 восстановить с помощью системы обслуживания образов Dism, командами: Dism.exe /Online /Cleanup-image /ScanHealth и Dism.exe /Online /Cleanup-image /RestoreHealth. Думал, что в Windows 7 тоже так можно, ведь там есть Dism, но при вводе команды «Dism.exe /Online /Cleanup-image /ScanHealth» у меня выходит ошибка: «Ошибка 87. Параметр restorehealth не распознан в этом контексте».
- Здравствуйте админ! Произвожу восстановление целостности системных файлов Windows 7 с помощью sfc /scannow и выходит сообщение: «Для завершения восстановления системы требуется перезагрузка. Перезапустите систему Windows и выполните sfc еще раз», перезагружаюсь и опять тоже самое. Подумал, что это из-за повреждения хранилища компонентов Windows 7, хочу восстановить это хранилище, запускаю командную строку от имени администратора и ввожу команду: «Dism.exe /Online /Cleanup-image /ScanHealth» и выходит: «Ошибка 87. Параметр restorehealth не распознан в этом контексте». Что делать дальше?
Восстановление повреждённого хранилища системных компонентов возможно не только в Windows 8.1/10, но и в Windows 7
Привет друзья! В Windows 7, как и в Windows 8.1, 10 существует хранилище системных компонентов операционной системы — папка WinSxS, находящаяся по адресу C:WindowsWinSxS.
Если по каким-либо причинам (вирусы, системный сбой, нарушения в файловой системе) операционная система теряет важный системный файл, то этот файл тут же заменяется его работоспособной версией из хранилища системных компонентов (папкиWinSxS).
При необходимости, пользователь сам может запустить проверку целостности системных файлов операционной системы с помощью командной строки (запущенной от администратора) командой sfc /scannow. Средство sfc произведёт проверку целостности системных файлов и если повреждения обнаружатся, то результат будет выглядеть так: «Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила», но в некоторых случаях ответ будет другим: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов операционной системы (папки WinSxS).В этом случае вводим в командной строке (запущ. от администратора) команду:Dism.exe /Online /Cleanup-image /ScanHealthкоторая в свою очередь проверит и восстановит целостность самого хранилища системных компонентовWindows 7.Примечание: Начиная с Windows 8 операционная система получила возможность восстанавливать поврежденное хранилище компонентов с помощью системы обслуживания образов Dism. Для восстановления хранилища нужно ввести две команды:Dism.exe /Online /Cleanup-image /ScanHealth — проверяет состояние целостности хранилища компонентов.Dism.exe /Online /Cleanup-image /RestoreHealth — восстанавливает хранилище.В Windows 7 тоже существует данная возможность, но в Windows 7 обе эти команды объединены в одну и для восстановления хранилища компонентов необходимо воспользоваться только командойDism /Online /Cleanup-Image /ScanHealth, но эта команда не сработает и вы получите ошибку: «Ошибка 87. Параметр ScanHealth не распознан в этом контексте», если в вашей Windows 7 не установлено обновление KB2966583.
Скачайте данное обновление KB2966583 по ссылке
https://support.microsoft.com/ru-ru/kb/2966583
выберите обновление в соответствии с разрядностью вашей операционной системы, например, у меня установлена Windows 7 64-бит, значит я скачаю пакет для всех поддерживаемых 64-разрядных версий Windows 7.
Загрузить пакет.
Выбираем язык — Русский и жмём Download.
Запускаем скачанное обновление
Да.
Выполняется установка обновлений.
Обновление установлено. Жмём Закрыть.
Теперь при вводе команды: «Dism /Online /Cleanup-Image /ScanHealth» произойдёт проверка и восстановление повреждённого хранилища системных компонентов Windows 7.
Статья по этой теме: Как восстановить целостность системных файлов Windows 7, если операционная система не загружается.
ВернутьсяКомментариев: 63 Дорогой посетитель, Вы можете задать на сайте любой вопрос и обязательно получите ответ!
Если при тех или иных действиях по восстановлению системных файлов и образа 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 в файле образа. Запомните индекс для вашей редакции системы.
-
Dism /Online /Cleanup-Image /RestoreHealth /Source:путь_к_файлу_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:sourcesinstall.esd (или wim, в команде смотрим на нужный нам индекс образа).
- Dism /Apply-Image /ImageFile:D:sourcesinstall.esd /index:индекс_образа /ApplyDir:E:
- Dism /image:C: /Cleanup-Image /RestoreHealth /Source:E:Windows /ScratchDir:Z: (если восстановление производится в запущенной системе, то вместо /Image:C: используйте /Online)
И ожидаем в надежде на то, что в этот раз получим сообщение «Восстановление выполнено успешно». После проведения восстановления вы можете размонтировать виртуальный диск (в запущенной системе правый клик по нему — отключить) и удалить соответствующий ему файл (в моем случае — Z:virtual.vhd).
Дополнительная информация
Если сообщение о том, что хранилище компонентов повреждено вы получаете при установке .NET Framework, а его восстановление описываемыми методами никак не влияет на ситуацию, попробуйте зайти в панель управления — программы и компоненты — включение или отключение компонентов Windows, отключить все компоненты .Net Framework, перезагрузить компьютер, а затем повторить установку.
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в 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:WindowsWinSxS).
Если команда 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 минут).
В Windows 7 / Windows Server 2008 R2, чтобы работал параметр DISM /ScanHealth нужно установить отдельное обновление KB2966583 (иначе при запуске DISM будет появляться “Ошибка 87. Параметр ScanHealth не распознан в этом контексте”). Кроме, того эта же команда в Windows 7 используется для проверки хранилища и восстановления системных файлов (нет ключей /CheckHealth и /RestoreHealth).
Если команда /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:sourcesinstall.wim
Или:DISM /online /cleanup-image /restorehealth /source:E:sourcesinstall.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:E:sourcesinstall.wim /limitaccess
Или:DISM /online /cleanup-image /restorehealth /source:E:sourcesinstall.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
Примечание. Для восстановления поврежденных файлов в хранилище компонентов из локального источника версия и редакция Windows в образе должна полностью совпадать с вашей.
Журнал сканирования и восстановления системных файлов утилиты DISM можно найти здесь: C:WindowsLogsCBS.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
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10:
Repair-WindowsImage -Online -RestoreHealth -Source E:sourcesinstall.wim:1
Где, 1 – индекс используемой у вас редакции Windows из WIM или ESD файла (список редакций Windows в WIM файле можно вывести так: Get-WindowsImage -ImagePath "E:sourcesinstall.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:sourcesinstall.wim
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например D:, на котором нужно создать пустой каталог:
mkdir c:scratch
и запустить восстановление хранилища компонентов командой:Dism /image:C: /Cleanup-Image /RestoreHealth /Source:D:sourcesinstall.wim /ScratchDir:F:scratch
Совет. Полезные параметры DISM, которые должен знать администратор:
-
DISM /Add-Package
– установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows; -
DISM /Get-Drivers
– получение списка установленных драйверов; -
DISM /Add-Driver
– добавление драйверов в образ; -
DISM /Add-Capability
– установка компонентов и RSAT; -
Dism.exe /StartComponentCleanup
– очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS); -
Dism /set-edition
– переход с ознакомительной Windows на полную без переустановки.
Используемые источники:
- https://remontcompa.ru/windows/vosstanovlenie-windows/1038-vosstanovlenie-povrezhdennogo-hranilischa-sistemnyh-komponentov-vozmozhno-ne-tolko-v-windows-81-10-no-i-v-windows-7.html
- https://remontka.pro/component-store-recover-windows-10/
- http://winitpro.ru/index.php/2019/07/08/dism-cleanup-image-restorehealth/