Falha ao instalar a KB5046616 no Windows Server 2022: diagnóstico, erros 0x800f0831/0x800f081f e solução definitiva

A atualização cumulativa KB5046616 pode recusar-se a instalar no Windows Server 2022, travando na enumeração do pacote Foundation ou falhando com erros de origem ausente. Este guia explica a causa provável e traz um passo a passo prático e seguro para resolver.

Índice

Resumo do problema

Em alguns servidores com Windows Server 2022, a instalação da atualização cumulativa mais recente falha mesmo após ações comuns como sfc /scannow, DISM /RestoreHealth com origem local, “refresh” do Windows Update, e instalação manual via .msu/.cab. Entre os sintomas recorrentes estão:

  • Travamento em “Enumerating Foundation package: Microsoft‑Windows‑Foundation‑Package” durante o CBS/DPX.
  • Falhas anteriores mencionando Windows‑Server‑Features…amd64 e mensagens de “source not found”.
  • Diferença aparente entre pilhas de serviço (SSU) listadas quando se compara com outra máquina saudável.

Esses sinais costumam indicar corrupção ou pendências na loja de componentes (WinSxS) e/ou uso de uma origem de reparo que não corresponde exatamente à edição, idioma e mídia do sistema instalado. Os códigos registados normalmente incluem 0x800f081f (origem não encontrada) e 0x800f0831 (manifesto ausente).

O que os sintomas indicam

O Windows Server 2022 utiliza o mecanismo Component-Based Servicing (CBS). O CBS confia na loja de componentes (C:\Windows\WinSxS) e em manifestos de pacotes para adicionar, remover e atualizar componentes. Se há pendências não concluídas, manifestos em falta ou se a origem de reparo não é idêntica ao que o sistema espera (edição, arquitetura, idioma e Desktop Experience vs Core), o CBS pode:

  • Prender-se ao enumerar o pacote Foundation.
  • Retornar erro de origem ausente quando tenta recuperar ficheiros do repositório.
  • Rejeitar a LCU atual porque uma LCU anterior deixou o estado “pendente”.

Sobre SSU: no Server 2022 a pilha de manutenção vem combinada com a LCU. Ver múltiplas entradas de SSU em Packages é normal. Diferenças entre máquinas raramente são a causa raiz; normalmente refletem histórico de atualizações e não impedem, por si, a instalação da LCU. O foco deve permanecer no estado do WinSxS e na origem correta de reparo.

Como confirmar o diagnóstico

Antes do conserto, confirme rapidamente se o problema é pendência, origem ou corrupção. Utilize:

SinalComo verificarIndicaçãoAção sugerida
Reinício pendentereg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" dism /online /get-packages /format:table | findstr /i pendingOperações CBS incompletasReinicie; se persistir, reverta pendências no WinRE.
Origem ausentefindstr /i /c:"0x800f081f" /c:"0x800f0831" C:\Windows\Logs\CBS\CBS.log type C:\Windows\Logs\DISM\dism.log | findstr /i sourceDISM não encontra ficheirosUsar ISO exata do sistema; validar índice do install.wim.
Enumeração do pacote FoundationMensagens repetidas no CBS destacando FoundationCorrupção ou pendência na lojaReverter pendências e reparar WinSxS com origem correta.
Referência a Features on DemandLogs mencionam Windows‑Server‑Features‑onDemand‑PackageConteúdo FoD ausenteMontar ISO do FoD do Server 2022 como origem adicional.

Checklist rápido

  • Reinicie e limpe pendências com /revertpendingactions via WinRE.
  • Repare com a ISO correta usando DISM /RestoreHealth /Source:... com índice certo.
  • Execute StartComponentCleanup e aplique a LCU via WUSA.
  • Se surgir 0x800f0831, aplique primeiro a LCU imediatamente anterior offline e depois a atual.
  • Ajuste a política de reparo de componentes e redefina o Windows Update.
  • Se ainda falhar, proceda a um reparo no local preservando apps e dados.

Pré-requisitos e boas práticas

  • Agende janela de manutenção; mantenha um backup verificado.
  • Garanta espaço livre em C:\ e em C:\Windows\WinSxS\Temp (recomenda-se pelo menos 6–8 GB).
  • Desative temporariamente antivírus/EDR de terceiros durante a instalação.
  • Se usar VM, assegure snapshots consistentes e desligue a VM antes de reverter snapshots.

Procedimento recomendado

Verificar e limpar pendências de instalação e reinício

Procure pendências; se houver, reinicie. Permanecendo presas, limpe via WinRE para evitar bloqueio de ficheiros.

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
dism /online /get-packages /format:table | findstr /i pending

Se o servidor continuar em estado pendente após reinício, a partir do Ambiente de Recuperação:

dism /image:C:\ /cleanup-image /revertpendingactions

Dica: Se a letra do sistema no WinRE não for C:, confirme com diskpart → list vol e ajuste os comandos.

Garantir uma origem de reparo correta e correspondente

Monte a ISO exata do Windows Server 2022 instalada no servidor (mesmo idioma, mesma edição — Standard ou Datacenter; mesma experiência — Core ou Desktop; arquitetura amd64). Descubra o índice correto no install.wim:

dism /Get-WimInfo /WimFile:D:\sources\install.wim

Repare a loja de componentes com o índice correspondente e sem consultar a internet:

dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:<INDICE> /limitaccess

Se a mídia tiver install.esd, substitua wim: por esd:. Caso os logs citem Windows‑Server‑Features‑onDemand‑Package, monte também a ISO do FoD do Server 2022 e adicione-a como origem adicional (/source:wim:E:\sources\sxs quando aplicável).

O que deve coincidirComo confirmarComando útil
EdiçãoStandard vs Datacenterdism /online /Get-CurrentEdition
ExperiênciaServer Core vs Desktop Experiencesysteminfo | findstr /i "Bootable GUI" (indireto) ou compare índices do WIM
IdiomaPT-PT, PT-BR, EN-US, etc.dism /online /Get-Intl
Arquiteturaamd64Verifique na etiqueta do ISO e no índice do WIM

Limpeza da loja de componentes e tentativa de atualização limpa

Após o RestoreHealth, reduza o acervo e remova pacotes substituídos:

dism /online /cleanup-image /startcomponentcleanup

Opcionalmente, para consolidar o baseline (irreversível):

dism /online /cleanup-image /startcomponentcleanup /resetbase

Agora instale a atualização manualmente. Deixe o Windows Update Standalone Installer gerir pré‑requisitos:

wusa.exe Windows10.0-KB5046616-x64.msu /quiet /norestart

Dica prática: durante a instalação, desconecte a rede temporariamente para evitar interferências de políticas, tarefas de varredura e actualizações em paralelo.

Redefinição robusta dos componentes do Windows Update

Se ainda falhar, redefina o cache do Windows Update e catálogos de assinatura:

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 Catroot2.old
net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Depois, volte a procurar e aplicar as atualizações.

Resolver cenário de pacote ausente

Se os logs mostrarem 0x800f0831 ou “package missing manifest”, aplique primeiro a LCU imediatamente anterior offline e, em seguida, a atualização atual. No WinRE:

dism /image:C:\ /add-package /packagepath:D:<LCU_anterior>.cab
dism /image:C:\ /add-package /packagepath:D:\KB5046616.cab

Esta sequência repõe manifestos que podem ter sido removidos por cleanup anterior e destrava a LCU mais recente.

Ajustes de política em ambientes WSUS e proxy

Ative a política “Especificar definições para a instalação de componentes opcionais e reparação de componentes”, permitindo transferir conteúdo de reparo do Windows Update ou definindo uma origem interna. Em ambientes WSUS rígidos, desative temporariamente o uso do WSUS apenas para a reparação:

reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU ^
/v UseWUServer /t REG_DWORD /d 0 /f
net stop wuauserv & net start wuauserv

Verificações adicionais

  • Execute chkdsk /f /r em janela de manutenção para afastar corrupção de disco.
  • Confirme que não há políticas de hardening a bloquear wusa.exe ou dism.exe.
  • Valide que o serviço TrustedInstaller está operacional (Windows Modules Installer).

Reparo no local

Como último recurso, faça uma reparação no local executando o setup.exe da ISO do Windows Server 2022 e escolhendo manter aplicações e dados. Isto reconstrói a loja de componentes sem formatar o servidor. Após o processo, aplique novamente a atualização cumulativa.

Sequência offline sugerida

  1. Inicie no Ambiente de Recuperação.
  2. Identifique a letra da partição do Windows e ajuste os comandos.
  3. Reverta pendências: dism /image:C:\ /cleanup-image /revertpendingactions
  4. Opcional: verifique o disco: chkdsk C: /f /r
  5. Monte a ISO correta (e a ISO de FoD se necessário) e repare a loja: dism /image:C:\ /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:<INDICE> /limitaccess
  6. Se aplicável, injete a LCU imediatamente anterior e depois a atual: dism /image:C:\ /add-package /packagepath:D:<LCU_anterior>.cab dism /image:C:\ /add-package /packagepath:D:\KB5046616.cab
  7. Reinicie no sistema e conclua com wusa em modo normal, caso necessário.

Dicas para leitura de logs

Para acelerar a análise, filtre pontos críticos do CBS e do DISM:

