3

Я пытаюсь обновить свой компьютер с Windows 7 с помощью Центра обновления Windows, но постоянно получаю сообщение об ошибке 800B0100 (аналогично тому, что сообщалось здесь, здесь и здесь). После выполнения нескольких шагов, упомянутых в этих руководствах (средство готовности к обновлению системы, проверка диска, загрузка обновлений Windows Update, DISM, sfc, возможно, что-то еще, что я забыл). Я пришел в основном с пустыми руками.

Единственное, что я получил, это команда DISM /Online /Cleanup-image /Scanhealth я выполнил . Это произвело этот файл CheckSUR.log. Некоторые основные моменты:

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x00000000  servicing\Packages\Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum       Expected file name Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~neutral~~11.2.9412.0.mum does not match the actual file name
(f) CBS MUM Corrupt 0x00000000  servicing\Packages\Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum      Expected file name Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~neutral~~11.2.9412.0.mum does not match the actual file name
(f) CBS MUM Corrupt 0x800F0900  servicing\Packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum        Line 1: 
(f) CBS Catalog Corrupt 0x800B0100  servicing\Packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.cat        
(f) CBS MUM Corrupt 0x800F0900  servicing\Packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum        Line 1: 

...

Checking Package Watchlist

Checking Component Watchlist

Checking Packages

Checking Component Store
(f) CSI Manifest All Zeros  0x00000000  winsxs\Manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7601.23136_none_c6c193f2071b07e3.manifest   amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7601.23136_none_c6c193f2071b07e3 
(f) CSI Manifest All Zeros  0x00000000  winsxs\Manifests\amd64_microsoft-windows-ncrypt-dll_31bf3856ad364e35_6.1.7601.23136_none_bc7a217a2167e4bd.manifest  amd64_microsoft-windows-ncrypt-dll_31bf3856ad364e35_6.1.7601.23136_none_bc7a217a2167e4bd    
(f) CSI Manifest All Zeros  0x00000000  winsxs\Manifests\amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7601.23136_none_b772aa2a2bf98230.manifest   amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7601.23136_none_b772aa2a2bf98230 
(f) CSI Manifest All Zeros  0x00000000  winsxs\Manifests\amd64_microsoft-windows-smss_31bf3856ad364e35_6.1.7601.23136_none_0ad673e548fd75d4.manifest    amd64_microsoft-windows-smss_31bf3856ad364e35_6.1.7601.23136_none_0ad673e548fd75d4  
(f) CSI Manifest All Zeros  0x00000000  winsxs\Manifests\amd64_microsoft-windows-rpc-http_31bf3856ad364e35_6.1.7601.23136_none_fe94b8d86f1fbfc8.manifest    amd64_microsoft-windows-rpc-http_31bf3856ad364e35_6.1.7601.23136_none_fe94b8d86f1fbfc8  

...

servicing\packages\Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum
    servicing\packages\Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum
    servicing\packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_113_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_113_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
    servicing\packages\Package_114_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum

Как я могу исправить эти ошибки, чтобы при следующем запуске DISM я не получил их? Я надеюсь, что это исправит мою первоначальную ошибку (с кодом ошибки 800B0100 в Центре обновления Windows), поэтому в качестве альтернативы, если у вас есть исправление, я был бы гораздо более благодарен.

2 ответа2

4

вступление

DISM будет восстанавливать поврежденные обновления только в том случае, если у него есть доступ к "хорошим" версиям обновлений в соответствующем подкаталоге %WINDIR%\Temp\CheckSUR\ . Без этих файлов DISM или System Update and Readiness Tool (SURT) будут генерировать только список обнаруженных поврежденных файлов и фактически не будут выполнять какие-либо исправления (как вы видели).

Итак, как вы можете определить поврежденные файлы и затем исправить их? Эта статья о MS KB делает разумную работу, описывая ее, хотя и с несколькими неработающими ссылками и отсутствующими деталями, которые в основном рассматриваются в этой другой MS KB. К сожалению, некоторые сведения противоречат этой статье MS technet *(см. Сноску). Предполагая, что вы предпочитаете читать о процедуре здесь, а не объединять несколько разных источников ....

Шаги, чтобы определить плохие обновления

В %WINDIR%\Logs\CBS\CheckSUR.log , созданном путем установки SURT или запуска DISM , перейдите к нижней части файла и прочитайте строки, начинающиеся с servicing\packages\Package_ в разделе Unavailable repair files: раздел. Где вы видите _for_KB ###### , KB ###### (в вашем случае KB3040272) - это обновление, которое вы хотите загрузить. @ magicandre1981 также определил, что KB3071756 влияет на вас, предположительно из части вашего файла журнала, которая не указана в вопросе напрямую.

Загрузите не поврежденную версию пакетов

