Восстановление хранилища компонентов при помощи средства проверки готовности системы к обновлению (SURT)
Сегодня вашему вниманию предоставляется еще одно пополнение цикла статей о методах восстановления хранилища компонентов Windows. Помимо изобретения широкой общественностью бесчисленного множества «наколеночных» методик восстановления работоспособности компонентной модели, сами разработчики из Microsoft предлагают вполне официальные методы. В данной публикации мы рассмотрим один из подобных методов, который заключается в восстановлении хранилища компонентов при помощи средства проверки готовности системы к обновлению или, иными словами восстановлении хранилища компонентов при помощи SURT. Фактически описываемым методом предусматривается проверка каталогов/файлов компонентной модели при помощи специализированного пакета и попытка устранения найденных ошибок.
Что же это за средство проверки готовности системы к обновлению?
Представляет собой набор (базу) файлов компонентов, регулярно обновляемый (был, до некоторого времени) по мере выхода новых исправлений. Грубо говоря, утилита SURT это отличный способ для большинства пользователей проанализировать хранилище компонентов в собственной системе на разного рода повреждения, и иметь возможность устранить найденные повреждения в случае, если встроенная база имеет необходимые для восстановления файлы.
Первый запуск SURT
Для начала скачиваем пакет для вашего языка и разрядности системы: KB947821 (x32) или KB947821 (x64). Запускаем только что выкачанный пакет обновления с повышенными привилегиями.
Поскольку SURT представляет собой утилиту, в процессе выполнения кода образа KB947821 , он обнаруживает несоответствия (фактически ошибки) в хранилище пакетов и пытается исправить их, если находит соответствующие файлы для восстановления в собственной внутренней базе (полезной нагрузке пакета обновления). После завершения процесса установки SURT в систему, появится сообщение Установка завершена , закрываем окно нажатием кнопки Закрыть . Результатом работы утилиты является файл отчета о проверке хранилища компонентов на наличие разного рода ошибок.
Анализ результатов
После окончания установки (статус: Установка завершена ) проверяем лог-файл %Windir%\Logs\CBS\CheckSUR.log на предмет наличия записей об ошибках. На наличие проблем в хранилище компонентов обычно указывают сообщения о найденных ошибках ( Found X errors ) или недоступных файлов для восстановления ( Unavailable repair files ):
По изначальному замыслу разработчиков, средство SURT предназначалось для автоматического исправления найденных в хранилище компонентов ошибок, именно для этого в продукт поместили полный каталог эталонных файлов. Тем не менее, со временем ситуация изменилась:
Вот именно поэтому, в случае обнаружения в лог-файле %Windir%\Logs\CBS\CheckSUR.log (битых) ненайденных файлов для восстановления, у нас имеется несколько вариантов решения.
Вариант 1: файловая часть
- Проверяем результаты работы утилит восстановления хранилища в лог-файле %Windir%\Logs\CBS\CheckSUR.log . К примеру, в файле журнала могут быть обнаружены следующие данные:
После того, как вы определили имена, есть несколько возможных вариантов решений:
- найти указанные в логе файлы на работоспособной операционной системе аналогичной редакции/версии;
- по имени проблемных файлов пакетов найти соответствующее [родительское] обновление ( KB. ), которому принадлежит недостающие файлы (в примере выше это KB3037574 ), скачать его из Центра загрузок Майкрософт или Центра обновления Майкрософт, или попросту используя поисковик. Затем распаковать из скачанного обновления все необходимые файлы.
- *.mum — и *.cat -файлы складываются в %Windir%\Temp\CheckSUR\servicing\packages ;
- *.manifest -файлы складываются в %Windir%\Temp\CheckSUR\winsxs\manifests\ ;
Вариант 2: реестровая часть
Как мы помним, у компонентной модели Windows имеется часть, размещающаяся в реестре операционной системы.
- запускаем редактор реестра regedit.exe ;
- перемещаемся в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages и для каждого найденного проблемного файла повторяем следующие шаги:
- ищем интересующий нас подключ реестра (например, Package_for_KB3037574
6.1.1.0.mum );
- меняем разрешения безопасности подключа: выделяем (ставим курсор) интересующую нас запись, нажимает правую кнопку мыши — пункт меню разрешения — выделяем курсором текущего пользователя — в нижней части окна ставим чекбокс напротив разрешения Полный доступ . Применяем изменения через кнопку OK ;
- выполняем удаление записи:
Вариант 3: удаление битого пакета
Этот вариант заключается в ручном удалении проблемного пакета из командной строки.
- По тем же логам вычисляем наименование пакета, в нашем случае это Package_for_KB3037574
6.1.1.0 ;
после этого пробуем удалить его при помощи утилиты dism:
dism /Online /Remove-Package /PackageName:Package_for_KB3037574
Устранение ошибок Центра обновления Windows с помощью средства DISM или средства проверки готовности системы к обновлению
Исходная версия продукта: Windows 10, версия 1809 и более поздние версии, Windows Server 2012 R2, Windows 7 с пакетом обновления 1, Windows Server 2008 R2 с пакетом обновления 1 (SP1)
Исходный номер статьи базы знаний: 947821
Симптом
При возникновении ошибок с повреждениемобновления Windows и пакетов обновления могут не устанавливаться. Например, обновление может не устанавливаться, если поврежден системный файл. Средство DISM или средство готовности к обновлению системы могут помочь устранить некоторые ошибки повреждения Windows.
Эта статья предназначена для агентов поддержки и ИТ-специалистов. Если вы являетесь домашним пользователем и искали дополнительные сведения об устранении ошибок Центра обновления Windows, ознакомьтесь с разрешениями ошибок Центра обновления Windows.
Решение для Windows 10 и Windows Server 2012 R2
Чтобы устранить эту проблему, используйте средство обслуживания образов развертывания и управления ими (DISM). После этого снова установите обновление Windows или пакет обновления.
Откройте окно командной строки с повышенными полномочиями. Для этого проведите пальцем от правого края экрана и нажмите кнопку Поиск. Если вы используете мышь, наведите указатель мыши на правый нижний угол экрана, а затем выберите Поиск. Введите Командная строка в поле поиска , щелкните правой кнопкой мыши пункт Командная строкаи выберите пункт Запуск от имени администратора. При получении запроса на ввод пароля администратора или подтверждения введите пароль или выберите Разрешить.
Введите следующую команду, а затем нажмите клавишу ВВОД. Для выполнения операции команды может потребоваться несколько минут.
При выполнении этой команды DISM использует обновление Windows для предоставления файлов, необходимых для исправления повреждений. Тем не менее, если клиент обновления Windows уже нарушен, используйте работающую установку Windows в качестве источника восстановления или используйте параллельную папку Windows из сетевой папки или со съемного носителя, например DVD-диска Windows, в качестве источника файлов. Для этого выполните следующую команду:
Замените заполнитель к:\репаирсаурце\виндовс на путь к источнику восстановления. Для получения дополнительных сведений об использовании средства DISM для восстановления Windows щелкните ссылку Восстановление образа Windows.
Введите sfc /scannow команду и нажмите клавишу ВВОД. Для выполнения операции команды может потребоваться несколько минут.
Закройте командную строку, а затем снова запустите Обновление Windows .
DISM создает файл журнала (% windir%/Логс/КБС/КБС.лог), который захватывает все проблемы, обнаруженные или исправленные средством. % WINDIR% — папка, в которой установлена система Windows. Например, папка% WINDIR% — К:\виндовс.
Решение для Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1)
Чтобы устранить эту проблему, воспользуйтесь средством проверки готовности системы к обновлению. После этого снова установите обновление Windows или пакет обновления.
Скачайте средство проверки готовности системы к обновлению.
в приведенной ниже таблице выберите ссылку для скачивания, соответствующую версии Windows, установленной на компьютере. Для получения дополнительных сведений о том, как найти установленную версию Windows, ознакомьтесь с разпрограммным способом, чтобы узнать, работает ли на компьютере 32-разрядная или 64-разрядная версия Windows.
Это средство регулярно обновляется, поэтому рекомендуется всегда загружать последнюю версию. Это средство недоступно на всех поддерживаемых языках. Чтобы узнать, доступна ли на вашем языке, обратитесь к приведенной ниже ссылке.
| Операционная система | Ссылка для скачивания |
|---|---|
| версии Windows 7 с пакетом обновления 1 (SP1) для 32-разрядных (32-разрядных) | скачайте пакет сейчас. |
| версии Windows 7 с пакетом обновления 1 (SP1) для 64-разрядных (64-разрядных) | скачайте пакет сейчас. |
| 64-разрядные версии Windows Server 2008 R2 с пакетом обновления 1 64 (SP1) | скачайте пакет сейчас. |
| Версии Windows Server 2008 R2 с пакетом обновления 1 (SP1) для процессоров Itanium | скачайте пакет сейчас. |
Установите и запустите средство.
На веб-странице центра загрузки выберите загрузить , а затем выполните одно из следующих действий:
- Для немедленной установки средства нажмите Открыть или выполнить, а затем следуйте инструкциям на экране.
- Чтобы установить средство позже, нажмите сохранить, а затем скачайте установочный файл на свой компьютер. Когда вы будете готовы установить средство, дважды выберите файл.
В диалоговом окне автономный установщик обновлений Windows нажмите кнопку Да.
При установке средства автоматически запускается. Несмотря на то что выполнение обычно занимает менее 15 минут, на некоторых компьютерах может потребоваться значительно больше времени. Даже если индикатор выполнения кажется остановленным, сканирование все еще выполняется, поэтому не выбирайте Отмена.
После завершения установки нажмите кнопку Закрыть.
Повторно установите обновление или пакет обновления, который вы пытались установить ранее.
Чтобы вручную устранить ошибки, обнаруженные средством, но не подлежащих исправлению, Узнайте, как устранить ошибки, обнаруженные в файле журнала средства CheckSUR.
Решение — Скачайте пакет непосредственно из каталога Центра обновления Майкрософт
Вы также можете попробовать скачать пакет обновления из каталога Центра обновления Майкрософт, а затем установить пакет обновления вручную.
Например, при попытке установить обновления из центра обновления Windows могут возникнуть проблемы. В этом случае вы можете скачать пакет обновления и попытаться установить обновление вручную. Для этого выполните следующие действия:
В поле поиска введите номер обновления, который требуется скачать. В этом примере входное значение 3006137. Затем выберите Поиск.
Найдите обновление, которое применяется к вашей операционной системе соответствующим образом в результатах поиска, а затем нажмите кнопку Добавить , чтобы добавить обновление к корзине.
Выберите Просмотр корзины , чтобы открыть свою корзину.
Нажмите кнопку скачать , чтобы скачать обновление в вашей корзине.
Нажмите кнопку Обзор , чтобы выбрать расположение для загружаемого обновления, а затем нажмите кнопку продолжить.
Нажмите кнопку Закрыть после завершения процесса загрузки. После этого можно найти папку, содержащую пакет обновления, в указанном расположении.
Откройте папку, а затем дважды выберите пакет обновления, чтобы установить обновление.
Если обновление Windows или пакет обновления успешно установлены, все готово. Если проблема не устранена, или если средству проверки готовности к обновлению не удалось найти причину, свяжитесь с нами, чтобы получить дополнительную помощь.
Описание распространенных ошибок повреждения
В приведенной ниже таблице перечислены возможные коды ошибок, содержащиеся в обновлении Windows для вашей справочной системы:
| Код | Ошибка | Описание |
|---|---|---|
| появляется | ERROR_FILE_NOT_FOUND | Системе не удается найти указанный файл. |
| 0x8007000D | ERROR_INVALID_DATA | Недопустимые данные. |
| 0x800F081F | CBS_E_SOURCE_MISSING | Источник пакета или файла не найден. |
| 0x80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | Хранилище компонентов находится в несогласованном состоянии. |
| 0x800736CC | ERROR_SXS_FILE_HASH_MISMATCH | Файл компонента не отвечает сведениям проверки, указанным в манифесте компонента. |
| 0x800705B9 | ERROR_XML_PARSE_ERROR | Не удается выполнить синтаксический анализ запрошенных XML-данных. |
| 0x80070246 | ERROR_ILLEGAL_CHARACTER | Обнаружен недопустимый символ. |
| 0x8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR | Строка удостоверения неправильно сформирована. |
| 0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | Имя атрибута в идентификаторе не входит в допустимый диапазон. |
| 0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | Значение атрибута в удостоверении находится за пределами допустимого диапазона. |
| 0x80070057 | ERROR_INVALID_PARAMETER | Недопустимый параметр. |
| 0x800B0100 | TRUST_E_NOSIGNATURE | В теме отсутствует подпись. |
| 0x80092003 | CRYPT_E_FILE_ERROR | Произошла ошибка при чтении или записи в файл с помощью центра обновления Windows. |
| 0x800B0101 | CERT_E_EXPIRED | Запрошенный сертификат находится не в течение срока действия при проверке с текущими системными часами или отметкой времени в подписанном файле. |
| 0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | Отсутствует один или несколько обязательных элементов транзакции. |
| 0x80070490 | ERROR_NOT_FOUND | Windows не удалось выполнить поиск новых обновлений. |
| 0x800f0984 | PSFX_E_MATCHING_BINARY_MISSING | Подходящая папка компонента существует, но отсутствует двоичный файл |
| 0x800f0986 | PSFX_E_APPLY_FORWARD_DELTA_FAILED | Не удалось применить перенаправленную разницу |
| 0x800f0982 | PSFX_E_MATCHING_COMPONENT_NOT_FOUND | Не удается определить сопоставленный компонент для гидратации |
Что делает средство проверки готовности системы к обновлению
Проверка целостности ресурсов
Средство проверки готовности системы к обновлению проверяет целостность следующих ресурсов:
- Файлы, расположенные в следующих каталогах:
- %системрут%\сервиЦинг\паккажес
- %системрут%\винсксс\манифестс
- Данные реестра, расположенные в следующих подразделах реестра:
- HKEY_LOCAL_MACHINE \Компонентс
- HKEY_LOCAL_MACHINE \Счема
- Обслуживание на основе \Софтваре\микрософт\виндовс\куррентверсион\компонент HKEY_LOCAL_MACHINE
Этот список можно обновить в любое время.
Если средство проверки готовности к обновлению обнаружило неправильные манифесты, ящики или данные реестра, они могут заменить неверные данные исправленной версией.
Ведение журнала
Средство проверки готовности системы к обновлению создает файл журнала, в котором регистрируются все проблемы, обнаруженные или исправленные средством. Файл журнала расположен здесь:
Устранение ошибок, обнаруженных в файле журнала средства CheckSUR
Чтобы вручную устранить ошибки, обнаруженные средством проверки готовности системы к обновлению, но не подлежащих исправлению, выполните указанные ниже действия.
% SYSTEMROOT% — это переменная среды, которая сохраняет папку, в которой установлена система Windows. Например, папка% SYSTEMROOT% является К:\виндовс.
Определите пакеты, которые средство не может исправить. Например, в файле журнала можно найти следующее:
Количество выполненных секунд: 264
Найдено 3 ошибки
В MUM, указанном для CBS, отсутствует общее количество: 3
Недоступные файлы восстановления:
В этом случае поврежденный пакет KB958690.
Скопируйте пакет (MSU) в %SYSTEMROOT%\CheckSUR\packages каталог. По умолчанию этот каталог не существует и вам нужно создать каталог.
Повторно запустите средство проверки готовности системы к обновлению.
Если вы являетесь техническим специалистом, Узнайте, как устранить ошибки, обнаруженные в файле CheckSUR. log , для устранения ошибок в файле CheckSUR. log.











