ТЛ; др:
1)Win7 x86 SP1 не будет установлен
2) Обнаружено "поврежденное" обновление системы с помощью CheckSUR: KB2479628
3) Не могу удалить / переустановить обновление любым известным способом
4) Прикрепленный?
Это будет долгий сценарий, так что терпите меня. Вот детали фона:
На выходных у меня была задача установить Windows 7 SP1 на любые применимые серверы во время простоя. Все серверы обновлены, за исключением одной надоедливой 32-битной виртуальной машины Win7 Pro, которую мы используем для тестирования. Так как это некритический блок, я проигнорировал его и продолжил выполнять другие проверки, полагая, что я доберусь до него позже. Сегодня я потратил около 3 часов на устранение неполадок, почему именно эта вещь не обновится до SP1. Код ошибки, который я получаю с помощью Центра обновления Windows: 0x800F080D.
Используя Google, я наткнулся на инструмент CheckSUR, который можно использовать для проверки на наличие ошибок или отсутствующих функций, которые могут потребоваться для обновлений: http://support.microsoft.com/?kbid=947821
После запуска я посмотрел в% windir%\logs\CBS\CheckSUR.log, который показал следующее:
Checking Package Manifests and Catalogs
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_2_for_KB2479628~31bf3856ad364e35~x86~~6.1.1.4.cat
(f) CBS MUM Corrupt 0x800F080D servicing\Packages\Package_for_KB2479628_RTM~31bf3856ad364e35~x86~~6.1.1.4.mum
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_for_KB2479628_RTM~31bf3856ad364e35~x86~~6.1.1.4.cat
(f) CBS MUM Corrupt 0x800F080D servicing\Packages\Package_for_KB2479628~31bf3856ad364e35~x86~~6.1.1.4.mum
Checking Component Store
(f) CSI Manifest Failed Catalog Check 0x00000000 winsxs\Manifests\x86_f352a6c8c5baa79b60637048ed291c9c_31bf3856ad364e35_6.1.7600.16732_none_1611ae244ffc9218.manifest x86_f352a6c8c5baa79b60637048ed291c9c_31bf3856ad364e35_6.1.7600.16732_none_1611ae244ffc9218
По крайней мере, это сузило его до одного поврежденного обновления. Достаточно просто, я просто зайду в Программы и компоненты и удалю их. Именно тогда я понял, что он даже не был указан как установленный. Что-то должно было пойти не так с этим обновлением в какой-то момент.
Я просмотрел реестр и нашел кучу записей для этого обновления. Ни одно из значений или ключей не может быть удалено, чтобы заставить систему переустановить обновление. То же самое относится к фактическим файлам пакета в% windir%\servicing\Packages\, на которые ссылались в CheckSUR.log. Windows жалуется, что ей требуется разрешение от SYSTEM для изменения или удаления файлов, даже когда я вошел в систему как администратор.
Мне удалось найти автономный установщик msu здесь: http://www.microsoft.com/technet/security/bulletin/MS11-012.mspx
Когда я запускаю эту msu, мне говорят, что обновление уже установлено.
Затем я просмотрел список всех 3 ручных методов удаления вручную, перечисленных на этой странице: http://www.sevenforums.com/tutorials/109213-windows-update-uninstall-console-level.html
Ни один не удался. Я получаю эту ошибку, используя метод II и III, который кажется довольно общим: 0x800B0100 В теме нет подписи.
Я также попытался открыть файл cab для этого обновления и вручную заменить файлы .mum и .cat, которые были повреждены, но столкнулись с проблемой разрешений SYSTEM.
Я еще не пробовал делать этот безопасный режим, но думал, что это не будет лучше.
Я также попытался запустить sfc /scannow в безопасном режиме, который выдает это очень полезное сообщение о том, что он обнаружил проблемы с файлами, но не смог их исправить.
Есть что-то, что я пропускаю, или эта коробка Win7 в основном застряла без SP1, пока я не могу переустановить? Может быть, использовать LiveCD и вручную заменить эти файлы .cat и .mum за пределами Windows? Очень хотел бы сделать это так, чтобы обновление Windows не приводило в готовность позже.
Спасибо за любую помощь!