sonyps4.ru

Восстановление поврежденного хранилища компонентов windows 7. Восстанавливаем поврежденное хранилище компонентов

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

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

Когда вы сканируете систему на целостность компонентов, то при обнаружении повреждённых файлов происходит их замена на рабочие из . Может быть данная папка удалена или файлы, находящиеся в ней, повреждены, тогда вы увидите сообщение, что «программа защиты ресурсов обнаружила поврежденные файлы…» .

Как восстановить поврежденное хранилище компонентов при помощи Power Shell

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

DISM /Online /Cleanup-Image /RestoreHealth

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

Нажмите на значок поиска на панели задач, а потом введите фразу «PowerShell» , из результатов выбираем пункт «Windows PowerShell» , нажимаем по нему правой кнопкой мыши и щелкаем по варианту «Запустить от имени администратора» .

В открывшемся окошке вводим такую команду:

Repair-WindowsImage -Online -RestoreHealth


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

Если все прошло успешно, то в результатах вы должны заметить строчку:

ImageHealth State: Healthy


Она означает, что все восстановлено.

Что делать при отсутствии интернета для восстановления хранилища компонентов?

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

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

Снова возвращаемся в PowerShell и вводим следующую команду:

Dism /Get-WimInfo /WimFile:R:\sources\install.wim , где R: буква созданного образом привода, с установочными файлами Windows 10. Данная команда определит, что за образ системы находится в виртуальном дисководе.


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

Буква R – это наш привод, а цифра 1 – индекс образа из первой команды.

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

Эта документация перемещена в архив и не поддерживается.

Управление хранилищем компонентов

Многие пользователи Windows задают вопрос: "Почему папка WinSxS такая большая?" Этот вопрос обсуждался в блогах, но в этом разделе рассматриваются дополнительные сведения о принципах, на которых основано хранилище компонентов (в частности, папка WinSxS), а затем даются ссылки на разделы, где описываются способы ограничения размера папки WinSxS.

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

Хранилище компонентов Windows и папка WinSxS

Папка WinSxS расположена в папке Windows, например: c:\Windows\WinSxS . Это расположение для файлов хранилища компонентов Windows. Хранилище компонентов Windows поддерживает выполнение функций, необходимых для настройки и обновления Windows. Вот несколько примеров использования файлов из хранилища компонентов Windows.

    Использование Центра обновления Windows для установки новых версий компонентов. Это обеспечивает защиту и актуальность систем.

    Включение и отключение компонентов Windows.

    Добавление ролей и компонентов с помощью диспетчера сервера.

    Перемещение систем между различными выпусками Windows.

    Восстановление системы после повреждения или неудачной загрузки.

    Удаление проблемных обновлений.

    Выполнение программ с использованием параллельных сборок.

Хранилище компонентов Windows впервые появилось в Windows XP для поддержки параллельных сборок. Начиная с Windows Vista хранилище компонентов было улучшено для отслеживания и обслуживания всех компонентов, составляющих операционную систему. Эти различные компоненты операционной системы отслеживают такие объекты, как файлы, каталоги, разделы реестра и службы. Конкретные версии компонентов часто объединяются в пакеты. Пакеты используются в Центре обновления Windows и программой DISM для обновления Windows. Компоненты и пакеты, используемые в процессе установки Windows, обрабатываются хранилищем компонентов Windows. Определение размера хранилища компонентов Windows усложняется тем, что многие используемые Windows файлы находятся в каталогах за пределами хранилища компонентов Windows с применением метода жесткой связи . В некоторых случаях файлы определенной версии компонента встречаются и в хранилище компонентов Windows, и вне его. С помощью жестких связей в Windows может создаться впечатление хранение нескольких копий одного файла без расхода фактического места на размещение нескольких копий.

Жесткие связи

Жесткая связь – это объект файловой системы, который позволяет двум файлам ссылаться на одно расположение на диске. Это значит, что несколько файлов могут ссылаться на одни и те же данные, а изменения этих данных в одном файле отражаются на других файлах. Это усложняет подсчет размера каталогов, как показано в следующем примере.

    Каталог А содержит три файла: 1.txt, 2.txt и 3.txt.

    Каталог Б содержит один файл: 4.txt.

    Файлы 1.txt и 2.txt соединены жесткой связью и содержат 1 МБ данных.

    Файлы 3.txt и 4.txt также соединены жесткой связью и содержат 2 МБ данных.

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

Какой размер имеет каталог А?

Ответ зависит от того, что вы планируете делать с каталогом А.

    При считывании файлов в каталоге А размер всех считанных файлов будет суммой размеров каждого файла. В данном примере это будет 4 МБ.

    При копировании всех файлов из каталога А в новое расположение объем копируемых данных будет суммой всех данных, участвующих в жестких связях с файлами. В данном примере это будет 3 МБ.

    При освобождении места путем удаления каталога А размер будет уменьшен только на объем файлов, которые участвуют в жесткой связи только в каталоге А. В данном примере можно будет освободить 1 МБ.

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

