Обновлено: 29.01.2023
Сегодня я расскажу о том, как победить эту и ряд других ошибок при установке обновлений 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.
Этап 1 – восстановление поврежденного хранилища компонентов
Восстановление можно выполнить без установочного диска Windows, но в некоторых случаях он может вам понадобиться.
Восстановление без установочного диска
В этом случае используются файлы хранилища на локальном диске и Windows Update.
Запустите PowerShell от имени администратора и выполните команду:
Альтернативно, вы можете выполнить в командной строке, запущенной с правами администратора, команду:
Длительность процедуры восстановления зависит от конфигурации ПК и степени повреждения хранилища. У меня она заняла около 7 минут, а ее результат вы видите на рисунке ниже.
Состояние хранилища компонентов обозначается параметром Image Health State. У него Healthy означает, что с хранилищем компонентов все нормально. Для дальнейшей диагностики переходите к проверке целостности системных файлов чуть ниже ↓ Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.
Восстановление с помощью установочного диска
Когда системе не удается восстановить какие-либо компоненты, вам может помочь оригинальный установочный диск.
- Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
- В PowerShell выполните команду:
Этап 2 – проверка целостности системных файлов
Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:
У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.
Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).
Этап 3 – установка обновления
Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.
Как видите, на сей раз у меня все сработало!
Преимущества встроенного восстановления компонентов Windows
Давайте сравним ключевые моменты восстановления компонентов в разных операционных системах.
Windows Vista и Windows 7
Утилита CheckSUR представляет собой набор полезных файлов, который регулярно обновляется по мере выхода новых исправлений. Таким образом, при возникновении проблем нужно скачивать утилиту заново, а между тем, сентябрьский пакет весит 350 Мб.
Но даже при таком размере в пакет не входят файлы для всех исправлений, выпущенных Microsoft (предположу, что файлов необязательных обновлений там нет). Это означает, что утилита не может устранить повреждения некоторых компонентов. И хотя обходной путь существует, он является костылем, требующим дополнительных телодвижений.
После запуска утилита распаковывает содержимое пакета в папку WindowsCheckSUR. Поскольку большинство файлов в пакете имеет очень небольшой размер, этот процесс получается длительным и занимает до 75-80% процентов от общего времени работы утилиты. Оставшееся время уходит на проверку компонентов и создание журнала.
И все это делается лишь ради того, чтобы восстановить манифесты и дать возможность системе обновиться…
Windows 8 и новее
Повреждение, как правило, означает пропажу манифеста или каталога. В отличие от CheckSUR, встроенная функция системы способна восстанавливать не только манифесты, но и все прочие составляющие компонентов. Это одно из важнейших преимуществ!
Консольные средства для восстановления компонентов
Начиная с Windows 8, управление обслуживанием можно осуществлять не только с помощью утилиты DISM.exe, но и командлетов PowerShell, причем второй способ является рекомендуемым.
Я не любитель дублировать справку, но на русском языке ее пока нет. Поэтому я покажу вам основные возможности командлета Repair-WindowsImage, а для параметра Cleanup-Image утилиты DISM.exe ограничусь ссылкой на документацию.
Цель проверки (работающая система и образы)
Целью проверки может являться как установленная система, так и образ в формате WIM или VHD.
Проверяет работающую систему.
Проверяет подключенный автономный образ по указанному после параметра пути.
Проверка и восстановление хранилища
Для определения состояния и восстановления компонентов в командлете Repair-WindowsImage предусмотрены три параметра, выполняющих проверку хранилища. Результатом сканирования может быть:
- отсутствие повреждений (Healthy)
- наличие повреждений, которые можно восстановить (Repairable)
- наличие повреждений, которые нельзя восстановить (Not repairable)
Однако функции параметров отличаются.
-CheckHealth
Моментально проверяет, присутствует ли в системном реестре маркер, обозначающий повреждение. Этот маркер может появиться в процессе работы системы обслуживания.
Проверяет хранилище на предмет повреждений. Эта операция занимает больше времени, чем простая проверка маркера.
-RestoreHealth
Проверяет хранилище на предмет повреждений и выполняет их восстановление. Эта операция является самой длительной из трех.
Источник компонентов для восстановления
Чтобы восстановить компоненты, их нужно откуда-то взять. Когда источник не указан, при проверке автоматически используется локальное хранилище компонентов и Windows Update.
Этот момент нигде не задокументирован, и вы должны понимать, что при проверке автономного образа Windows из-под другого издания или версии Windows источник нужно указывать обязательно.
В обоих случаях вы можете указывать более одного источника и даже блокировать Windows Update при этом. Приведенные ниже параметры предназначены только для восстановления, и поэтому допустимы только в связке с -RestoreHealth.
В качестве источника можно использовать путь к:
- работающей системе, к которой имеется доступ по сети
- автономному образу, причем его предварительное подключение необязательно
Здесь любопытна возможность указать путь непосредственно к изданию в WIM-образе без его предварительного копирования на локальный диск и последующего подключения. Она является тайным знанием, пока не отраженным в документации Это работает благодаря функции автоматического подключения WIM, реализованной на последних стадиях разработки Windows 8.
Вы можете перечислить несколько путей через запятую. Дополнительные источники задействуются только в том случае, если в предыдущих не нашлось подходящих компонентов.
Когда в качестве источника используется WIM-образ, необходимо указать тип образа и его индекс:
-LimitAccess
Блокирует доступ к Windows Update во время проверки.
Примеры команд PowerShell
Я приведу несколько примеров практического использования командлета Repair-WindowsImage с разными целями и источниками проверки. Первые два вы уже видели в начале статьи.
Восстановление хранилища работающей системы, используя локальные файлы и Windows Update в качестве источника:
Восстановление хранилища работающей системы, используя Windows Update и WIM-образ в качестве источников:
Проверка хранилища автономного VHD-образа. Сначала он подключается в папку C:mount (это происходит очень быстро), а затем выполняется проверка.
Восстановление хранилища автономного VHD-образа, используя в качестве источника WIM-образ. Сначала VHD подключается в папку, затем выполняется восстановление образа, после чего VHD отключается с сохранением изменений.
Результаты проверки и восстановления
Помимо результатов в консоли вы можете найти подробный отчет ближе к концу файла %WinDir%LogsDISMdism.log
В первой половине приведенного фрагмента видны конкретные компоненты и результат их восстановления (успех или неудача), а во второй – сводка об операции, включая время ее выполнения.
Как видите, у меня были повреждены 7 манифестов, относящихся языковому пакету, что и стало препятствием к установке обновления Windows. Все повреждения были исправлены.
Безусловно, этот материал не подразумевает моментального практического применения, хотя проверить состояние хранилища компонентов Windows вы можете прямо сейчас. Более того, за три года работы в Windows 7 у меня ни разу не возникало проблем с установкой обновлений.
Однако ошибки Windows Update, связанные с повреждением хранилища, вовсе не редкость, даже если судить только по форуму OSZone. Поэтому важно знать, как бороться с ними.
Мне показалось, что часть аудитории блога откровенно заскучала от серии статей о современном интерфейсе Windows 8 и приложений. Конечно, там все примитивно, никаких технических тонкостей, а главное – у некоторых людей создается ощущение, что кроме Modern UI в Windows 8 нет ничего нового. Это не так…
Я давно планировал серию записей об изменениях в обслуживании Windows, а возникшая проблема с установкой обновления лишь форсировала публикацию, заодно вынудив меня изменить порядок статей в серии.
Вам хватило технических тонкостей сегодня?
![]()
Если нет, в следующей записи из этой серии вас ждет не только экскурс в историю инструментов обслуживания ОС Microsoft, но и уникальная возможность попробовать себя в роли г-сборщика Windows! Но до этого в блоге появятся записи на другие темы.
Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментария 34
Годится! Согласны? +5
И SFC правильно сделает, причем безотносительно того факта, что подобные патчи нарушают лицензию.
Ваша оценка: -1
Ваша оценка: +3
Виктор, я рад, что тебе было интересно! Я не могу разобраться с любой проблемой, но могу попытаться Если честно, у меня проблемы возникают крайне редко, так что я чаще чужие решаю. В данном случае я просто использовал свой опыт и общедоступную информацию для исправления ошибки.
P.S. Указанную тобой оговорку в тексте исправил, спасибо.
Вадим, Спасибо!
Это очень хорошо, я до этого не скоро добрался.
Или добрался, если понадобилось, а тут на блюдечке ..
Ваша оценка: 0
Ваша оценка: +3
Вадим, а что вы всегда так озабочены правилами работы в рамках лицензионного соглашения? Совесть не позволяет нарушать лицензию? Я всегда отношусь к этим вещам максимально прагматично!
Ваша оценка: +1
Годится! Согласны? +4
Всем привет ! Я благодаря блогу стал сам решать проблемы с системой правда иногда не всё получается , но надеюсь на лучшее .
Ваша оценка: 0
Ваша оценка: 0
Да, в Windows 8 проблема решается проще. Но Майкрософту еще нужно будет обновить справку / статьи базы знаний. Ведь включать в CheckSUR поддержку Windows 8 нет смысла, а справочные материалы по ошибкам поврежденного хранилища ведут на KB с CheckSUR.
Ваша оценка: +1
Скрыто по причине низкого рейтинга комментария. Нажмите здесь, чтобы прочесть.
Не ахти! -11
Антон, как всегда, вы выражаете недовольство Windows 8, причем даже там, где ее преимущества очевидны.
1. Совсем не факт, что ваша проблема была связана с повреждением хранилища. Надо думать, вы и не пытались определить источник проблемы.
2. Отсутствие обновлений повышает риск эксплуатации уязвимости ОС, но об этом мы будем говорить через неделю.
3. Оптимизация работает только во время простоя. Возможно, вы не допускали его, но тогда надо было хоть раз дать оптимизации завершиться, а не отключать. Впрочем, я рад, что вы продолжаете узнавать что-то новое из моих статей
Годится! Согласны? +4
mikas: От себя добавлю, что если кто-то патчил/заменял библиотеку RDP (для возможности работы несколькими пользователями — 1 интерактивно и одиннесколько удаленно) в Windows XP, Vista, 7 — то команда «sfc /scannow» вернёт оригинальную на место. »
А я добавлю, что по крайней мере на ХР можно сделать так, что sfc будет считать патченную библиотеку нормальной, входящей в состав Windows, и, естественно, заменять её не будет.
По теме- лучше бы сделали так, чтобы не ломалось, а не встраивали ремонтные утилиты. На ХР мне обновлятся не мешает ни чистка старых версий файлов, ни чистка C:WINDOWSSoftwareDistributionDownload. А на восьмёрке вон, даже у аккуратного пользователя, лишний раз не лезущего в систему удалять чего- нибуть, что- то сломалось.
Ваша оценка: +2
Виталий, система обслуживания в Windows XP была совсем другой, но ваше мнение о ее превосходстве основано лишь на собственном опыте. Между тем, вот что сказал у себя в блоге Joseph Conway, Senior Support Escalation Engineer (Windows CORE team) и главный из публичных специалистов по обслуживанию (вольный перевод мой):
Как и в случае с предыдущей записью, вы не видите очевидных преимуществ. Посему я отвечаю на ваш комментарий только один раз.
Ваша оценка: 0
Ваша оценка: +3
2. Не соглашусь никогда, ибо уязвимости д.б. устранены на конструктивном уровне, а не прикрыты чем-то сторонним.
Ваша оценка: +1
Хорошая статья!
Вот оно, одно из весомых преимуществ Windows 8, описано выше.
Вадим, Вы как всегда на высоте
Ваша оценка: 0
Спасибо за отклик, Антон!
Ваша оценка: 0
Вы же предпочитаете ковыряться под капотом, настраивать, чинить и самостоятельно управлять автомобилем. Две разные модели поведения. Это нормальное явление.
Когда я беру нерабочий инструмент, я не пытаюсь его чинить, я сдаю его по гарантии и меняю либо на такой же рабочий, либо на другой рабочий. Вы же предпочитаете разобраться, починить его, поковырять настройки и затем использовать.
P.S. Кстати, после последнего обновления (после нескольких перезагрузок обновления все же встали без ошибок) пропала проблема и с обслуживанием, которое постоянно проводилось. Несколько раз перегружал ПК и лампа HDD не зависала на красном из-за работы диска.
Годится! Согласны? +4
2. У вас понятие костыля перевернуто с ног на голову. Именно костылем является защита от уязвимостей ОС с помощью стороннего ПО.
3. Я сижу в комфортном автомобиле и получаю удовольствие от вождения. А если у него перегорел предохранитель, я заменеяю его самостоятельно, а не бегу в сервис или чего хуже, ставлю в гараж и езжу на предыдущей модели.
И давайте с вами договоримся на будущее. Я публикую запись на определенную тему, вы комментируете в рамках этой темы. Выход за рамки означает удаление всего комментария. Собственно говоря, это написано в правилах обсуждений.
Годится! Согласны? +5
Ваша оценка: +1
Ваша оценка: 0
Вадим, спасибо. Довольно познавательно.
Например, если из г-сборки вырезаны необходимые компоненты
Вы об этом так говорите, как будто этим занимаются одни идиоты. Слишком много негатива. Уверяю, есть исключения из правил.
Ваша оценка: -1
Валерий, надеюсь, следующая статья серии будет еще более познавательной для вас.
Ваша оценка: +1
По поводу г-сборок я слукавил. Ибо пользуюсь г-обрезками.
Но речь не об этом. После установки KB2756872 перестают работать короткие пути типа:
Насколько я понимаю, то Майкрософт будет плавно переводить клиентские ОС на ReFS. Или нет?
Ваша оценка: 0
Что касается ReFS, то она только для серверной ОС. Но таки да, поддержка коротких имен там прекращена.
Ваша оценка: 0
Которые вообще не работают на 64 разрядных ОС.
В ReFS кроме этого нет:
Мы отказались от поддержки в ReFS следующих функций NTFS: именованные каналы, короткие имена, сжатие, шифрование на уровне файла (EFS), транзакции пользовательских данных, фрагментарное кэширование, жесткие связи, расширенные атрибуты и квоты.
Ваша оценка: +3
Владимир Н. (Valeran)
действия, которые вы описали, мне помогут установить обновление kb2768703?
Ваша оценка: 0
Ваша оценка: 0
Ваша оценка: +1
Степан, не пользуйтесь г-сборками, и будет вам счастье. Установите полноценную Windows для начала и обновите ее. Если будут проблемы, пишите сюда.
Ваша оценка: 0
Ваша оценка: 0
Всем:
Если у вас возникла проблема с установкой обновлений, обращайтесь в
указанную тему форума, предварительно выполнив все требования из шапки:
Если у вас есть вопросы по практическому применению восстановления компонентов, направляйте их в ту же тему.
В следующей статье мы с Вами произведём восстановление системных файлов в более сложных условиях, а именно, если Windows не загружается из-за нарушений целостности системных файлов. Статья уже написана, ссылка в начале статьи.
Рекомендуем другие статьи по данной теме
Комментарии (111)
Рекламный блок
Подпишитесь на рассылку
Навигация
Облако тегов
Архив статей
Сейчас обсуждаем
admin
Могу привести личный пример. Обычно у меня открыто два браузера со множеством вкладок, для такой
гость
Сколько по вашему мнению на сегодняшний день нужно оперативной памяти для компьютера с Windows 11?
Я бы сказал, что уже есть проблема с драйверами на старые устройства. У меня перестал работать
Антон П
Ещё бы я добавил сюда бюджетные восьмипоточные камешки: Intel Core i3-9100F, Core i3-10100F, AMD
Гость Владимир
Хорошая статья, только я бы сказал, что чипсет, это по сути и есть материнская плата! Почти все
RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.
Наш сайт – прекрасная находка для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.
В преддверии поступления Windows 8 в продажу Microsoft выпустила большое кумулятивное обновление KB2756872, чего никогда раньше не делала для клиентских операционных систем. Однако при установке обновления меня ждал неприятный сюрприз — ошибка 80073712.
Сегодня я расскажу о том, как победить эту и ряд других ошибок при установке обновлений Windows 8 с помощью новой возможности обслуживания – встроенного восстановления компонентов (in-box corruption repair).
Эта запись открывает серию статей о нововведениях в обслуживании Windows 8. И нет, оно не имеет ничего общего с автоматическим обслуживанием с помощью планировщика. Сначала я покажу, как решил проблему с установкой обновления,а потом расскажу о технологии.
Устранение ошибок Windows Update, вызванных повреждением хранилища компонентов
В справке предыдущих ОС Microsoft для ошибки 80073712 есть описание, из которого следует, что причиной является повреждение хранилища компонентов. Для Windows Vista и Windows 7 была выпущена утилита System Update Readiness Tool (CheckSUR), призванная устранить целый ряд ошибок Windows Update
Список ошибок
80070002 | ERROR_FILE_NOT_FOUND |
8007000D | ERROR_INVALID_DATA |
800F081F | CBS_E_SOURCE_MISSING |
80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT |
800736CC | ERROR_SXS_FILE_HASH_MISMATCH |
800705B9 | ERROR_XML_PARSE_ERROR |
80070246 | ERROR_ILLEGAL_CHARACTER |
8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR |
8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME |
8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE |
80070057 | ERROR_INVALID_PARAMETER |
800B0100 | TRUST_E_NOSIGNATURE |
80092003 | CRYPT_E_FILE_ERROR |
800B0101 | CERT_E_EXPIRED |
8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE |
80070490 | ERROR_NOT_FOUND |
Для исправления этих ошибок в Windows 8 утилита CheckSUR не нужна, потому что все необходимое уже встроено в систему! Вы можете восстановить поврежденные компоненты с помощью командлета PowerShell (рекомендуемый способ) или утилиты DISM.exe
Этап 1 – восстановление поврежденного хранилища компонентов
Восстановление можно выполнить без установочного диска Windows 8, но в некоторых случаях он может вам понадобиться.
Восстановление без установочного диска
В этом случае используются файлы хранилища на локальном диске и Windows Update.
Запустите PowerShell от имени администратора и выполните команду:
Repair-WindowsImage -Online -RestoreHealth
Альтернативно, вы можете выполнить в командной строке, запущенной с правами администратора, команду:
Dism /Online /Cleanup-Image /RestoreHealth
Длительность процедуры восстановления зависит от конфигурации ПК и степени повреждения хранилища. У меня она заняла около 7 минут, а ее результат вы видите на рисунке ниже.
Состояние хранилища компонентов обозначается параметром Image Health State. Если его значение Healthy, переходите к проверке целостности системных файлов. Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.
Восстановление с помощью установочного диска
Когда системе не удается восстановить какие-либо компоненты, вам может помочь оригинальный установочный диск.
- Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
- В PowerShell выполните команду:
Repair-WindowsImage -Online -RestoreHealth -Source Е:sourcesinstall.wim:1
Здесь буква «E» соответствует букве подключенного образа, а цифра «1» — индексу издания в образе (в примере используется образ Windows 8 Enterprise с единственным изданием).
Этап 2 – проверка целостности системных файлов
Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:
У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.
Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).
Этап 3 – установка обновления
Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.
Как и во множестве иных компонентов, входящих в состав операционных систем Microsoft, вопрос о исчерпывающей информативности возникающих ошибок Центра обновления Windows, тем более рекомендаций по их устранению, никогда всерьез разработчиками не рассматривался Традиционно было решено ввести огроменный перечень числовых статусов (для того, чтобы хотя бы отдаленно понимать о чем идет речь) и завести специализированные танцесбубновые форумы поддержки (как например, незабвенный TechNet), на которых зачастую предлагаются довольно-таки абстрактные рекомендации. Все это, конечно же, сарказм, тем более что для человека думающего, подобные приведенному выше ресурсу является превосходной отправной точкой, задающей верное направление движения. Ну а в данном материале мы попытаемся каталогизировать ошибки Центра обновления Windows.
- Надо понимать, что многие коды возврата, описанные в представленной ниже таблице, являются общими и их возникновение характерно для множества продуктов Microsoft (включая и Центр обновления Windows). Иными словами, неверно было бы считать все приведенные ошибки возникающими исключительно в компонентах Windows Update, тем не менее представлены и те, которые персонализированы исключительно для исполняемого кода группы компонентов Центра обновления Windows. Поэтому давайте условимся считать все приведенные в таблице ошибки возникающими исключительно в контексте исполнения процессов Центра обновления Windows, и не надо искать тут волшебное лекарство от всех проблем операционной системы!!
- У некоторых может возникнуть ложное ощущение, что найдя код ошибки в таблице вы тут же найдете однозначное решение своей проблемы. Для некоторых ошибок это действительно так, однако в большинстве случаев ошибку надо рассматривать во взаимосвязи с другими ошибками, возникающими совместно с искомой (отображаются в логах в непосредственной близости или в одной сессии). Это банально позволит уйти от незначащих ошибок и найти основную, решение которой и изменит ситуацию.
Тип результата
Во всех модулях, относящихся к механизму компонентной модели, ошибки Центра обновления Windows возвращаются в виде числовых идентификаторов, имеющих тип HRESULT (DWORD, 32-битовое целое).
Таким образом, компонентная модель Windows использует HRESULT для определения статуса завершения метода или вызова функции.
В модели COM была предложена рекомендация, чтобы все функции на выходе, экспортируемые сервером и клиентом, возвращали результат работы типа HRESULT , по которому можно судить о результате выполнения функции (успех/неудача). Старший бит значения специфицирует успешное/ошибочное (0/1) завершении работы функции, следующие далее 15 битов содержат тип ошибки и обеспечивают способ группировки однотипных кодов завершения, младшие (правые) 16 битов предоставляют специфическую информацию о происшедшем. В модели-преемнице DCOM использование HRESULT уже было выдвинуто в виде обязательного требования. Возвращаемые символические значения в интерфейсе Win32 предваряются префиксом S_ в случае нормального завершения и префиксом Е_ в случае ошибки. Вот так, к примеру, выглядят некоторые типовые константы:
Константа | Число | Описание |
---|---|---|
E_ACCESSDENIED | 0x80070005 | В доступе отказано. |
E_FAIL | 0x80004005 | Ошибка без указания причины. Неспецифицированная ошибка. |
E_INVALIDARG | 0x80070057 | Неверный аргумент функции. |
E_OUTOFMEMORY | 0x8007000E | Нехватка памяти. |
E_POINTER | 0x80004003 | Неверный указатель. В качестве значения указателя передан NULL. |
E_UNEXPECTED | 0x8000FFFF | Неожиданное состояние. Непредвиденная ситуация, из-за которой операция не может быть выполнена. |
S_OK | 0x00000000 | Успешное завершение операции. |
S_FALSE | 0x00000001 | Успешное завершение операции. Отличие от S_OK заключается в том, что может определять какую-либо отличительную особенность при выполнении функции. Использование значений S_OK и S_FALSE строго не регламентируется. К примеру, если функция должна вернуть список объектов, она возвращает S_OK в случае непустого списка, и S_FALSE если список пустой но ошибок не было. |
Те ошибки, которые вы обычно наблюдаете в различных модулях операционной системы Windows, имеют в точности такие обозначения, соответственно, и ошибки Центра обновления Windows тоже классифицируются одинаково.
Методы использования
Таблица будет являться хабом, то есть диспетчером по поиску ошибок обновления. Соответственно, для пользования им можно предложить следующий алгоритм:
- Лицезреть ошибки Центра обновления Windows можно либо непосредственно в интерфейсе системы, либо по записям об ошибках в файлах %SystemRoot%WindowsUpdate.log и %Windir%LogsCBSCBS.log , а так же событий в системном Журнале Событий.
- Из информации в записях или интерфейсных окнах получаете шестнадцатеричное (либо десятичное) представление ошибки.
- В нижеприведенной таблице находите номер ошибки и смотрите алгоритм устранения в столбце Решение , если это ссылка, то щелкаете и переходите на статью с непосредственными рекомендациями по устранению.
Очевидно, что таблица находится в состоянии перманентного дополнения/изменения, поскольку как бы не хотелось получить на личном опыте, проанализировать и классифицировать такое огромное количество ошибок может разве что разработчик Windows Update у которого внезапно образовалось несколько свободных от работы лет.
Читайте также:
- Unifi сброс пароля контроллера linux
- Gta 5 err no launcher как исправить windows 10
- Нет нужного разрешения экрана windows 10
- Настройка руля dialog gw 14vr windows 10
- Как отключить autologger windows 10
- Remove From My Forums
-
General discussion
-
Эта ошибка появилась после перезагрузки сервера. Появляется и в безопасном режиме. что делать?
All replies
-
о каком сервере речь идет? сервер первый раз обновляете после установки? что предпринимали для решения проблемы? какие результаты получили?
The opinion expressed by me is not an official position of Microsoft
-
Server 2012 R2 Standart, обновлялся впервые за 4 года. Пробовал загрузиться в безопасном режиме (та же ошибка). Через Автоматическое восстановление не реагирует.
-
Server 2012 R2 Standart, обновлялся впервые за 4 года. Пробовал загрузиться в безопасном режиме (та же ошибка). Через Автоматическое восстановление не реагирует.
на нем что-то важное есть? простое решение это реинсталл с обновлениями порциями по 10 — 15 обнов начиная со старых с перезагрузками после каждой пачки
The opinion expressed by me is not an official position of Microsoft
-
Конечно важное есть, SQL сервер. Хотелось бы решить без переустановки)
- Sign up
- Sign in
- HP Community
- Archived Topics
- Notebooks Archive
- fatal error c01a001d
Options
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Create an account on the HP Community to personalize your profile and ask a question
Your account also allows you to connect with HP support faster, access a personal dashboard to manage all of your devices in one place, view warranty information, case status and more.
This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
02-03-2015
09:32 AM
HP Recommended
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Flag Post
Product: 15-gt170nr
Operating System: Microsoft Windows 8.1 (64-bit)
after resetting my laptop, and updating windows, i have incountered this error (fatal error c01a001d applying update operation 77160 of 136592 (regi…) as it runs off the screen. Any idea what could have caused this, and how do i insure it does not happen in the future?
Thanks
DaBirdz
1 REPLY 1
Was this reply helpful?
Yes
No
This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.
-
English
Open Menu
† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href=»https://www8.hp.com/us/en/terms-of-use.html» class=»udrlinesmall»>Terms of Use</a> and <a href=»/t5/custom/page/page-id/hp.rulespage» class=»udrlinesmall»> Rules of Participation</a>.
Обновлено: 07.06.2023
Сегодня я расскажу о том, как победить эту и ряд других ошибок при установке обновлений 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.
Этап 1 – восстановление поврежденного хранилища компонентов
Восстановление можно выполнить без установочного диска Windows, но в некоторых случаях он может вам понадобиться.
Восстановление без установочного диска
В этом случае используются файлы хранилища на локальном диске и Windows Update.
Запустите PowerShell от имени администратора и выполните команду:
Альтернативно, вы можете выполнить в командной строке, запущенной с правами администратора, команду:
Длительность процедуры восстановления зависит от конфигурации ПК и степени повреждения хранилища. У меня она заняла около 7 минут, а ее результат вы видите на рисунке ниже.
Состояние хранилища компонентов обозначается параметром Image Health State. У него Healthy означает, что с хранилищем компонентов все нормально. Для дальнейшей диагностики переходите к проверке целостности системных файлов чуть ниже ↓ Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.
Восстановление с помощью установочного диска
Когда системе не удается восстановить какие-либо компоненты, вам может помочь оригинальный установочный диск.
- Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
- В PowerShell выполните команду:
Этап 2 – проверка целостности системных файлов
Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:
У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.
Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).
Этап 3 – установка обновления
Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.
Как видите, на сей раз у меня все сработало!
Что такое обслуживание Windows и зачем оно нужно
Преимущества встроенного восстановления компонентов Windows
Давайте сравним ключевые моменты восстановления компонентов в разных операционных системах.
Windows Vista и Windows 7
Утилита CheckSUR представляет собой набор полезных файлов, который регулярно обновляется по мере выхода новых исправлений. Таким образом, при возникновении проблем нужно скачивать утилиту заново, а между тем, сентябрьский пакет весит 350 Мб.
Но даже при таком размере в пакет не входят файлы для всех исправлений, выпущенных Microsoft (предположу, что файлов необязательных обновлений там нет). Это означает, что утилита не может устранить повреждения некоторых компонентов. И хотя обходной путь существует, он является костылем, требующим дополнительных телодвижений.
После запуска утилита распаковывает содержимое пакета в папку WindowsCheckSUR. Поскольку большинство файлов в пакете имеет очень небольшой размер, этот процесс получается длительным и занимает до 75-80% процентов от общего времени работы утилиты. Оставшееся время уходит на проверку компонентов и создание журнала.
И все это делается лишь ради того, чтобы восстановить манифесты и дать возможность системе обновиться…
Windows 8 и новее
Повреждение, как правило, означает пропажу манифеста или каталога. В отличие от CheckSUR, встроенная функция системы способна восстанавливать не только манифесты, но и все прочие составляющие компонентов. Это одно из важнейших преимуществ!
Консольные средства для восстановления компонентов
Начиная с Windows 8, управление обслуживанием можно осуществлять не только с помощью утилиты DISM.exe, но и командлетов PowerShell, причем второй способ является рекомендуемым.
Я не любитель дублировать справку, но на русском языке ее пока нет. Поэтому я покажу вам основные возможности командлета Repair-WindowsImage, а для параметра Cleanup-Image утилиты DISM.exe ограничусь ссылкой на документацию.
Цель проверки (работающая система и образы)
Целью проверки может являться как установленная система, так и образ в формате WIM или VHD.
Проверяет работающую систему.
Проверяет подключенный автономный образ по указанному после параметра пути.
Проверка и восстановление хранилища
Для определения состояния и восстановления компонентов в командлете Repair-WindowsImage предусмотрены три параметра, выполняющих проверку хранилища. Результатом сканирования может быть:
- отсутствие повреждений (Healthy)
- наличие повреждений, которые можно восстановить (Repairable)
- наличие повреждений, которые нельзя восстановить (Not repairable)
Однако функции параметров отличаются.
-CheckHealth
Моментально проверяет, присутствует ли в системном реестре маркер, обозначающий повреждение. Этот маркер может появиться в процессе работы системы обслуживания.
Проверяет хранилище на предмет повреждений. Эта операция занимает больше времени, чем простая проверка маркера.
-RestoreHealth
Проверяет хранилище на предмет повреждений и выполняет их восстановление. Эта операция является самой длительной из трех.
Источник компонентов для восстановления
Чтобы восстановить компоненты, их нужно откуда-то взять. Когда источник не указан, при проверке автоматически используется локальное хранилище компонентов и Windows Update.
Этот момент нигде не задокументирован, и вы должны понимать, что при проверке автономного образа Windows из-под другого издания или версии Windows источник нужно указывать обязательно.
В обоих случаях вы можете указывать более одного источника и даже блокировать Windows Update при этом. Приведенные ниже параметры предназначены только для восстановления, и поэтому допустимы только в связке с -RestoreHealth.
В качестве источника можно использовать путь к:
- работающей системе, к которой имеется доступ по сети
- автономному образу, причем его предварительное подключение необязательно
Здесь любопытна возможность указать путь непосредственно к изданию в WIM-образе без его предварительного копирования на локальный диск и последующего подключения. Она является тайным знанием, пока не отраженным в документации Это работает благодаря функции автоматического подключения WIM, реализованной на последних стадиях разработки Windows 8.
Вы можете перечислить несколько путей через запятую. Дополнительные источники задействуются только в том случае, если в предыдущих не нашлось подходящих компонентов.
Когда в качестве источника используется WIM-образ, необходимо указать тип образа и его индекс:
-LimitAccess
Блокирует доступ к Windows Update во время проверки.
Примеры команд PowerShell
Я приведу несколько примеров практического использования командлета Repair-WindowsImage с разными целями и источниками проверки. Первые два вы уже видели в начале статьи.
Восстановление хранилища работающей системы, используя локальные файлы и Windows Update в качестве источника:
Восстановление хранилища работающей системы, используя Windows Update и WIM-образ в качестве источников:
Проверка хранилища автономного VHD-образа. Сначала он подключается в папку C:mount (это происходит очень быстро), а затем выполняется проверка.
Восстановление хранилища автономного VHD-образа, используя в качестве источника WIM-образ. Сначала VHD подключается в папку, затем выполняется восстановление образа, после чего VHD отключается с сохранением изменений.
Результаты проверки и восстановления
Помимо результатов в консоли вы можете найти подробный отчет ближе к концу файла %WinDir%LogsDISMdism.log
В первой половине приведенного фрагмента видны конкретные компоненты и результат их восстановления (успех или неудача), а во второй – сводка об операции, включая время ее выполнения.
Как видите, у меня были повреждены 7 манифестов, относящихся языковому пакету, что и стало препятствием к установке обновления Windows. Все повреждения были исправлены.
Безусловно, этот материал не подразумевает моментального практического применения, хотя проверить состояние хранилища компонентов Windows вы можете прямо сейчас. Более того, за три года работы в Windows 7 у меня ни разу не возникало проблем с установкой обновлений.
Однако ошибки Windows Update, связанные с повреждением хранилища, вовсе не редкость, даже если судить только по форуму OSZone. Поэтому важно знать, как бороться с ними.
Мне показалось, что часть аудитории блога откровенно заскучала от серии статей о современном интерфейсе Windows 8 и приложений. Конечно, там все примитивно, никаких технических тонкостей, а главное – у некоторых людей создается ощущение, что кроме Modern UI в Windows 8 нет ничего нового. Это не так…
Я давно планировал серию записей об изменениях в обслуживании Windows, а возникшая проблема с установкой обновления лишь форсировала публикацию, заодно вынудив меня изменить порядок статей в серии.
Вам хватило технических тонкостей сегодня?
![]()
Если нет, в следующей записи из этой серии вас ждет не только экскурс в историю инструментов обслуживания ОС Microsoft, но и уникальная возможность попробовать себя в роли г-сборщика Windows! Но до этого в блоге появятся записи на другие темы.
Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментария 34
Годится! Согласны? +5
И SFC правильно сделает, причем безотносительно того факта, что подобные патчи нарушают лицензию.
Ваша оценка: -1
Ваша оценка: +3
Виктор, я рад, что тебе было интересно! Я не могу разобраться с любой проблемой, но могу попытаться Если честно, у меня проблемы возникают крайне редко, так что я чаще чужие решаю. В данном случае я просто использовал свой опыт и общедоступную информацию для исправления ошибки.
P.S. Указанную тобой оговорку в тексте исправил, спасибо.
Вадим, Спасибо!
Это очень хорошо, я до этого не скоро добрался.
Или добрался, если понадобилось, а тут на блюдечке ..
Ваша оценка: 0
Ваша оценка: +3
Вадим, а что вы всегда так озабочены правилами работы в рамках лицензионного соглашения? Совесть не позволяет нарушать лицензию? Я всегда отношусь к этим вещам максимально прагматично!
Ваша оценка: +1
Годится! Согласны? +4
Всем привет ! Я благодаря блогу стал сам решать проблемы с системой правда иногда не всё получается , но надеюсь на лучшее .
Ваша оценка: 0
Ваша оценка: 0
Да, в Windows 8 проблема решается проще. Но Майкрософту еще нужно будет обновить справку / статьи базы знаний. Ведь включать в CheckSUR поддержку Windows 8 нет смысла, а справочные материалы по ошибкам поврежденного хранилища ведут на KB с CheckSUR.
Ваша оценка: +1
Скрыто по причине низкого рейтинга комментария. Нажмите здесь, чтобы прочесть.
Не ахти! -11
Антон, как всегда, вы выражаете недовольство Windows 8, причем даже там, где ее преимущества очевидны.
1. Совсем не факт, что ваша проблема была связана с повреждением хранилища. Надо думать, вы и не пытались определить источник проблемы.
2. Отсутствие обновлений повышает риск эксплуатации уязвимости ОС, но об этом мы будем говорить через неделю.
3. Оптимизация работает только во время простоя. Возможно, вы не допускали его, но тогда надо было хоть раз дать оптимизации завершиться, а не отключать. Впрочем, я рад, что вы продолжаете узнавать что-то новое из моих статей
Годится! Согласны? +4
mikas: От себя добавлю, что если кто-то патчил/заменял библиотеку RDP (для возможности работы несколькими пользователями — 1 интерактивно и одиннесколько удаленно) в Windows XP, Vista, 7 — то команда «sfc /scannow» вернёт оригинальную на место. »
А я добавлю, что по крайней мере на ХР можно сделать так, что sfc будет считать патченную библиотеку нормальной, входящей в состав Windows, и, естественно, заменять её не будет.
По теме- лучше бы сделали так, чтобы не ломалось, а не встраивали ремонтные утилиты. На ХР мне обновлятся не мешает ни чистка старых версий файлов, ни чистка C:WINDOWSSoftwareDistributionDownload. А на восьмёрке вон, даже у аккуратного пользователя, лишний раз не лезущего в систему удалять чего- нибуть, что- то сломалось.
Ваша оценка: +2
Виталий, система обслуживания в Windows XP была совсем другой, но ваше мнение о ее превосходстве основано лишь на собственном опыте. Между тем, вот что сказал у себя в блоге Joseph Conway, Senior Support Escalation Engineer (Windows CORE team) и главный из публичных специалистов по обслуживанию (вольный перевод мой):
Как и в случае с предыдущей записью, вы не видите очевидных преимуществ. Посему я отвечаю на ваш комментарий только один раз.
Ваша оценка: 0
Ваша оценка: +3
2. Не соглашусь никогда, ибо уязвимости д.б. устранены на конструктивном уровне, а не прикрыты чем-то сторонним.
Ваша оценка: +1
Хорошая статья!
Вот оно, одно из весомых преимуществ Windows 8, описано выше.
Вадим, Вы как всегда на высоте
Ваша оценка: 0
Спасибо за отклик, Антон!
Ваша оценка: 0
Вы же предпочитаете ковыряться под капотом, настраивать, чинить и самостоятельно управлять автомобилем. Две разные модели поведения. Это нормальное явление.
Когда я беру нерабочий инструмент, я не пытаюсь его чинить, я сдаю его по гарантии и меняю либо на такой же рабочий, либо на другой рабочий. Вы же предпочитаете разобраться, починить его, поковырять настройки и затем использовать.
P.S. Кстати, после последнего обновления (после нескольких перезагрузок обновления все же встали без ошибок) пропала проблема и с обслуживанием, которое постоянно проводилось. Несколько раз перегружал ПК и лампа HDD не зависала на красном из-за работы диска.
Годится! Согласны? +4
2. У вас понятие костыля перевернуто с ног на голову. Именно костылем является защита от уязвимостей ОС с помощью стороннего ПО.
3. Я сижу в комфортном автомобиле и получаю удовольствие от вождения. А если у него перегорел предохранитель, я заменеяю его самостоятельно, а не бегу в сервис или чего хуже, ставлю в гараж и езжу на предыдущей модели.
И давайте с вами договоримся на будущее. Я публикую запись на определенную тему, вы комментируете в рамках этой темы. Выход за рамки означает удаление всего комментария. Собственно говоря, это написано в правилах обсуждений.
Годится! Согласны? +5
Ваша оценка: +1
Ваша оценка: 0
Вадим, спасибо. Довольно познавательно.
Например, если из г-сборки вырезаны необходимые компоненты
Вы об этом так говорите, как будто этим занимаются одни идиоты. Слишком много негатива. Уверяю, есть исключения из правил.
Ваша оценка: -1
Валерий, надеюсь, следующая статья серии будет еще более познавательной для вас.
Ваша оценка: +1
По поводу г-сборок я слукавил. Ибо пользуюсь г-обрезками.
Но речь не об этом. После установки KB2756872 перестают работать короткие пути типа:
Насколько я понимаю, то Майкрософт будет плавно переводить клиентские ОС на ReFS. Или нет?
Ваша оценка: 0
Что касается ReFS, то она только для серверной ОС. Но таки да, поддержка коротких имен там прекращена.
Ваша оценка: 0
Которые вообще не работают на 64 разрядных ОС.
В ReFS кроме этого нет:
Мы отказались от поддержки в ReFS следующих функций NTFS: именованные каналы, короткие имена, сжатие, шифрование на уровне файла (EFS), транзакции пользовательских данных, фрагментарное кэширование, жесткие связи, расширенные атрибуты и квоты.
Ваша оценка: +3
Владимир Н. (Valeran)
действия, которые вы описали, мне помогут установить обновление kb2768703?
Ваша оценка: 0
Ваша оценка: 0
Ваша оценка: +1
Степан, не пользуйтесь г-сборками, и будет вам счастье. Установите полноценную Windows для начала и обновите ее. Если будут проблемы, пишите сюда.
Ваша оценка: 0
Ваша оценка: 0
Всем:
Если у вас возникла проблема с установкой обновлений, обращайтесь в
указанную тему форума, предварительно выполнив все требования из шапки:
Если у вас есть вопросы по практическому применению восстановления компонентов, направляйте их в ту же тему.
В следующей статье мы с Вами произведём восстановление системных файлов в более сложных условиях, а именно, если Windows не загружается из-за нарушений целостности системных файлов. Статья уже написана, ссылка в начале статьи.
Рекомендуем другие статьи по данной теме
Комментарии (111)
Рекламный блок
Подпишитесь на рассылку
Навигация
Облако тегов
Архив статей
Сейчас обсуждаем
admin
Могу привести личный пример. Обычно у меня открыто два браузера со множеством вкладок, для такой
гость
Сколько по вашему мнению на сегодняшний день нужно оперативной памяти для компьютера с Windows 11?
Я бы сказал, что уже есть проблема с драйверами на старые устройства. У меня перестал работать
Антон П
Ещё бы я добавил сюда бюджетные восьмипоточные камешки: Intel Core i3-9100F, Core i3-10100F, AMD
Гость Владимир
Хорошая статья, только я бы сказал, что чипсет, это по сути и есть материнская плата! Почти все
RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.
Наш сайт – прекрасная находка для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.
В преддверии поступления Windows 8 в продажу Microsoft выпустила большое кумулятивное обновление KB2756872, чего никогда раньше не делала для клиентских операционных систем. Однако при установке обновления меня ждал неприятный сюрприз — ошибка 80073712.
Сегодня я расскажу о том, как победить эту и ряд других ошибок при установке обновлений Windows 8 с помощью новой возможности обслуживания – встроенного восстановления компонентов (in-box corruption repair).
Эта запись открывает серию статей о нововведениях в обслуживании Windows 8. И нет, оно не имеет ничего общего с автоматическим обслуживанием с помощью планировщика. Сначала я покажу, как решил проблему с установкой обновления,а потом расскажу о технологии.
Устранение ошибок Windows Update, вызванных повреждением хранилища компонентов
В справке предыдущих ОС Microsoft для ошибки 80073712 есть описание, из которого следует, что причиной является повреждение хранилища компонентов. Для Windows Vista и Windows 7 была выпущена утилита System Update Readiness Tool (CheckSUR), призванная устранить целый ряд ошибок Windows Update
Список ошибок
80070002 | ERROR_FILE_NOT_FOUND |
8007000D | ERROR_INVALID_DATA |
800F081F | CBS_E_SOURCE_MISSING |
80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT |
800736CC | ERROR_SXS_FILE_HASH_MISMATCH |
800705B9 | ERROR_XML_PARSE_ERROR |
80070246 | ERROR_ILLEGAL_CHARACTER |
8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR |
8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME |
8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE |
80070057 | ERROR_INVALID_PARAMETER |
800B0100 | TRUST_E_NOSIGNATURE |
80092003 | CRYPT_E_FILE_ERROR |
800B0101 | CERT_E_EXPIRED |
8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE |
80070490 | ERROR_NOT_FOUND |
Для исправления этих ошибок в Windows 8 утилита CheckSUR не нужна, потому что все необходимое уже встроено в систему! Вы можете восстановить поврежденные компоненты с помощью командлета PowerShell (рекомендуемый способ) или утилиты DISM.exe
Этап 1 – восстановление поврежденного хранилища компонентов
Восстановление можно выполнить без установочного диска Windows 8, но в некоторых случаях он может вам понадобиться.
Восстановление без установочного диска
В этом случае используются файлы хранилища на локальном диске и Windows Update.
Запустите PowerShell от имени администратора и выполните команду:
Repair-WindowsImage -Online -RestoreHealth
Альтернативно, вы можете выполнить в командной строке, запущенной с правами администратора, команду:
Dism /Online /Cleanup-Image /RestoreHealth
Длительность процедуры восстановления зависит от конфигурации ПК и степени повреждения хранилища. У меня она заняла около 7 минут, а ее результат вы видите на рисунке ниже.
Состояние хранилища компонентов обозначается параметром Image Health State. Если его значение Healthy, переходите к проверке целостности системных файлов. Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.
Восстановление с помощью установочного диска
Когда системе не удается восстановить какие-либо компоненты, вам может помочь оригинальный установочный диск.
- Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
- В PowerShell выполните команду:
Repair-WindowsImage -Online -RestoreHealth -Source Е:sourcesinstall.wim:1
Здесь буква «E» соответствует букве подключенного образа, а цифра «1» — индексу издания в образе (в примере используется образ Windows 8 Enterprise с единственным изданием).
Этап 2 – проверка целостности системных файлов
Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:
У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.
Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).
Этап 3 – установка обновления
Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.
Как и во множестве иных компонентов, входящих в состав операционных систем Microsoft, вопрос о исчерпывающей информативности возникающих ошибок Центра обновления Windows, тем более рекомендаций по их устранению, никогда всерьез разработчиками не рассматривался Традиционно было решено ввести огроменный перечень числовых статусов (для того, чтобы хотя бы отдаленно понимать о чем идет речь) и завести специализированные танцесбубновые форумы поддержки (как например, незабвенный TechNet), на которых зачастую предлагаются довольно-таки абстрактные рекомендации. Все это, конечно же, сарказм, тем более что для человека думающего, подобные приведенному выше ресурсу является превосходной отправной точкой, задающей верное направление движения. Ну а в данном материале мы попытаемся каталогизировать ошибки Центра обновления Windows.
- Надо понимать, что многие коды возврата, описанные в представленной ниже таблице, являются общими и их возникновение характерно для множества продуктов Microsoft (включая и Центр обновления Windows). Иными словами, неверно было бы считать все приведенные ошибки возникающими исключительно в компонентах Windows Update, тем не менее представлены и те, которые персонализированы исключительно для исполняемого кода группы компонентов Центра обновления Windows. Поэтому давайте условимся считать все приведенные в таблице ошибки возникающими исключительно в контексте исполнения процессов Центра обновления Windows, и не надо искать тут волшебное лекарство от всех проблем операционной системы!!
- У некоторых может возникнуть ложное ощущение, что найдя код ошибки в таблице вы тут же найдете однозначное решение своей проблемы. Для некоторых ошибок это действительно так, однако в большинстве случаев ошибку надо рассматривать во взаимосвязи с другими ошибками, возникающими совместно с искомой (отображаются в логах в непосредственной близости или в одной сессии). Это банально позволит уйти от незначащих ошибок и найти основную, решение которой и изменит ситуацию.
Тип результата
Во всех модулях, относящихся к механизму компонентной модели, ошибки Центра обновления Windows возвращаются в виде числовых идентификаторов, имеющих тип HRESULT (DWORD, 32-битовое целое).
Таким образом, компонентная модель Windows использует HRESULT для определения статуса завершения метода или вызова функции.
В модели COM была предложена рекомендация, чтобы все функции на выходе, экспортируемые сервером и клиентом, возвращали результат работы типа HRESULT , по которому можно судить о результате выполнения функции (успех/неудача). Старший бит значения специфицирует успешное/ошибочное (0/1) завершении работы функции, следующие далее 15 битов содержат тип ошибки и обеспечивают способ группировки однотипных кодов завершения, младшие (правые) 16 битов предоставляют специфическую информацию о происшедшем. В модели-преемнице DCOM использование HRESULT уже было выдвинуто в виде обязательного требования. Возвращаемые символические значения в интерфейсе Win32 предваряются префиксом S_ в случае нормального завершения и префиксом Е_ в случае ошибки. Вот так, к примеру, выглядят некоторые типовые константы:
Константа | Число | Описание |
---|---|---|
E_ACCESSDENIED | 0x80070005 | В доступе отказано. |
E_FAIL | 0x80004005 | Ошибка без указания причины. Неспецифицированная ошибка. |
E_INVALIDARG | 0x80070057 | Неверный аргумент функции. |
E_OUTOFMEMORY | 0x8007000E | Нехватка памяти. |
E_POINTER | 0x80004003 | Неверный указатель. В качестве значения указателя передан NULL. |
E_UNEXPECTED | 0x8000FFFF | Неожиданное состояние. Непредвиденная ситуация, из-за которой операция не может быть выполнена. |
S_OK | 0x00000000 | Успешное завершение операции. |
S_FALSE | 0x00000001 | Успешное завершение операции. Отличие от S_OK заключается в том, что может определять какую-либо отличительную особенность при выполнении функции. Использование значений S_OK и S_FALSE строго не регламентируется. К примеру, если функция должна вернуть список объектов, она возвращает S_OK в случае непустого списка, и S_FALSE если список пустой но ошибок не было. |
Те ошибки, которые вы обычно наблюдаете в различных модулях операционной системы Windows, имеют в точности такие обозначения, соответственно, и ошибки Центра обновления Windows тоже классифицируются одинаково.
Методы использования
Таблица будет являться хабом, то есть диспетчером по поиску ошибок обновления. Соответственно, для пользования им можно предложить следующий алгоритм:
- Лицезреть ошибки Центра обновления Windows можно либо непосредственно в интерфейсе системы, либо по записям об ошибках в файлах %SystemRoot%WindowsUpdate.log и %Windir%LogsCBSCBS.log , а так же событий в системном Журнале Событий.
- Из информации в записях или интерфейсных окнах получаете шестнадцатеричное (либо десятичное) представление ошибки.
- В нижеприведенной таблице находите номер ошибки и смотрите алгоритм устранения в столбце Решение , если это ссылка, то щелкаете и переходите на статью с непосредственными рекомендациями по устранению.
Очевидно, что таблица находится в состоянии перманентного дополнения/изменения, поскольку как бы не хотелось получить на личном опыте, проанализировать и классифицировать такое огромное количество ошибок может разве что разработчик Windows Update у которого внезапно образовалось несколько свободных от работы лет.
Читайте также:
- Unifi сброс пароля контроллера linux
- Gta 5 err no launcher как исправить windows 10
- Нет нужного разрешения экрана windows 10
- Настройка руля dialog gw 14vr windows 10
- Как отключить autologger windows 10
При обновлении системы или установке пакетов через Центр обновлений Windows могут появляться ошибки. На этой странице собраны все распространенные коды ошибок, которые можно увидеть при попытке обновить Windows 7, 8 или 10.
Большинство кодов ошибок универсальны и позволяют исправить проблему вне зависимости от версии Windows. Нажатие на любой код откроет страницу с инструкцией, где подробно расписаны методы решения.
Универсальная инструкция по исправлению ошибок Центра обновления:
- Открываем (от имени администратора) Пуск -> Выполнить -> cmd.exe, в командной строке пишем sfc /scannow, Enter.
- Ждем проверки, пишем вторую команду DISM.exe /Online /Cleanup-image /Restorehealth, ждем. Пробуем установить обновление заново.
- Если не получается — заходим на catalog.update.microsoft.com. или microsoft.com/ru-ru/download и загружаем/устанавливаем нужное обновление вручную, воспользовавшись поиском или каталогом для загрузки нужного обновления.
Если простой способ не помог, следует найти свою ошибку в списке и попробовать решить её при помощи подробной инструкции.
0x80070002 ERROR_FILE_NOT_FOUND — Не удается найти указанный файл.
Центру обновлений не удается найти файлы, нужные для установки. Решение: сканирование системы, восстановление системных файлов, в случае неудачи — установка нужного обновления вручную из каталога Microsoft.
0x8007000D ERROR_INVALID_DATA — Недопустимые данные.
Ошибка появляется при установке Windows (файлы повреждены, может потребоваться новый установочный архив), при восстановлении системы (повреждена точка восстановления), при активации (ошибка в разделе реестра CurrentControlSetEnumRoot), а также при обновлении Windows через Центр обновлений.
Решение: использовать Microsoft Easy Fix или установить обновление вручную. Программа Fix It более не поддерживается Microsoft, поэтому придется искать её в неофициальных источниках. Также можно использовать Media Creation Tool или ISO-образ системы (для Windows 10).
0x800F081F CBS_E_SOURCE_MISSING — Источника пакета или файл не найден.
Ошибка загрузки компонента .NET Framework 3.5 на Windows 8/8.1, 10 и Server 2012/2016. Ошибка 0x800f081f возникает, когда указан альтернативный источник установки, но при этом:
- По адресу находятся не все нужные компоненты для установки.
- Пользователь не имеет прав доступа к файлам.
- В указанном расположении нет файлов, нужных для установки или обновления.
Для исправления ошибки нужно проверить, правильно ли указан путь, есть ли нужные файлы/обновления по адресу и есть ли у пользователя доступ на чтение этих файлов. При обновлении Windows может помочь ручная установка и утилита DISM.exe.
0x80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT — Хранилище компонентов находится в несогласованном состоянии.
Причиной ошибки является поврежденный компонент манифеста CBS. Это чисто системная ошибка, из-за которой система не может установить обновление. До Windows 10 ошибку можно исправить при помощи утилиты CheckSUR.
В Windows 10 нужно загрузить с сайта Microsoft программу MediaCreationTool.exe, нажать «Обновить этот компьютер сейчас» и следовать инструкции на экране. Использование загрузочного образа Win 10 (формат ISO) позволит устранить системные ошибки, при этом личные документы и файлы на компьютере останутся без изменений.
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH — Файл компонента не соответствует сведениям проверки, указанным в манифесте компонента.
Ошибка появляется при попытке установить NET Framework 3.5 (includes .NET 2.0 and 3.0), либо при попытке обновить Windows без установленного NET Framework 3.5.
Решение: использовать команду Dism /online /enable-feature /featurename:NetFx3 /All в командной строке от имени администратора для установки фреймфорка. Альтернативный вариант — загрузить ISO-образ нужной версии Windows и использовать команду dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:sourcesico, где d:sourcesico — диск и расположение образа системы. Без установленного NET Framework 3.5 Центр обновления Windows работать не будет, поэтому придется использовать командную строку.
0x800705B9 ERROR_XML_PARSE_ERROR — Не удалось обработать запрошенные XML-данные.
Сравнительно редкая системная ошибка при обновлении. Если код 0x800705B9 появился на Windows 7, Vista или 8/8.1, для исправления ситуации нужно:
- Скачать Media Creation Tool с сайта Microsoft.
- Запустить, выбрать Upgrade this PC now (обновить сейчас).
- Нажать Next (далее) и дождаться окончания процесса.
В Windows 10 для восстановления системных файлов также используется Media Creation Tool и ISO-образ системы. Также можно ввести в командную строку ряд команд, которые очистят все системные файлы и сбросят настройки.
0x80070246 ERROR_ILLEGAL_CHARACTER — Обнаружен недопустимый символ.
Нестандартная ошибка, которая может быть связана как с системным сбоем, так и с ошибками со стороны пользователя. Решение ошибка 0x80070246 «Обнаружен недопустимый символ» осложняется тем, что при ней нельзя запустить утилиту swf /scannow (и ряд других системных служб).
Для исправления этого кода ошибки Центра обновлений нужно:
- Сделать резервную копию реестра и важных файлов на случай проблем.
- Запустить режим устранения неполадок центра обновлений: Пуск -> ввести в поиске «устранение неполадок» -> Enter -> нажать «Просмотреть все» в левой панели -> найти «Центр обновления Windows». Следовать появившемся инструкциям.
- Для Windows 10: Пуск -> Параметры -> Обновление и безопасность -> Устранение неполадок.
Если это не помогло, придется восстановить исходное состояние Центра обновления Windows. Вручную это может занять до часа времени и более — желательно иметь хотя бы общее понимание своих действий, а также резервные копии важных данных и реестра Windows.
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR — Строка удостоверения повреждена.
На сайте Microsoft ошибка с кодом 0x8007370D описана как ошибка повреждения, возникающая при повреждении системных файлов. Это стандартная ошибка, решить которую может центр исправления неполадок. Встроенная утилита восстановит целостность системных файлов, после чего перестанут появляться ошибки при скачивании и установке обновлений.
В Windows Vista или XP нужно запустить средство устранения неполадок Центра управления Windows. Найти его можно через поиск в меню Пуск или в Панели управления.
В Windows 7, 8/8.1 и 10 все также просто, но для полноценной работы средства устранения неполадок требуется подключение к интернету. В противном случае шанс на успешное решение проблемы уменьшается, поскольку система не сможет загрузить недостающие файлы.
Для запуска нужно: в поиске ввести «Устранение неполадок», открыть, выбрать Параметры -> Устранение неполадок. Найти раздел Система и безопасность, в нем нажать на пункт Устранение неполадок с помощью Центра обновления Windows, после чего нажать кнопку Далее. Дождаться окончания сканирования системы и устранения неисправностей.
Microsoft советует использовать этот метод для следующих кодов ошибок (для Windows 7, Vista, XP):
- 0x80245003 — Служба Центра обновления Windows повреждена или не работает.
- 0x80070514 — Служба Центра обновления Windows повреждена или не работает.
- 0x8DDD0018 — Библиотеки BITS.dll повреждены.
- 0x80246008 — Библиотеки BITS.dll повреждены.
- 0x80200013 — Библиотеки BITS.dll повреждены.
- 0x80004015 — Библиотеки BITS.dll повреждены.
- 0x80070003 — Библиотеки BITS.dll повреждены.
- 0x800A0046 — Библиотеки BITS.dll повреждены.
- 0x800A01AD — Библиотеки DLL Центра обновления Windows не зарегистрированы.
- 0x80070424 — Библиотеки DLL Центра обновления Windows не зарегистрированы.
- 0x800B0100 — Ошибка проверки подписи. (кроме Windows XP)
- 0x80070005 — Ошибка определения хранилища данных. (кроме Windows XP)
- 0x80248011 — Ошибка определения хранилища данных.
- 0x80070002 — Ошибка определения хранилища данных.
- 0x80070003 — Ошибка определения хранилища данных.
В Windows 10 для восстановления системы после ошибок также может использоваться ISO-образ системы (доступен на сайте Microsoft) и встроенная утилита DISM.exe.
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME — Имя атрибута в удостоверении находится вне допустимого диапазона.
Ошибка обновления Windows с кодом 0x8007370B обозначает, что хранилище компонентов Windows повреждено. Вне зависимости от причины, нужен доступ в интернет, сканирование системы и дозагрузка поврежденных или недостающих файлов. Как и в других случаях, ошибка исправляется при помощи DISM.exe или средства проверки готовности системы к обновлению.
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE — Значение атрибута в удостоверении находится вне допустимого диапазона.
В большинстве случаев ошибка возникает на Windows 10. На сайте поддержки Microsoft советуется решать проблему при помощи одной из двух команд, которые требуется ввести в Командную строку от имени администратора: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:sourcessxs или DISM /online /cleanup-image /RestoreHealth /source:d:sources /LimitAccess, если первая команда не помогла.
Вместо d: должен быть указан диск, на который установлена Windows 10 (или располагается виртуальный образ). Если проблема связана с Net Framework 3.5, может потребоваться полная переустановка этого фреймворка. Если ничего не помогает, остается запустить процесс установки Windows и выбрать пункт «обновление с сохранением данных». Предварительно можно сохранить на внешнем носителе все нужные файлы во избежание потери важной информации (хотя риск при восстановлении минимален).
0x80070057 ERROR_INVALID_PARAMETER — Неправильный параметр.
При появлении ошибки с кодом 0x80070057 в Центре обновления стоит попробовать установить его вручную, загрузив файлы из каталога Microsoft или центра обновлений.
Если ошибка при обновлении остается, стоит сделать резервную копию редактора реестра и удалить следующий ключ: KEY_LOCAL_MACHINE SYSTEM CurrentControlSet services eventlog Microsoft-Windows-PrintService /Operational. Ключ также может находиться в разделе HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services eventlog. После удаления ключа нужно перезагрузить компьютер и запустить установку обновления заново.
0x800B0100 TRUST_E_NOSIGNATURE — В этом объекте нет подписи.
При появлении ошибки 0x800B0100 следует убедиться, что все файлы типа .mum и .cat находятся в каталоге %windir%TempCheckSURservicing, а все файлы типа .manifest должны быть в каталоге %windir%TempCheckSURmanifests.
После копирования файлов в нужные каталога нужно заново запустить средство проверки готовности системы к обновлению. Если это не помогло, нужно удалить обновление KB2488113 (если стоит) и временно отключить компонент Microsoft .Net Framework 3.5.1. После этого нужно выполнить частичную загрузку системы и заново запустить средство проверки.
При помощи DISM.exe, команды sfc /scannow, средства проверки готовности системы к обновлению и загрузочного образа Windows также можно исправить следующие проблемы:
- 0x80092003 CRYPT_E_FILE_ERROR — При попытке чтения или записи файла Центром обновления Windows произошла ошибка.
- 0x800B0101 CERT_E_EXPIRED — Истек или не наступил срок действия требуемого сертификата при проверке по системным часам или отметке времени в подписанном файле.
- 0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE — Отсутствуют один или несколько обязательных членов транзакции.
- 0x80070490 ERROR_NOT_FOUND — Не удалось выполнить поиск новых обновлений.
Надпись ERROR_NOT_FOUND может говорить о временных ошибках с сетью или проблемах с интернет-соединением. Если проблема не пропадает, нужно попробовать установить обновление вручную.
Статья находится в состоянии редактирования, поскольку кодов ошибок у Центра обновлений достаточно. По мере появления новой информации, информация на странице будет обновляться.