findstr /i /c:"error" /c:"failed" /c:"0x800f" C:\Windows\Logs\CBS\CBS.log > C:\Temp\cbs_errors.txt
type C:\Windows\Logs\DISM\dism.log | findstr /i /c:"source" /c:"package" /c:"manifest" > C:\Temp\dism_focus.txt
  • Procure sequências do tipo “Failed to resolve source” ou “Cannot repair member file”.
  • Quando vir menções repetidas ao pacote Foundation, retome os passos de pendências e reparo de origem.
  • Para Features on Demand, procure referências a *.cab do FoD e confirme que o caminho \sources\sxs foi fornecido como fonte.

Erros comuns e como interpretar

CódigoSignificado práticoCausa provávelSolução direta
0x800f081fOrigem de ficheiros não encontradaMídia errada, índice errado, idioma/edição não coincidenteValidar install.wim e índice; usar /limitaccess com ISO correta
0x800f0831Manifesto de pacote ausenteLCU anterior removida ou não aplicada corretamenteAdicionar LCU anterior offline e, em seguida, a atualização atual
0x800f0922Falha do CBS ao aplicar alteraçõesPendências ou intervenção de segurançaReverter pendências no WinRE; desativar EDR; repetir RestoreHealth

Exemplos práticos prontos para uso

Script de verificação rápida em PowerShell para avaliar pendências, espaço e presença do KB:

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"$pendingWU = Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'; 
$pendingCBS = (dism /online /get-packages /format:table | findstr /i pending) -ne $null; 
$free = (Get-PSDrive C).Free; 
$kb = Get-HotFix -Id KB5046616 -ErrorAction SilentlyContinue; 
[pscustomobject]@{ReinicioPendente=$pendingWU; PacotesPendentes=$pendingCBS; EspacoLivreGB=[math]::Round($free/1GB,2); KBPresente=([bool]$kb)} | Format-List"

Base para reparo com ISO montada em D:

dism /Get-WimInfo /WimFile:D:\sources\install.wim
dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:<INDICE> /limitaccess
dism /online /cleanup-image /startcomponentcleanup
wusa.exe Windows10.0-KB5046616-x64.msu /quiet /norestart

Como validar que deu certo

  • Confirme a presença do KB: Get-HotFix -Id KB5046616
  • Verifique pacotes instalados: dism /online /get-packages | findstr 5046616
  • Confira a compilação do sistema: winver
  • Revise o CBS para garantir ausência de erros recentes: findstr /i /c:"error" /c:"0x800f" C:\Windows\Logs\CBS\CBS.log

Notas essenciais sobre a pilha de manutenção

No Server 2022, o SSU é entregue junto com a LCU. Por isso, ver entradas diferentes de SSU entre máquinas não implica erro. Normalmente, o que bloqueia a instalação é um estado pendente na CBS, uma origem de reparo incorreta ou a falta de um manifesto requerido. Resolva esses pontos e a LCU aplicará sem exigir um SSU isolado.

Perguntas frequentes

Posso usar uma ISO “mais nova” do que o servidor para reparar? Sim, desde que a edição/idioma combinem; porém, quando há mensagens de origem ausente, a melhor taxa de sucesso vem de usar a ISO de mesma família exata do sistema que está instalado.

Devo sempre usar /resetbase? Não. Essa opção torna impossível desinstalar LCUs antigas. Use-a se precisa reduzir o footprint do WinSxS e já confirmou estabilidade.

O que fazer se a enumeração do pacote Foundation continua infinita? Repita a sequência: revertpendingactions no WinRE → RestoreHealth com ISO correta → StartComponentCleanup → aplicar LCU. Se persistir, faça reparo no local.

WSUS pode bloquear a reparação? Sim, ambientes WSUS restritivos podem impedir a obtenção de conteúdo de reparo. Aplique a política de Component Repair e, se necessário, desative temporariamente o uso do WSUS para a reparação, conforme mostrado acima.

Conclusão

Falhas na instalação da atualização cumulativa num servidor Windows Server 2022, acompanhadas de travamento ao enumerar o pacote Foundation e mensagens de “source not found”, em geral derivam de pendências do CBS e/ou origem de reparo inadequada. Seguindo este roteiro — limpeza de pendências, reparo com ISO correspondente, startcomponentcleanup, aplicação disciplinada da LCU e, se preciso, injeção da LCU anterior offline — a instalação tende a concluir com sucesso. Em último caso, a reparação no local recompõe a loja de componentes e devolve a capacidade de receber LCUs normalmente.


Resumo acionável

  • Limpe pendências via WinRE.
  • Repare com ISO idêntica (edição/idioma/experiência) usando /source:wim:…:<INDICE>.
  • Execute /startcomponentcleanup e aplique a LCU com wusa.
  • Para 0x800f0831, injete LCU anterior offline e, na sequência, a atual.
  • Ajuste política de reparo e redefina WU; se necessário, reparo no local.
Índice