Раздавая обновления для Windows 7 с помощью WSUS, регулярно сталкиваюсь с одной и той же проблемой. Пользователи, не дождавшись завершения установки, выключают компьютер, в результате чего, недоустановленные обновления на следующих запусках компьютера начинают ставиться бесконечно и безуспешно, фиксируя в журнале код 0x800b0100. Самое простое решение заключается в двукратной установке обновления KB947821 и простейших манипуляциях.
Ошибка при установке обновлений Windows

KB947821 (Средство проверки готовности системы к обновлению — CheckSUR) сканирует систему на повреждения, исправляет некоторые из них и создаёт информативный файл C:\Windows\Logs\CBS\CheckSUR.log

Возьмём для примера «зависший» хотфикс KB3123479 и проанализируем CheckSUR.log

Показать »

=================================
Checking System Update Readiness.
Binary Version 6.1.7601.22471
Package Version 26.0
2016-01-25 10:55
 
Checking Windows Servicing Packages
 
Checking Package Manifests and Catalogs		
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(f)	CBS Catalog Corrupt	0x800B0100	servicingPackagesPackage_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat				
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(f)	CBS Catalog Corrupt	0x800B0100	servicingPackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.cat		
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(f)	CBS Catalog Corrupt	0x800B0100	servicingPackagesPackage_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat		
 
Checking Package Watchlist
 
Checking Component Watchlist
 
Checking Packages
 
Checking Component Store
 
Summary:
Seconds executed: 1734
 Found 3 errors
  CBS MUM Corrupt Total count: 3
  CBS Catalog Corrupt Total count: 3
 
Unavailable repair files:
	servicingpackagesPackage_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum
	servicingpackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.mum
	servicingpackagesPackage_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum
	servicingpackagesPackage_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat
	servicingpackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.cat
	servicingpackagesPackage_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat

Видим, что MUM и CAT-файлы хотфикса повреждены, в чём можно дополнительно убедиться открыв их. Как правило, в случаях проблем с обновлениями из-за отключения питания компьютера, эти файлы забиты нулями вместо полезной информации. Скачиваем вручную проблемный хотфикс с сервера M$ и открываем архиватором его, а затем находящийся в нём файл Windows6.1-KB3123479-x86.cab. В данном CAB-архиве, в числе прочих и содержатся интересующие нас MUM и CAT-файлы.

Распаковка хотфикса msu

KB947821 кроме LOG-файла создаёт во временной папке директорию CheckSUR с вложенными подкаталогами, среди которых, согласно файлу CheckSUR.log, нас будет интересовать путь CheckSUR\servicing\Packages. Копируем по этому пути все или только необходимые файлы из Windows6.1-KB3123479-x86.cab.

Примечание

В CAB-архиве вы не найдете файлы:

Package_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum
Package_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat

Так как в исходном виде они называются update.mum и update.cat Переименуйте их вручную в требуемый вид.

После этих манипуляций повторно запустите KB947821, дождитесь завершения его работы и снова загляните в CheckSUR.log, чтобы убедиться в исправлении ошибок:

Показать »

=================================
Checking System Update Readiness.
Binary Version 6.1.7601.22471
Package Version 26.0
2016-01-25 11:32
 
Checking Windows Servicing Packages
 
Checking Package Manifests and Catalogs
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(fix)	CBS MUM Corrupt	CBS File Replaced	Package_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
(fix)	CBS Paired File	CBS File also Replaced	Package_2_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(fix)	CBS MUM Corrupt	CBS File Replaced	Package_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.mum from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
(fix)	CBS Paired File	CBS File also Replaced	Package_for_KB3123479_SP1~31bf3856ad364e35~x86~~6.1.1.0.cat from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
(f)	CBS MUM Corrupt	0x800F0900	servicingPackagesPackage_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum		Line 1: 
(fix)	CBS MUM Corrupt	CBS File Replaced	Package_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.mum from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
(fix)	CBS Paired File	CBS File also Replaced	Package_for_KB3123479~31bf3856ad364e35~x86~~6.1.1.0.cat from Cabinet: C:WindowsCheckSurv1.0windows6.1-7601-x86-cab3.cab.
 
Checking Package Watchlist
 
Checking Component Watchlist
 
Checking Packages
 
Checking Component Store
 
Summary:
Seconds executed: 424
 Found 3 errors
 Fixed 3 errors
  CBS MUM Corrupt Total count: 3
  Fixed: CBS MUM Corrupt.  Total count: 3
  Fixed: CBS Paired File.  Total count: 3

Если у вас есть ПО для удаленного администрирования компьютеров, то всё это можно сделать со своего рабочего места, не отрывая пользователя от работы:

1. Тихий запуск KB947821 — Windows6.1-KB947821-v34-x86.msu /quiet /norestart

2. Анализ CheckSUR.log и копирование на удаленную машину необходимых файлов

3. Повторный тихий запуск KB947821

Как вы понимаете, описанная ситуация не связана со способом установки обновлений и упомянутый в статье WSUS здесь совершенно не причём. Прерванная установка обновлений у домашнего пользователя может вызвать точно такую же проблему, решение которой вам теперь известно.