После того как вы определили поврежденные базы знаний, вы можете получить файлы MSU Центра обновления Майкрософт в соответствующей записи базы знаний на support.microsoft.com (/kb/######) или, используя IE, перейти в каталог Центра обновления Майкрософт и поиск соответствующего номера КБ. На странице MS KB прокрутите вниз до раздела "Обновление информации" и найдите ссылку "Загрузить пакет сейчас". рядом с ссылкой для вашего вида операционной системы (x86 = 32-битная ОС; x64 = стандартная 64-битная; ia-64 только для высокопроизводительных 64-битных серверов Intel). Загрузите файл.

Обеспечение доступности файлов обновлений для DISM/SURT

После загрузки файлов вы можете поместить весь MSU, как указано ниже, или вы можете извлечь все содержащиеся в нем файлы mum , cat и manifest а затем переместить "хорошую" версию поврежденных пакетов, указанных в CheckSUR.log, в соответствующий каталог (снова , как указано ниже). Извлечение из файла msu может быть выполнено с помощью следующей последовательности команд.

expand -f:* C:\path\to\msu.msu %temp%\msuexpanded\
expand -f:* %temp\msuexpanded\Windows6.1-KBnnnnnn-xnn.cab %temp\msuexpanded\cab\

update.cat и update.mum должны быть переименованы в имя, специфичное для пакета - например, для вашего поврежденного пакета, вы должны переименовать update.cat в Package_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.cat .

Затем вы должны переместить файлы (msu и / или другие расширения) на место из каталога% temp\msuexpanded\cab\ * (см. Сноску):

File Extension | Absolute path (create if needed) | OS version confirmed (by)
-------------- | -------------------------------- | -----
msu            | %SYSTEMROOT%\CheckSUR\packages\  | Windows 7 SP1 x64 (@chadnt‡)

(см. сноску для символов)

File Extension | Subdirectory of %WINDIR%\Temp\CheckSUR\ (create if needed)
-------------- | -------
cat            | servicing\Packages\
mum            | servicing\Packages\
manifest       | winsxs\Manifests\
msu (alternate)| Packages\

И %SYSTEMROOT% и %WINDIR% умолчанию имеют значение C:\WINDOWS

Если восстановительные файлы находятся в правильном каталоге, DISM/SURT теперь должен восстановить поврежденные файлы.

Восстановление поврежденных файлов

После установки KB2966583 - Усовершенствования средства готовности к обновлению системы в Windows 7 и Windows Server 2008 R2 (статья КБ | загрузка MSU) становится доступной версия командной строки "DISM".

DISM становится вызываемой из командной строки версией CheckSUR, также известной как средство готовности обновления системы (SURT) в Windows7, так что вам не нужно "устанавливать" SURT из MS KB 947821 каждый раз, когда вам нужно проверить / восстановить поврежденные обновления MS.

Использование DISM заключается в следующем

DISM /Online /Cleanup-Image /Scanhealth

Который должен быть запущен из учетной записи администратора (т. Е. Администратора / командной строки с повышенными правами или панели запуска с повышенными привилегиями).

Или вы всегда можете установить SURT из KB947821 снова.

После повторного запуска DISM или SURT, проверьте файл CheckSUR.log еще раз и посмотрите, адресован ли он вашим поврежденным пакетам. Если это не сработало, вы можете рассмотреть возможность обновления на месте Windows.

Отказ от ответственности: части этого взяты из ответа @ magicandre1981. Поскольку я добавил так много деталей, я больше не чувствовал, что простое редактирование его сообщения было в порядке.

Сноски

* Что касается каталогов, противоречивая информация предоставляется на веб-сайте Microsoft:

  1. KB947821 (шаг 4 из "Как исправить") говорит, что msu следует скопировать в %SYSTEMROOT%\CheckSUR\packages
  2. KB2700601 сообщает msu , mum and cat в %WinDir%\Temp\CheckSUR\Packages\
  3. MS Technet говорит (после исправления опечатки) файлы mum и cat идут в %windir%\Temp\CheckSUR\servicing\packages

Точно так же есть несколько местоположений, определенных как соответствующий каталог для файлов manifest

† @mpag
‡ @chadnt

0

попробуйте установить обновление KB2966583:

Улучшения для инструмента готовности обновления системы в Windows 7 и Windows Server 2008 R2
http://support.microsoft.com/kb/2966583/en-us

Теперь он должен позволить вам выполнить эту команду DISM для восстановления поврежденных файлов:

DISM /Online /Cleanup-Image /Scanhealth

(Я никогда не пробовал, если это действительно работает. Пожалуйста, попробуйте и сообщите

Если это не работает, сделайте следующее. Поскольку файлы обновлений KB3040272 и KB3071756 повреждены, загрузите файлы MSU из центра загрузки, поместите их в папку %SYSTEMROOT%\CheckSUR\packages и снова запустите средство Checkur KB947821 .

если это не помогло устранить проблему, восстановите Windows с помощью Inplace Update.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .