Corrigir corrupções do Windows Update e falhas de instalação

Este artigo oferece métodos manuais avançados para corrigir problemas que impedem que o Windows Update seja instalado com êxito usando a ferramenta DISM (Gerenciamento e Manutenção de Imagens de Implantação).

Observação

Este artigo é destinado ao uso por agentes de suporte e profissionais de TI. Se você estiver em casa e estiver procurando mais informações sobre como corrigir erros de atualização do Windows, consulte Corrigir erros do Windows Update.

Número original do KB: 947821

Erros comuns de corrupção

As atualizações do Windows podem falhar ao serem instalados se houver erros de corrupção. Você pode verificar se há erros no log de eventos da instalação. A tabela a seguir lista o código de erro possível para o Windows Update para sua referência:

Código Erro do Descrição
0x80070002 ERROR_FILE_NOT_FOUND O sistema não pode encontrar o arquivo especificado.
0x800f0831 CBS_E_STORE_CORRUPTION A loja CBS está corrompida.
0x8007000D ERROR_INVALID_DATA Os dados são inválidos.
0x800F081F CBS_E_SOURCE_MISSING Não foi possível encontrar a origem para o pacote ou arquivo.
0x80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT O componente armazenado está em um estado de inconsistência.
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH O arquivo de um componente não corresponde às informações de verificação presentes no manifesto do componente.
0x800705B9 ERROR_XML_PARSE_ERROR Não é possível analisar os dados XML solicitados.
0x80070246 ERROR_ILLEGAL_CHARACTER Foi encontrado um caractere inválido.
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR Uma caracteres da identidade está malformada.
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME O nome de um atributo em uma identidade não está dentro de um intervalo válido.
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE O valor de um atributo em uma identidade não está dentro de um intervalo válido.
0x80070057 ERROR_INVALID_PARAMETER O parâmetro está incorreto.
0x800B0100 TRUST_E_NOSIGNATURE Nenhuma assinatura estava presente no assunto.
0x80092003 CRYPT_E_FILE_ERROR Ocorreu um erro enquanto o Windows Update lê ou grava em um arquivo.
0x800B0101 CERT_E_EXPIRED Um certificado necessário não está dentro do seu período de validade quando verificado em relação ao relógio do sistema ou o carimbo de data/hora do arquivo assinado.
0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE Um ou mais membros obrigatórios da transação não estão presentes.
0x80070490 ERROR_NOT_FOUND O Windows não pôde pesquisar novas atualizações.
0x800f0984 PSFX_E_MATCHING_BINARY_MISSING O diretório de componentes correspondentes existe, mas o binário está ausente
0x800f0986 PSFX_E_APPLY_FORWARD_DELTA_FAILED Falha na aplicação do delta avançado
0x800f0982 PSFX_E_MATCHING_COMPONENT_NOT_FOUND Não é possível identificar o componente correspondente para a hidratação

Por exemplo, uma atualização pode não ser instalada se um arquivo do sistema estiver danificado. O DISM pode ajudá-lo a corrigir alguns erros de corrupção do Windows.

Consulte esta página para ver os cenários de resolução de problemas do Windows Update.

Usando o DISM para reparar corrupções do Windows Update

Observação

A solução mencionada nesta seção se aplica a versões modernas do Windows, como Windows 11, Windows 10, Windows Server 2016 ou posterior.

Para resolver corrupções do Windows Update e resolver falhas de instalação de atualizações, use a ferramenta DISM. Em seguida, instale o Windows Update.

  1. Abra um prompt de comando com privilégios elevados. Para fazer isso, abra o menu Iniciar, digite Prompt de Comando, clique com o botão direito do mouse em Prompt de Comando e selecione Executar como administrador. Se for solicitada uma senha de administrador ou uma confirmação, digite a senha ou selecione Sim.

  2. Digite o seguinte comando e pressione Enter: Podem ser necessários vários minutos para que a operação de comando seja concluída.

    DISM.exe /Online /Cleanup-image /Restorehealth
    

    Importante

    O reparo do DISM funciona melhor quando você se conecta aos servidores do Microsoft Update para buscar arquivos ausentes ou corrompidos. Quando você usa o comando de procedimento, o DISM obtém os arquivos necessários para corrigir quaisquer corrupções do Windows Update. No entanto, se o seu computador não conseguir se conectar ao Windows Update, você também poderá usar uma instalação do Windows em funcionamento como fonte de reparo ou usar arquivos de uma pasta do Windows em uma rede ou de um USB ou DVD. Em vez disso, use este comando:

    DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:\\<servername>\c$\winsxs /LimitAccess
    

    Observação

    Substitua <servername> pelo nome do computador que você está usando como fonte de reparo. O computador de origem do reparo deve estar executando a mesma versão do sistema operacional. Para obter mais informações sobre como usar a ferramenta DISM para reparar o Windows, consulte Reparar uma Imagem do Windows. Se o resultado da verificação for "A operação de restauração foi concluída com êxito", vá para a próxima etapa. Caso contrário, tente analisar o arquivo CBS.log e corrigir erros.

  3. Digite o comando sfc /scannow e pressione Enter. Podem ser necessários vários minutos para que a operação de comando seja concluída.

  4. Feche o prompt de comando e execute o Windows Update novamente.

O DISM cria um arquivo de log (%windir%\Logs\CBS\CBS.log) que captura todos os problemas encontrados ou corrigidos pela ferramenta. %windir% é a pasta na qual o Windows está instalado. Por exemplo, a pasta %windir% é C:\Windows.

Como funciona o DISM Repair?

O DISM é uma ferramenta de linha de comando usada para fazer a manutenção e reparar imagens do Windows, incluindo o Ambiente de Recuperação do Windows, a Instalação do Windows e o Windows PE (WinPE). Ele também pode ser usado para reparar a imagem local do Windows em seu computador.

Para lhe dar uma melhor compreensão, aqui está um resumo dos recursos que a ferramenta DISM verifica quanto à integridade:

  • Arquivos localizados nos seguintes diretórios:
    • %SYSTEMROOT%\Servicing\Packages
    • %SYSTEMROOT%\WinSxS\Manifests
  • Dados do Registro localizados nas seguintes subchaves do Registro:
    • HKEY_LOCAL_MACHINE\Components
    • HKEY_LOCAL_MACHINE\Schema
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

Essa lista pode ser atualizada a qualquer momento. Quando o DISM detecta manifestos, gabinetes ou dados de registro incorretos, ele pode substituir os dados incorretos por uma versão corrigida.

Logging

A ferramenta DISM cria um arquivo de log que captura todos os problemas encontrados ou corrigidos pela ferramenta. O arquivo de log está localizado aqui:

  • %SYSTEMROOT%\Logs\CBS\CBS.log
  • %SYSTEMROOT%\Logs\CBS\CBS.persist.log

Guia avançado para corrigir a corrupção do CBS manualmente usando o utilitário DISM

Etapa 1: analisar o arquivo CBS.log

Depois de executar os comandos do DISM, vá para %WinDir%\Logs\CBS\CBS.log para exibir os resultados. O arquivo de log fornece um resumo da verificação e detalhes de todos os erros encontrados.

Aqui está um exemplo do resumo do log:

Checking System Update Readiness.
    (p)      CSI Payload Corrupt              (n)           amd64_microsoft-windows-a..modernappmanagement_31bf3856ad364e35_10.0.19045.3636_none_23b3b3ece690d77b\EnterpriseModernAppMgmtCSP.dll
       (p)    CBS MUM Missing                         (n)                 Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
       (p)    CSI Manifest Corrupt             (w)    (Fixed)       wow64_microsoft-windows-audio-mmecore-acm_31bf3856ad364e35_10.0.19045.1_none_a12b40f4b4c7b751
    (p)      CSI Manifest Corrupt          (n)                    wow64_microsoft-windows-audio-volumecontrol_31bf3856ad364e35_10.0.19045.3636_none_4514b27cf12f35d5


Summary:
Operation: Detect and Repair 
Operation result: 0x800f081f
Last Successful Step: Remove staged packages completes.
Total Detected Corruption: 2
    CBS Manifest Corruption: 2
    CBS Metadata Corruption: 0
    CSI Manifest Corruption: 0
    CSI Metadata Corruption: 0
    CSI Payload Corruption: 0
Total Repaired Corruption: 1
    CBS Manifest Repaired: 1
    CSI Manifest Repaired: 0
    CSI Payload Repaired: 0
    CSI Store Metadata refreshed: False
Staged Packages:
    CBS Staged packages: 0
    CBS Staged packages removed: 0

Observação

Corrupção de payload CSI: Isso indica que o EnterpriseModernAppMgmtCSP.dll do arquivo de payload está corrompido.

CBS MUM ausente: um arquivo MUM necessário está ausente do pacote (Microsoft-Windows-Client-Features-Package).

Corrupção do manifesto CSI: Houve duas instâncias de corrupção manifesta. Um foi corrigido (wow64_microsoft-windows-audio-mmecore-acm) e o outro (wow64_microsoft-windows-audio-volumecontrol) permanece corrompido.

Etapa 2: Baixe os arquivos ausentes

  1. Identifique os arquivos ausentes ou corrompidos.

    Revise o arquivo CBS.log para identificar os arquivos ausentes ou corrompidos. Por exemplo:

    (p) CSI Payload Corrupt (n) amd64_microsoft-windows-a..modernappmanagement_31bf3856ad364e35_10.0.19045.3636_none_23b3b3ece690d77b\EnterpriseModernAppMgmtCSP.dll
    (p) CBS MUM Missing (n) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
    (p) CSI Manifest Corrupt (n) wow64_microsoft-windows-audio-volumecontrol_31bf3856ad364e35_10.0.19045.3636_none_4514b27cf12f35d5
    
  2. Determine a atualização que contém os arquivos ausentes.

    Nas entradas de log, identifique os números de atualização de revisão de compilação (UBR) nos caminhos do arquivo:

    • No arquivo EnterpriseModernAppMgmtCSP.dll, o número UBR é 10.0.19045.3636.
    • Microsoft-Windows-Client-Features-Package No pacote, o número UBR é 10.0.19045.4291.
  3. Combine o número UBR com o número KB:

    1. Vá para a página de histórico de atualizações do Windows para sua versão (por exemplo, Windows 10, versão 22H2).
    2. Combine o número UBR (3636 ou 4291) com as atualizações listadas para localizar o número KB.

    Por exemplo:

    • UBR 3636 pode corresponder a KB5031445.
    • UBR 4291 pode corresponder a KB5036892.
  4. Pesquise e baixe a atualização pelo número KB:

    1. Use os números de KB identificados para pesquisar as atualizações no Catálogo do Microsoft Update.
    2. Baixe as atualizações associadas a cada número KB para restaurar os arquivos ausentes ou corrompidos.

Etapa 3: extraia os arquivos .msu e .cab

Para resolver os arquivos corrompidos identificados no arquivo CBS.log , extraia os arquivos ausentes em uma pasta específica. Siga estas etapas para extrair os .msu arquivos e .cab usando o script do PowerShell fornecido e copie os arquivos necessários para a pasta C:\temp\Source.

  1. Crie as pastas necessárias.

    Execute o seguinte comando para criar a pasta C:\temp\Source se ela não existir:

    mkdir C:\temp\Source
    
  2. Use as instruções e o script em Scripts: extrair arquivos .msu e .cab para extrair os .msu arquivos fornecendo os caminhos de destino dos .msu arquivos.

Etapa 4: Repare os arquivos corrompidos usando os arquivos de origem

  1. Copie as versões corretas dos arquivos corrompidos.

    Copie as versões corretas de todos os arquivos corrompidos que pertencem a esta atualização para a pasta C:\temp\Source . Por exemplo, execute o seguinte comando:

    Copy-Item "C:\path\extractedFiles\corruptedfile.dll" -Destination "C:\temp\Source"
    

    Repita esse processo para cada arquivo corrompido identificado no log até que todos os arquivos corrompidos sejam copiados para a pasta C:\temp\Source .

  2. Execute novamente o comando DISM.

    Abra um prompt de comando como administrador e execute o seguinte comando DISM com a /Source opção:

    DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\temp\Source\ /LimitAccess
    

Etapa 5: verificar e confirmar

  1. Execute novamente o comando DISM.

    Execute novamente o seguinte comando DISM para verificar se os problemas foram resolvidos:

    DISM /Online /Cleanup-Image /ScanHealth
    
  2. Verifique o arquivo CBS.log .

    Revise o arquivo CBS.log para garantir que não haja erros restantes.

Exemplo de saída de comando DISM

A saída do comando DISM restore fornece informações cruciais sobre a corrupção que foi detectada e reparada:

Checking System Update Readiness.

(p) CBS MUM Missing (n) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
Repair failed: Missing replacement mum/cat pair.
(p) CBS MUM Missing (w) (Fixed) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4412

Summary:
Operation: Detect and Repair 
Operation result: 0x800f081f
Last Successful Step: Remove staged packages completes.
Total Detected Corruption: 2
    CBS Manifest Corruption: 2
    CBS Metadata Corruption: 0
    CSI Manifest Corruption: 0
    CSI Metadata Corruption: 0
    CSI Payload Corruption: 0
Total Repaired Corruption: 1
    CBS Manifest Repaired: 1
    CSI Manifest Repaired: 0
    CSI Payload Repaired: 0
    CSI Store Metadata refreshed: False
Staged Packages:
    CBS Staged packages: 0
    CBS Staged packages removed: 0

Coleta de dados

Se você precisar de ajuda do suporte da Microsoft, recomendamos coletar as informações seguindo as etapas mencionadas em Coletar informações usando o TSS para problemas relacionados à implantação.