Ошибка c01a001d при операции обновления windows 8

Обновлено: 06.07.2024

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

Восстановление с помощью установочного диска

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

  1. Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
  2. В PowerShell выполните команду:

Этап 2 – проверка целостности системных файлов

Строго говоря, этот этап не имеет отношения к восстановлению компонентов. Однако техническая поддержка Microsoft рекомендует после проверки целостности хранилища компонентов также проверить и целостность системных файлов. Для этого в командной строке, запущенной от имени администратора, выполните команду:

У меня один из файлов был поврежден, и утилита SFC успешно восстановила его.

Случаи, когда системе не удалось восстановить какие-либо файлы, выходят за рамки этой статьи (я разберу их в другой раз).

Этап 3 – установка обновления

Итак, две команды восстановили целостность хранилища компонентов и системных файлов. Самое время попробовать установить обновление заново.

Как видите, на сей раз у меня все сработало!

Что такое обслуживание Windows и зачем оно нужно

Преимущества встроенного восстановления компонентов Windows

Давайте сравним ключевые моменты восстановления компонентов в разных операционных системах.

Windows Vista и Windows 7

Утилита CheckSUR представляет собой набор полезных файлов, который регулярно обновляется по мере выхода новых исправлений. Таким образом, при возникновении проблем нужно скачивать утилиту заново, а между тем, сентябрьский пакет весит 350 Мб.

Но даже при таком размере в пакет не входят файлы для всех исправлений, выпущенных Microsoft (предположу, что файлов необязательных обновлений там нет). Это означает, что утилита не может устранить повреждения некоторых компонентов. И хотя обходной путь существует, он является костылем, требующим дополнительных телодвижений.

После запуска утилита распаковывает содержимое пакета в папку \Windows\CheckSUR\. Поскольку большинство файлов в пакете имеет очень небольшой размер, этот процесс получается длительным и занимает до 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%\Logs\DISM\dism.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:\WINDOWS\SoftwareDistribution\Download. А на восьмёрке вон, даже у аккуратного пользователя, лишний раз не лезущего в систему удалять чего- нибуть, что- то сломалось.

Ваша оценка: +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)

Рекламный блок

Подпишитесь на рассылку

Навигация

Облако тегов

Архив статей

Сейчас обсуждаем

img

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

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

алминистратор windows power shell

Состояние хранилища компонентов обозначается параметром Image Health State. Если его значение Healthy, переходите к проверке целостности системных файлов. Если же повреждение хранилища не исправлено, нужно попробовать сделать это с помощью установочного диска.

Восстановление с помощью установочного диска

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

  1. Щелкните правой кнопкой мыши по ISO-образу и выберите в меню Подключить. Обратите внимание на букву диска, которую получил подключенный образ.
  2. В PowerShell выполните команду:

Repair-WindowsImage -Online -RestoreHealth -Source Е:\sources\install.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%\Logs\CBS\CBS.log , а так же событий в системном Журнале Событий.
  • Из информации в записях или интерфейсных окнах получаете шестнадцатеричное (либо десятичное) представление ошибки.
  • В нижеприведенной таблице находите номер ошибки и смотрите алгоритм устранения в столбце Решение , если это ссылка, то щелкаете и переходите на статью с непосредственными рекомендациями по устранению.
Очевидно, что таблица находится в состоянии перманентного дополнения/изменения, поскольку как бы не хотелось получить на личном опыте, проанализировать и классифицировать такое огромное количество ошибок может разве что разработчик Windows Update у которого внезапно образовалось несколько свободных от работы лет.

Читайте также: