Если при тех или иных действиях по восстановлению системных файлов и образа 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, перезагрузить компьютер, а затем повторить установку.
Здравствуйте! Прочитал статью на вашем сайте «Как очистить папку WinSxS в Windows 10», но в моём случае, при вводе в командной строке «Dism.exe /Online /Cleanup-Image /StartComponentCleanup» выходит ошибка «Хранилище компонентов повреждено. Ошибка: 14098»
Что делать?
Хранилище компонентов повреждено. Ошибка: 14098
Привет друзья! В предыдущей статье мы с вами узнали предназначение папки WinSxS в операционной системе и то, как уменьшить её размер в случае необходимости. В двух словах напомню о чём шла речь.
В операционных системах Windows существует полезная системная папка WinSxS (хранилище компонентов Windows), содержащая в себе копии оригинальных файлов Windows, которые OS использует для своего восстановления, но есть у этой папки одно неприятное свойство — может она разрастаться до огромных размеров (20-30 Гб), в этом случае пользователи прибегают к очистке папки WinSxS с помощью командной строки или встроенной в Windows утилиты «Очистка диска», во втором случае результат часто получается менее эффективным, поэтому большая часть пользователей использует командную строку и команду «Dism.exe /Online /Cleanup-Image /StartComponentCleanup», в результате у некоторых пользователей выходит ошибка «Хранилище компонентов повреждено. Ошибка: 14098», происходит это на самом деле по вине повреждённого хранилища компонентов Windows 10! Данное хранилище можно восстановить. Восстановление происходит таким образом.
{banner_google1}
Во-первых, проверяем целостность хранилища оригинальных компонентов Windows 10 командой
Dism /Online /Cleanup-Image /ScanHealth
Как видим, хранилище компонентов подлежит восстановлению,
вводим следующую команду:
Dism /Online /Cleanup-Image /RestoreHealth
При выполнении данной команды произойдёт восстановление хранилища компонентов с помощью средства Dism, использующего для получения отсутствующих файлов — «Центр обновления Windows»
После операции восстановления хранилища компонентов обязательно перезагружаемся и опять вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
очищаем папку WinSxS. Вот и всё!
Операция успешно завершена
Друзья, данный способ работает, если у вас есть интернет, так как при восстановлении хранилища компонентов используется «Центр обновления Windows», но если у вас отсутствует интернет, то для восстановления целостности папки WinSxS можно использовать оригинальный ISO-образ Windows 10. Как это сделать, читайте в следующей статье «Восстановление повреждённого хранилища компонентов Windows 10 с помощью 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 для поиска и восстановления поврежденных компонентов: 0x800F0818 — ошибка при ролей в Windows Server 2008 R2.
Что же делает данная утилита? 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
Советы.
- DISM в отличие от большинства утилит Windows чувствительна к регистру символов.
- Команда 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. Вставьте данный диск в привод или смонтируйте его iso образ. Допустим, диску с дистрибутивом назначена буква 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
, где 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
DISM (Deployment Image Servicing and Management) is a command-line tool that users or administrators can use to mount and service a Windows desktop image. With the use of DISM, users can alter or update Windows features, packages, drivers etc. DISM is a part of Windows ADK (Windows Assessment and Deployment Kit), easily downloaded from Microsoft website.
Now coming back to question why we are talking so much about DISM, well the problem is while running DISM tool users are facing an error message “Error: 14098, The component store has been corrupted” which has led to the corruption of several features of Windows. The main cause behind the DISM Error 14098 is a corruption of Windows Update Components due to which DISM doesn’t work either.
Users are not able to fix their PC, and Windows Update doesn’t work as well. Apart from this, several crucial Windows function stopped working, which are giving users a nightmare. So without wasting any time let’s see How to Fix DISM Error 14098 Component Store has been corrupted with the help of the below-listed guide.
Make sure to create a restore point just in case something goes wrong.
Method 1: Run StartComponentCleanup Command
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
Dism.exe /online /Cleanup-Image /StartComponentCleanup
3. Wait for the command to process, then restart your PC.
Method 2: Reset Windows Update Components
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter after each one:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
3. Delete the qmgr*.dat files, to do this again open cmd and type:
Del “%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat”
4. Type the following into cmd and hit Enter:
cd /d %windir%\system32
5. Reregister the BITS files and the Windows Update files. Type each of the following commands individually in cmd and hit Enter after each one:
regsvr32.exe atl.dll regsvr32.exe urlmon.dll regsvr32.exe mshtml.dll regsvr32.exe shdocvw.dll regsvr32.exe browseui.dll regsvr32.exe jscript.dll regsvr32.exe vbscript.dll regsvr32.exe scrrun.dll regsvr32.exe msxml.dll regsvr32.exe msxml3.dll regsvr32.exe msxml6.dll regsvr32.exe actxprxy.dll regsvr32.exe softpub.dll regsvr32.exe wintrust.dll regsvr32.exe dssenh.dll regsvr32.exe rsaenh.dll regsvr32.exe gpkcsp.dll regsvr32.exe sccbase.dll regsvr32.exe slbcsp.dll regsvr32.exe cryptdlg.dll regsvr32.exe oleaut32.dll regsvr32.exe ole32.dll regsvr32.exe shell32.dll regsvr32.exe initpki.dll regsvr32.exe wuapi.dll regsvr32.exe wuaueng.dll regsvr32.exe wuaueng1.dll regsvr32.exe wucltui.dll regsvr32.exe wups.dll regsvr32.exe wups2.dll regsvr32.exe wuweb.dll regsvr32.exe qmgr.dll regsvr32.exe qmgrprxy.dll regsvr32.exe wucltux.dll regsvr32.exe muweb.dll regsvr32.exe wuwebv.dll
6. To reset Winsock:
netsh winsock reset
7. Reset the BITS service and the Windows Update service to the default security descriptor:
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
8. Again start the Windows update services:
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
9. Install the latest Windows Update Agent.
10. Reboot your PC and see if you’re able to Fix DISM Error 14098 Component Store has been corrupted error.
Recommended:
- Fix Imaging Devices Missing From Device Manager
- How to set Default Location of your PC
- Completely Uninstall Grove Music From Windows 10
- Fix Bluetooth not working after Windows 10 Creators Update
That’s it you have successfully Fix DISM Error 14098 Component Store has been corrupted error but if you still have any questions regarding this post then feel free to ask them in the comment’s section.
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .