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

Друзья, хочу помочь вам с проблемой, которая возникает при наборе команд для решения некоторых проблем в командной строке. Допустим, вы решили , то нужно ввести в командной строке с повышенными привилегиями следующую команду: «Dism.exe /Online /Cleanup-Image /StartComponentCleanup». По мгновенному окончанию процесса мы видим ошибку следующего типа:

Ошибка: 14098
Хранилище компонентов повреждено

В этой статье я попробую разобраться, что можно сделать.

Исправляем: «Ошибка 14098 хранилище компонентов повреждено»?

Думаю, многие из вас знают, какое предназначение несет папка WinSxS и зачем уменьшать ее объем, когда требуется.

Данная папка хранит некоторые системные компоненты Windows. Под компонентами понимаются файлы, нужные для восстановления системы, другими словами, туда помещаются актуальные копии Windows. Таким образом, со временем данная папка может разрастись до объема в несколько десятков Гигабайт. Конечно, пользователи сразу прибегают к действиям, а именно использование командной строки и шантанного инструмента «Очистка диска». Второй вариант помогает не всегда, поэтому в игру вступает командная строка. Когда вводим вот такую команду Dism.exe /Online /Cleanup-Image /StartComponentCleanup, очищающую папку WinSxS, может появиться ошибка Хранилище компонентов повреждено. Ошибка: 14098 . Уж простите, что повторяюсь, но перейдем теперь к делу.

Из названия понятно, что повреждено какое-то хранилище, которое, причём, можно восстановить таким образом:

Давайте сначала поверим целостность системных файлов с помощью команды:

DISM /Online /Cleanup-Image /ScanHealth

И да, не забудьте запустить CMD от имени администратора.


На выходе мы скорее всего увидим сообщение, что «хранилище компонентов подлежит восстановлению».

Тогда набираем эту команду:

DISM /Online /Cleanup-Image /RestoreHealth



Вот мы и восстановили хранилище компонентов, с использованием того же самого инструмента, который выдавал нам ошибку 14098. По завершению восстановления вы должны увидеть сообщение, что операция успешно завершена.

Теперь перезагрузите компьютер, чтобы изменения вступили в силу, а после этого снова наберите команду для очищения папки WinSxS:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

Неработающие или работающие с ошибками приложения из Windows Store, проблемы в работе десктопной части Windows и нестабильность операционной системы в целом часто являются следствием повреждения важных системных файлов. Самый простой выход из ситуации, когда повреждены системные файлы – или к . Но такой ход требует наличия последних – если не в свежей редакции, то хотя бы в какой-нибудь. Если нет даже хоть какой-нибудь точки восстановления или резервной копии, прежде чем прибегать к радикальному решению проблемы в виде Windows, можно попробовать восстановить целостность ее системных файлов. Ниже рассмотрим 5 способов, как это сделать, при условии, что текущая Windows еще способна загружаться. Непосредственно самих способов восстановления целостности файлов Windows будет предложено лишь два, три остальные – это решения для ситуаций, усложненных необходимостью восстановления хранилища компонентов системы.

1. Восстановление целостности файлов Windows

Для выявления отсутствующих или поврежденных важных файлов системы и их восстановления Windows предусматривает штатную утилиту sfc.exe, работающую при помощи командной строки. Утилита заменяет поврежденные или отсутствующие файлы системы их оригиналами из специального хранилища компонентов, расположенного в папке «WinSxS» внутри каталога «Windows» на диске С. Запускаем от имени администратора командную строку и вводим:

Нажимаем Enter. После сканирования на предмет выявления подлежащих замене системных файлов они будут восстановлены.

Но это при успешном завершении операции. При повреждении содержимого самого хранилища операция завершится сообщением о невозможности восстановления некоторых из системных файлов. В таком случае прежде необходимо прибегнуть к восстановлению хранилища компонентов Windows, а затем уже проводить операцию по восстановлению файлов в их рабочие каталоги.

2. Восстановление хранилища системных компонентов: DISM

Чтобы восстановить хранилище оригиналов системных файлов, прибегнем к помощи утилиты для обслуживания образов Windows – DISM, также работающей посредством командной строки. В процессе восстановления хранилища утилита задействует службу обновлений Windows и загружает отсутствующие или поврежденные системные файлы с серверов Microsoft. Потому наличие Интернета – обязательное условие для успешного проведения операции.

Запускаем от имени администратора командную строку и вводим:

DISM /Online /Cleanup-Image /RestoreHealth

Нажимаем Enter. При успешной попытке проведения операции увидим соответствующее уведомление.

Теперь проводим операцию, рассмотренную в п. 1 статьи.

Может быть и так, что процесс проведения операции зависнет или завершится неудачей. Уведомление о неудачной попытке проведения операции будет, в частности, сопровождаться предложением указать путь, откуда можно взять данные для восстановления хранилища компонентов системы.

Процесс восстановления хранилища с указанием источника получения данных рассмотрим чуть позже, в п. 4 статьи.

3. Восстановление хранилища системных компонентов: PowerShell

Восстановить системные компоненты можно альтернативным способом – с помощью инструмента Windows PowerShell. Этот способ схож с предыдущим: для восстановления хранилища также задействуется служба обновлений Windows. И, соответственно, в этом случае также необходимо интернет-подключение. Способ с использованием PowerShell займет больше времени, чем предыдущий способ с участием утилиты DISM, но и сам процесс восстановления хранилища будет проводиться более досконально.

Запускаем от имени администратора PowerShell и вводим:

Repair-WindowsImage -Online -RestoreHealth

Нажимаем Enter. В случае успешного восстановления хранилища системных файлов получим такой вот отчет, как указан на скриншоте ниже, где, в частности, параметр «Image Health State» будет отмечен как «Healthy». И это означает, что хранилище системных файлов восстановлено. Теперь необходимо провести операцию, описанную в п. 1 статьи.

4. Восстановление хранилища системных компонентов: установочный диск Windows

К восстановлению хранилища компонентов Windows с указанием источника получения данных можно прибегнуть, если отсутствует Интернет или два предыдущих способа не принесли положительных результатов. Источник, откуда извлекаются данные для восстановления хранилища системных компонентов – это установочный диск соответствующей версии и редакции Windows. Это может быть физический установочный носитель – флешка или диск, а может быть ISO-образ с дистрибутивом. Последний необходимо смонтировать в виртуальный привод, вызвав на нем контекстное меню и выбрав команду «Подключить».

Подключаем флешку, диск или образ, запускаем от имени администратора PowerShell и вводим команду по типу:

Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim

В этой команде буква диска установочного носителя подлежит подстановке. В нашем примере это буква D, а вместо нее в каждом отдельном случае нужно подставить свою букву флешки, физического или смонтированного привода, как они значатся в проводнике Windows. После ввода команды нажимаем Enter.

По итогу проведения операции, как и в предыдущем случае, об успешном ее завершении будет свидетельствовать состояние «Healthy» параметра «Image Health State».

После восстановления хранилища запускаем операцию, рассмотренную в п. 1 статьи.

5. Обновление Windows 10

Восстановить целостность поврежденных системных файлов Windows 10 можно путем обновления системы посредством утилиты Media Creation Tool. Ее можно скачать на официальном сайте Microsoft . Обновление Windows 10 – самый длительный по времени, в то же время самый надежный способ вернуть операционной системе работоспособность. Процесс обновления Windows 10 по времени проходит примерно столько же, сколько и процесс ее переустановки. В рамках проведения этого процесса все поврежденные системные файлы будут перезаписаны, сохранятся данные пользовательского профиля, установленные программы и внесенные системные настройки, а на выходе получим свежайшую, со всеми установленными обновлениями Windows 10 Anniversary Update.

Запускаем Media Creation Tool. Принимаем лицензионные условия.

Выбираем «Обновить этот компьютер сейчас».

И ждать завершения процесса обновления.

Отличного Вам дня!

Можно ли восстановить полностью разрушенное\удаленное хранилище, БЕЗ переустановки всей системы?

У клиента забился весь системный диск и показалось, что WinSxS занимает много места, и была удалена.
На самом деле, в свежи установленной Win10, удаление 5,5 ГБ WinSxS освобождает только ~380 МБ . Все остальное жесткие ссылки.
Что же тогда там храниться? і

Хотел восстановить путем установки с install.wim образа, и выбором "Обновить с сохранение файлов ", но далее предложение перезапустить комп и продолжить восстановленик. А что продолжать - точки возврата и образы системы не создавались.
Т.о. НЕТ возможности восстановить путем установки с диска ?

Тогда заменил весь WinSxS из boot.wim и Win10 нормально стал запускаться. Стало интересно, и проверил: в 32bit Win10 все запускается, но в 64bit Win10 системе не запускаются 32bit приложения.

Но надо все же восстановить хранилище полностью. Тогда наткнулся на ваш сайт.

Кстати, в восстанавливаемом мной Win10 вообще нет powershell ни в Поиске, ни в Пуск_Меню, ни в Панели_Управления, хотя есть директория \Program Files\WindowsPowerShell но там ничего не удалось запустить. Думал найти и установить powershel,l но потратив 30 минут находил только руководства, на чем и прекратил тратить время.

Тогда просто в окне Аднин.cmd вставил powershell и получил его. У вас пропущен этот простой способ открытия powershell

Пытался пока без успеха восстановить хранилище полностью, и в работающей системы с урезанным WinSxS:
------
>
>
Cистема DISM
Версия: 10.0.10240.16384
Версия образа: 10.0.10240.16384
[==========================100.0%==========================]
Ошибка: 0x800f081f
Не удалось найти исходные файлы.
Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра "Источник".
------

И в powershell
>

строка:1 знак:1
+ Repair-WindowsImage -Online -RestoreHealth
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

---------------
и с других работающих систем:

>

Repair-WindowsImage: Системе не удается найти указанный путь.
строка:1 знак:1
+ Repair-WindowsImage -Path e: -RestoreHealth -Source R:\sources\instal ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) , COMException
+ FullyQualifiedErrorId: Microsoft.Dism.Commands.RepairWindowsImageCommand

с тем же успехом. Может что не так делаю?

Читал выше о таких же отказах, и тоже хочется докопаться до истины. Для этого установил Win10 в 12ГБ vhd образ - одну копию запорю, берусь за другую.
Кстати, может посоветуете как и чем сравнить скорость системы с vhd образа и с диска.

Имею дело только с пиратками, но все описанное нормально проходило на других Win10. Даже например, с ru_windows_10_enterprise_2015_ltsb_x64 на вчера скачанную с центра обновления Win10ProRU и обратно. Т.ч. проблема не в пиратках, а где-то в нарушенных файлах идентификации.

И как все же правильно в таком случае: "ISO-образ винды задействуйте"?

P.S. После копирования в разрушенную Win10 всей WinSxS с установленного в vhd со вчера скачанного 64bit Win10 образа - все запускается и работает.
Но приведенные выше проверки НЕ работают .

Почитал еще ваши полезнавательные статьи, но так пока и не получилось исправить до конца систему с "тронутой" WinSxS. Видно что-то меняется в настройках.

C работающей или с другой ОС:
>sfc /scannow
>sfc /scannow /offbootdir=C:\w10\ /offwindir=E:\Windows
Защите ресурсов Windows не удается запустить службу восстановления .

>Dism /Online /Cleanup-Image /RestoreHealth
>Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:R:\sources\install.wim:1 /limitaccess
>Repair-WindowsImage -Online -RestoreHealth
>Repair-WindowsImage -Path e: -RestoreHealth -Source R:\sources\install.wim -Debug -Verbose
>Repair-WindowsImage -Path e: -RestoreHealth -Source C:\w10\ -Debug -Verbose
ПОДРОБНО: Версия 10.0.0.0 командлетов PowerShell системы DISM
Repair-WindowsImage: Системе не удается найти указанный путь.
строка:1 знак:1
+ Repair-WindowsImage -Path e: -RestoreHealth -Source C:\w10\ -Debug -V ...

Других комбинаций пока не вижу.

Так можно ли восстановить разрушенное\удаленное хранилище или путем восстановления с диска установки, или командами?

И еще может знаете - для образа *.vhd, diskmgmt без выбора создает Block_size 2МВ, сектор 512, а BOOTICE.exe для *.vhd Block_size 2МВ, сектор 512 (или 4096), а для *.vhdx предлагает Block_size 32МВ, сектор 512 (или 4096).
С сектором понятно - на каждом файле теряется 1/2 размера сектора, но меньше секторов (больших) легче обрабатывать.
Но как влияет и какой оптимальный Block_size для образов под Windows-10 размером 10-25 ГБ?

Заранее благодарен за любую информацию.

P.S.S. При первой отправке у меня выдернулся сетевой кабель и отправка зависла. Вставил кабель, посмотрел - моего поста не было, Тогда повторил. А сейчас добавляю, и вижу 2 поста. Уберите пожалуйста первый.

После добавления полной WinSxS, powershell появился в Поиске

Возвращаясь к технологии хранилища компонентов (Component Store)в Windows 8 рассмотрим сценарии его восстановления. Напомним, что начиная с Windows Vista Microsoft ввела концепцию компонентного обслуживания ОС (component based servicing). Благодаря компонентной структуре удалось добиться создания более стабильной системы установки/удаления обновлений, патчей и пакетов обновлений SP. Эта же система лежит в основе архитектуры Windows 8. Файлы хранилища компонентов Windows на диске располагаются в каталоге \ Windows \ WinSxS , имеющего свойство со временем значительно разрастаться в размерах (подробнее о том, почему размер этого каталога со временем растет и как уменьшить размер папки WinSxS читайте в ).

Однако в некоторых случая хранилище компонентов может повреждаться, что приводит к проблемам при установке обновлений Windows и другого ПО Microsoft. Для восстановления хранилища компонентов в предыдущих версиях Windows (Windows Vista, Windows 7, Windows Server 2008 /R2) Microsoft разработала специальную утилитуCheckSUR или System Update Readiness Tool (KB947821). Данная утилита является достаточно большой по размеру (более 350 Мб), и по мере выход новых обновлений Windows регулярно обновляется. Это означает, что каждый раз приходится выкачивать свежую версию CheckSUR .

Совет . В одной из предыдущих статей мы уже рассматривали пример использования CheckSUR для поиска и восстановления поврежденных компонентов: .

Что же делает данная утилита? System Update Readiness Tool проверяет целостность следующих ресурсов:

    Файлы в каталогах:
  • %SYSTEMROOT%\Servicing\Packages
  • %SYSTEMROOT%\WinSxS\Manifests
    Содержимое веток реестра:
  • %SYSTEMROOT%\WinSxS\Manifests
  • HKEY_LOCAL_MACHINE\Schema
  • HKEY_LOCAL_MACHINE\Components
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

В том случае, если утилитой CheckSUR будут обнаружены ошибки или несоответствия, она попытается их восстановить.

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

Список ошибок WindowsUpdate, вызванных повреждением хранилища компонентов

Code Error Description
0×80070002 ERROR_FILE_NOT_FOUND The system cannot find the file specified.
0x8007000D ERROR_INVALID_DATA The data is invalid.
0x800F081F CBS_E_SOURCE_MISSING The source for the package or file not found.
0×80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT The component store is in an inconsistent state.
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH A component’s file does not match the verification information present in the component manifest.
0x800705B9 ERROR_XML_PARSE_ERROR Unable to parse the requested XML data.
0×80070246 ERROR_ILLEGAL_CHARACTER An invalid character was encountered.
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR An identity string is malformed.
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME The name of an attribute in an identity is not within the valid range.
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE The value of an attribute in an identity is not within the valid range.
0×80070057 ERROR_INVALID_PARAMETER The parameter is incorrect.
0x800B0100 TRUST_E_NOSIGNATURE No signature was present in the subject.
0×80092003 CRYPT_E_FILE_ERROR An error occurred while Windows Update reads or writes to a file.
0x800B0101 CERT_E_EXPIRED A required certificate is not within its validity period when verifying against the current system clock or the time stamp in the signed file.
0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE One or more required members of the transaction are not present.
0×80070490 ERROR_NOT_FOUND Windows could not search for new updates.

В Windows 8 и Windows Server 2012 функционал, аналогичный утилите CheckSUR, уже встроен в систему и называется Inbox Corruption Repair (встроенное восстановление компонентов). Встроенное восстановление компонентов может работает в двух режимах: фоновом и ручном . Фоновое восстановление автоматически запускается в случае появления ошибок при попытке установить обновление Windows Update. Windows в этом случае автоматически пытается исправить поврежденный компонент и переустановить пакет Windows Update. В том случае, если автоматическое восстановление не может самостоятельно исправить проблему, администратор может исправить ошибки вручную, восстановив работоспособное состояния хранилища компонентов. Сделать это можно с помощью утилиты обслуживания образа DISM (команда Dism /Online /Cleanup-Image )или с помощью Powershell (командлет Repair-WindowsImage).

Чтобы проверить состояние хранилища компонентов, откройте командную строку с повышенными привилегиями и выполните:

Dism /Online /Cleanup-Image /CheckHealth

Советы .

  1. DISM в отличие от большинства утилит Windows чувствительна к регистру символов.
  2. Команда Dism /Cleanup-Image сохраняет логи в каталогах C:\Windows\Logs\CBS\CBS.log и C:\Windows\Logs\DISM\dism.log

Аналогичная команда Powershell:

Repair-WindowsImage -Online -CheckHealth

Проверка CheckHealth займет несколько минут. Как вы видите, текущий статус хранилища компонентов в образе – Healthy (Здоровый), т.е. восстановление не требуется.

В том случае, если будут обнаружены какие-то проблемы или ошибки, следует запустить процедуру восстановления хранилища командой:

Dism.exe /Online /Cleanup-Image /Restorehealth

Аналогичная Powershell команда:

Repair-WindowsImage -Online -RestoreHealth

В данном примере восстановление системных файлов прошло успешно:

The restore operation completed successfully. The component store corruption was repaired.

В том случае, если система самостоятельно не смогла восстановить некоторые компоненты в хранилище, вам может понадобится дистрибутив (установочный диск) Windows 8. Вставьте данный диск в привод или . Допустим, диску с дистрибутивом назначена буква E. Получим список доступных версий Windows 8 на диске с помощью команды PoSH:

Get-WindowsImage -ImagePath E:\sources\install.wim

В данном примере, мы видим, что на диске имеется только один образ (Windows 8 Pro) с индексом 1 (Index: 1).

Следующая команда запустит восстановление хранилища с восстановлением повреждённых компонентов из оригинального образа Windows 8:

Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1

После завершения восстановления удостоверьтесь, что хранилище компонентов находится в работоспособном состоянии (статус: Healthy)

Следующий (не всегда обязательный этап) – проверка целостности системных файлов с помощью команды:

Sfc /scannow

Совет . Если к восстановлению хранилища компонентов вы прибегли из-за проблем с установкой обновлений Windows, перезапустите службу Windows Update и сбросьте локальных кэш обновлений. Для этого в командной строке последовательно выполните следующие команды:

Net stop wuauserv net stop bits net stop cryptsvc ren %systemroot%\SoftwareDistribution oldSD ren %systemroot%\System32\catroot2 oldCat2 net start cryptsvc net start bits net start wuauserv