Возникли проблемы с Windows 10 и не можете их исправить? Повреждены системные файлы и традиционная команда sfc /scannow не работает? Посмотрите, как использовать функцию DISM для исправления поврежденных системных файлов или восстановления их с оригинального образа системы без повторной установки Windows 10.

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

Эта функция предназначена для исправлений и подготовки образов WIndows, таких как загрузочного диска ОС, средств восстановления системы и т. д. С помощью этих образов можно переустановить или восстановить систему в случае возникновения проблем. При использовании утилиты SFC для сканирования и восстановления диска, возникшие проблемы с поврежденными файлами решаются только с помощью соответствующего образа из хранилища компонентов на жестком диске. Когда этот образ поврежден, система не может извлечь из хранилища компонентов системные файлы и, следовательно, не способна восстановить их с помощью функции SFC. Именно в этом случае, нам поможет утилита DISM, которая решит проблему с образами для восстановления и позволит функции SFC корректно завершить свою работу.

Как использовать утилиту DISM?

Восстановить системные файлы через утилиту не сложно. Этим приложением можно восстановить компоненты по тому же самому принципу, как с помощью SFC через командную строку. Для вызова командной строки нажмите комбинацию клавиш Windows + X и в появившемся меню выберите пункт «командная строка (администратор). Затем в консоли нужно ввести команду DISM с соответствующими параметрами.

До команды DISM можем дописать дополнительные параметры, с помощью которых можно выполнить проверку, сканирование и восстановление образов различными способами. Рассмотрим наиболее важные комбинации.

DISM с параметром CheckHealth

В консоли командной строки введите следующую команду:

DISM /Online /Cleanup-Image /CheckHealth

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

DISM с параметром ScanHealth

Действие этого параметра похоже на CheckHealth, но занимает немного больше времени за счёт более тщательного сканирования, но также ничего не исправляет. Его стоит использовать, когда предыдущая опция /CheckHealth проинформировала, что всё в порядке, но мы хотим убедиться, что это, безусловно, так. Введите:

DISM /Online /Cleanup-Image /ScanHealth

Сканирование может занять гораздо больше времени, чем с предыдущей опцией (приблизительно 10 минут). Если сканирование останавливается на 20% или 40%, то нужно подождать – может показаться так, что компьютер завис – но в действительности выполняется сканирование.

DISM с параметром RestoreHealth

Если первая и вторая команды выгрузили сообщение, что образы повреждены, настало время их восстановить. С этой целью используем параметр /RestoreHealth. Введите следующую команду в консоли командной строки:

DISM /Online /Cleanup-Image /RestoreHealth

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

Как восстановить файлы из указанного источника с помощью параметра RestoreHealth

Иногда бывает так, что повреждения операционной системы гораздо шире и затрагивают службу обновления Windows. В этом случае, не удастся через параметр RestoreHealth устранить повреждения в образе, потому что система не может подключится к серверам Майкрософта. В этой ситуации следует выполнить другую операцию – укажем путь к установщику (инсталлятору) Windows, с которого будут загружены «рабочие» файлы без использования Интернет и центра обновлений.

Для этого нужен установщик Windows 10 на DVD-диске, флэш-накопителе или в формате образа ISO. Последний может быть загружен через приложение Media Creation Tool для Windows 10.

Скачайте версию для Windows 10 (32 или 64 битную), запустите приложение и следуйте указаниям мастера по загрузке ISO на ваш компьютер. После того, как образ скачан и сохранён, перейдите в окно проводника и дважды кликните на файл ISO с инсталлятором, чтобы его смонтировать. В окне «Этот компьютер» проверьте, какая буква была присвоена смонтированному образу (например, буква «E»).

Если у вас имеется загрузочный диск DVD или USB накопитель с инсталляцией Windows 10, то ничего не надо скачивать – просто вставьте диск или подключите внешний носитель, и посмотрите, какая буква была присвоена этому накопителю в разделе «Этот компьютер».

После того, как накопитель с инсталляцией Windows обнаружен системой и нам известна буква настало время использовать соответствующий параметр DISM, который укажет путь к этому носителю. Для этого введите следующую команду:


Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\Sources\install.wim:1 /limitaccess

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

Исправление ошибок в Windows

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

sfc /scannow

Иногда может возникнуть необходимость сканировать систему три раза, чтобы полностью устранить все ошибки. SFC теперь имеет доступ до восстановленных образов в хранилище компонентов и может полностью восстановить поврежденные системные файлы.

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

Друзья, хочу помочь вам с проблемой, которая возникает при наборе команд для решения некоторых проблем в командной строке. Допустим, вы решили , то нужно ввести в командной строке с повышенными привилегиями следующую команду: «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

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

Возвращаясь к технологии хранилища компонентов (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



Загрузка...