Windows Update Falha no Windows 11: Guia de Troubleshooting para Helpdesk em 2026
Guia prático para resolver falhas do Windows Update no Windows 11. Scripts PowerShell testados, códigos de erro comuns e fluxo passo a passo para helpdesk.
Quando o Windows Update falha no Windows 11, a correção rápida na maioria dos chamados de helpdesk é executar DISM /Online /Cleanup-Image /RestoreHealth seguido de sfc /scannow, resetar os serviços wuauserv, bits e cryptsvc, e renomear a pasta SoftwareDistribution. Nove em cada dez erros (incluindo 0x800f0922, 0x80070002 e 0x8024a105) desaparecem com esse fluxo. Este guia mostra o processo completo que uso no chão do helpdesk, com PowerShell testado no Windows 11 23H2 e 24H2.
O erro 0x800f0922 quase sempre significa espaço insuficiente na partição do sistema ou falha de conexão com o endpoint .NET runtime. Libere 10 GB e valide o proxy antes de qualquer outra coisa.
Resetar os serviços do Windows Update e renomear SoftwareDistribution e Catroot2 resolve corrupção de cache em cerca de 70% dos chamados.
O comando DISM /Online /Cleanup-Image /RestoreHealth repara a imagem do componente antes do sfc /scannow. Se você inverter a ordem, o SFC pode falhar silenciosamente.
A partir do Windows 11 24H2, o log WindowsUpdate.log só é gerado via Get-WindowsUpdateLog no PowerShell. O arquivo tradicional em C:\Windows não existe mais.
Ambientes com WSUS ou Windows Update for Business exigem checagem adicional das chaves HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate antes de tocar no cliente.
Por que o Windows Update falha no Windows 11?
Na minha experiência (e já perdi a conta de quantos chamados desses fechei), 80% das falhas do Windows Update no Windows 11 caem em cinco categorias: cache corrompido na pasta SoftwareDistribution, espaço insuficiente na partição do sistema (o instalador precisa de pelo menos 8 GB livres, e 10 GB para feature updates), corrupção da imagem do componente WinSxS, políticas de grupo mal configuradas (especialmente em ambientes com WSUS legado) e conexão bloqueada até os endpoints da Microsoft. O restante são drivers incompatíveis ou conflitos com antivírus de terceiros.
Antes de sair rodando comandos, vale entender a arquitetura. O serviço wuauserv orquestra a busca de atualizações; bits (Background Intelligent Transfer Service) faz o download; cryptsvc valida assinaturas; e o TrustedInstaller aplica as mudanças. Se qualquer um destes serviços travar ou tiver arquivos corrompidos em disco, a cadeia inteira quebra e o usuário só vê "Ocorreu um erro". Nosso trabalho no helpdesk é isolar qual etapa quebrou.
Em máquinas gerenciadas por Windows Update for Business ou WSUS, adicione uma sexta categoria: o cliente pode estar apontando para um servidor de atualização inacessível. Verifique a chave HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer antes de tocar no cliente. Resetar serviços em máquinas com política ativa não resolve nada.
Códigos de erro mais comuns e o que cada um significa
Documentar códigos de erro é meu esporte favorito. Honestamente, guarde esta tabela, porque ela cobre praticamente todos os chamados que já abri no meu último trimestre:
Código
Significado
Ação inicial
0x800f0922
Espaço insuficiente ou falha ao conectar no endpoint .NET
Liberar 10 GB e validar proxy/firewall
0x80070002
Arquivo de atualização ausente ou SoftwareDistribution corrompida
Resetar cache do Windows Update
0x80073712
Manifesto de componente corrompido no WinSxS
DISM /RestoreHealth
0x8024a105
Falha genérica de conexão com servidor de update
Verificar proxy, TLS 1.2/1.3, DNS
0x80240034
Download travou ou foi cancelado
Reiniciar BITS e limpar fila
0x800705b4
Timeout, geralmente durante inicialização do serviço
Reiniciar máquina e serviço wuauserv
0xC1900101
Falha de driver durante feature update
Atualizar/remover driver antes de tentar de novo
0x8007000d
Dados de instalação inválidos
Baixar update manualmente do catálogo
Os dois primeiros representam mais de 60% dos chamados que vejo. O 0xC1900101 merece atenção especial porque quase sempre vem acompanhado de um subcódigo (por exemplo, 0xC1900101 - 0x40017) que aponta a fase exata em que a instalação abortou. Anote esse subcódigo antes de tocar em qualquer coisa.
Diagnóstico inicial: os 5 minutos antes de qualquer comando
Antes de executar qualquer script, faça este checklist. Você economiza tempo e evita mascarar a causa raiz:
Espaço em disco: abra o PowerShell e rode Get-Volume C. Precisa de pelo menos 10 GB livres para feature updates, 5 GB para quality updates.
Conectividade: teste Test-NetConnection -ComputerName windowsupdate.microsoft.com -Port 443. Se falhar, o problema é rede/proxy, não Windows Update.
Data e hora: um relógio dessincronizado quebra a validação de assinatura. Verifique com w32tm /query /status.
Ambiente gerenciado: rode gpresult /h C:\Temp\gpo.html e procure políticas de Windows Update. Se o cliente aponta para WSUS, o troubleshooting muda.
Últimas alterações: pergunte ao usuário. Novo antivírus? Instalação de driver na semana passada? Update anterior aplicado com sucesso ou também falhou?
Documentar essas cinco informações no ticket já resolve metade dos chamados escalados. Muita gente escala sem checar espaço em disco, e sinto muito, mas isso é o básico.
Como resetar os serviços do Windows Update no Windows 11
Esse é o script que rodo com mais frequência. Salve como Reset-WindowsUpdate.ps1 e execute como Administrador. Ele para os serviços, renomeia o cache, e sobe tudo de volta:
# Reset-WindowsUpdate.ps1
# Executa como Administrador. Testado em Windows 11 23H2 e 24H2.
Write-Host "Parando servicos do Windows Update..." -ForegroundColor Yellow
Stop-Service -Name wuauserv, cryptsvc, bits, msiserver -Force -ErrorAction SilentlyContinue
# Renomear pastas de cache (nao apagar, em caso de rollback vira util)
$timestamp = Get-Date -Format "yyyyMMdd-HHmmss"
$softwareDist = "C:\Windows\SoftwareDistribution"
$catroot2 = "C:\Windows\System32\catroot2"
if (Test-Path $softwareDist) {
Rename-Item -Path $softwareDist -NewName "SoftwareDistribution.old-$timestamp" -Force
Write-Host "SoftwareDistribution renomeada." -ForegroundColor Green
}
if (Test-Path $catroot2) {
Rename-Item -Path $catroot2 -NewName "catroot2.old-$timestamp" -Force
Write-Host "catroot2 renomeada." -ForegroundColor Green
}
# Reregistrar DLLs do BITS e Windows Update
$dlls = @(
"atl.dll", "urlmon.dll", "mshtml.dll", "shdocvw.dll", "browseui.dll",
"jscript.dll", "vbscript.dll", "scrrun.dll", "msxml.dll", "msxml3.dll",
"msxml6.dll", "actxprxy.dll", "softpub.dll", "wintrust.dll", "dssenh.dll",
"rsaenh.dll", "gpkcsp.dll", "sccbase.dll", "slbcsp.dll", "cryptdlg.dll",
"oleaut32.dll", "ole32.dll", "shell32.dll", "wuapi.dll", "wuaueng.dll",
"wups.dll", "wups2.dll", "wuweb.dll", "qmgr.dll", "qmgrprxy.dll",
"wucltux.dll", "muweb.dll", "wuwebv.dll"
)
Push-Location "$env:SystemRoot\System32"
foreach ($dll in $dlls) {
regsvr32.exe /s $dll
}
Pop-Location
Write-Host "DLLs reregistradas." -ForegroundColor Green
Write-Host "Subindo servicos..." -ForegroundColor Yellow
Start-Service -Name cryptsvc, bits, msiserver, wuauserv
Write-Host "Reset concluido. Rode 'wuauclt /detectnow' ou reinicie a maquina." -ForegroundColor Cyan
Após rodar o script, aguarde 2 a 3 minutos e execute UsoClient StartScan para forçar uma nova varredura. No Windows 11, o comando clássico wuauclt /detectnow foi substituído mas ainda funciona para compatibilidade. Se o problema persistir após o reset e uma nova busca, aí sim vá para o DISM/SFC.
Como corrigir o erro 0x800f0922 passo a passo
O 0x800f0922 é o campeão de chamados. Ele tem duas causas principais: falha ao instalar componentes do .NET Framework (comum em quality updates) ou espaço insuficiente na Partição Reservada do Sistema (aquela partição de 100 a 500 MB, oculta). Meu fluxo:
Rode Get-Volume | Where-Object {$_.DriveType -eq 'Fixed'} e olhe o campo SizeRemaining da partição de sistema. Se estiver abaixo de 50 MB, você achou o culpado.
Se for espaço na partição reservada, use o utilitário diskpart ou, mais simples, o comando fsutil para identificar quais arquivos estão ocupando espaço. Frequentemente é uma fonte antiga de idioma que pode ser removida.
Se for espaço na C:, use cleanmgr /sagerun:1 para rodar limpeza automatizada e depois DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase. Este último libera de 3 a 8 GB removendo componentes antigos que a Microsoft mantém para permitir desinstalação.
Se o disco está fartamente livre, o problema é o endpoint .NET. Verifique se a máquina consegue chegar em *.download.windowsupdate.com e *.dl.delivery.mp.microsoft.com. Em ambientes corporativos com proxy, esses domínios precisam estar na lista de exceções.
Se depois de tudo isso o erro persistir, baixe o pacote específico manualmente do Microsoft Update Catalog e instale via wusa.exe update.msu /quiet /norestart. Esse workaround pula toda a orquestração do Windows Update e vai direto ao instalador.
Reparar a imagem do sistema com DISM e SFC
A ordem correta importa muito. O DISM repara a imagem base do Windows (o component store em WinSxS) usando fontes online do Windows Update. O SFC verifica arquivos protegidos do sistema contra essa imagem base. Se você rodar SFC antes do DISM e a imagem base estiver corrompida, o SFC pode encontrar problemas mas falhar em corrigir, porque a fonte de reparo também está quebrada. Já vi isso comer duas horas do meu dia em 2024, então aprendi na marra.
# Sequencia correta em PowerShell elevado
# 1. Checar saude da imagem (rapido, so relata)
DISM /Online /Cleanup-Image /CheckHealth
# 2. Escanear (mais lento, ainda so relata)
DISM /Online /Cleanup-Image /ScanHealth
# 3. Reparar (baixa do Windows Update)
DISM /Online /Cleanup-Image /RestoreHealth
# 4. So depois rodar SFC
sfc /scannow
# 5. Se tiver ISO local, use como fonte offline (mais rapido)
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:1 /LimitAccess
Em máquinas em ambiente isolado (sem internet), você precisa fornecer a fonte offline com /Source. O /LimitAccess impede que o DISM tente cair de volta no Windows Update se o WIM local falhar. Também é útil quando o link é lento e você quer garantir que o reparo use o pacote local.
Depois do reparo, revise o log em C:\Windows\Logs\DISM\dism.log e C:\Windows\Logs\CBS\CBS.log. Para o SFC, o log fica em C:\Windows\Logs\CBS\CBS.log. Filtre com findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > %userprofile%\Desktop\sfc-log.txt para extrair só as linhas relevantes.
O que fazer quando o Windows Update fica travado em 0% ou 100%
Update travado é frustrante porque a UI não diz nada. A primeira coisa: espere de verdade. Em máquinas com HDD e não SSD, um feature update pode ficar aparentemente parado por 30 a 60 minutos processando arquivos. Se passou disso, aí investigue:
Travado no download (0 a 99%): quase sempre é o BITS. Rode Get-BitsTransfer -AllUsers | Format-Table -AutoSize. Se tiver jobs presos em estado TransientError ou Suspended, remova com Get-BitsTransfer -AllUsers | Remove-BitsTransfer e refaça o scan.
Travado em "Preparando para instalar" (100%): arquivo baixado mas o TrustedInstaller não conseguiu iniciar. Verifique se o serviço TrustedInstaller está rodando: Get-Service TrustedInstaller. Se estiver parado, inicie e reinicie a máquina.
Travado em "Trabalhando em atualizações" após reboot: pressione e segure o botão de força por 10 segundos para desligar. Ligue novamente. O Windows tentará rollback automaticamente. Se travar de novo no mesmo ponto, boote em modo de recuperação (F11 durante o boot) e escolha "Desinstalar atualizações mais recentes".
Para monitorar o progresso real de uma feature update, olhe o log em C:\$WINDOWS.~BT\Sources\Panther\setupact.log. Ele mostra em tempo real o que o instalador está fazendo. Se o log parar de crescer por mais de 15 minutos, aí sim está genuinamente travado.
WSUS, Intune e políticas: quando o problema não está no cliente
Em ambientes corporativos, metade dos chamados de "Windows Update falhando" tem raiz no servidor de atualização, não na máquina do usuário. Antes de rodar qualquer coisa localmente, verifique a origem. Esse é o mesmo padrão de investigação que uso em problemas de GPO que não aplica no Windows 11: sempre valide a fonte antes do cliente.
# Verificar qual servidor de update a maquina esta usando
$regPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
if (Test-Path $regPath) {
Get-ItemProperty -Path $regPath | Select-Object WUServer, WUStatusServer, UseWUServer
Get-ItemProperty -Path "$regPath\AU" -ErrorAction SilentlyContinue |
Select-Object UseWUServer, NoAutoUpdate, AUOptions
} else {
Write-Host "Maquina nao esta gerenciada por politica de WSUS/GPO."
}
# Testar conectividade com WSUS (troque a URL pelo seu servidor)
Test-NetConnection -ComputerName wsus.contoso.local -Port 8530
Se a máquina aponta para WSUS mas o servidor está offline ou não aprovou a atualização, o cliente vai falhar com 0x8024401c ou 0x80244010. A correção é no servidor: aprovar a atualização no console do WSUS ou, no Intune, revisar a update ring e as deferrals. Em ambientes híbridos migrando para Windows Update for Business ou Windows Autopatch, garanta que a máquina não está com política dupla. Dupla configuração é fonte comum de conflito, e já queimei um sábado inteiro por causa disso.
Como forçar a atualização manual do Windows 11
Quando o cliente Windows Update se recusa a cooperar mesmo depois de todo o troubleshooting, há três caminhos para forçar a atualização:
Microsoft Update Catalog: acesse catalog.update.microsoft.com, busque o número KB (por exemplo, KB5040442) e baixe o pacote .msu compatível com a arquitetura. Instale com wusa.exe KB5040442-x64.msu /quiet /norestart.
Windows 11 Installation Assistant: para feature updates (23H2 para 24H2, por exemplo), baixe o assistente oficial em microsoft.com/software-download/windows11. Ele contorna o cliente Windows Update completamente.
ISO + Setup.exe: monte a ISO do Windows 11 e rode setup.exe /auto upgrade /quiet /noreboot /migratedrivers all como Administrador. Preserva arquivos, apps e configurações. Método mais confiável para upgrades in-place quando tudo mais falhou.
Para complementar o troubleshooting em máquinas com problemas recorrentes, vale revisar também nosso guia sobre tela azul da morte no Windows 11. Updates falhados frequentemente vêm acompanhados de BSODs pós-reboot, e a causa raiz costuma ser a mesma (driver ou storage).
Logs e diagnóstico avançado com Get-WindowsUpdateLog
Esse é o passo que separa o L1 do L2. Do Windows 10 em diante (e ainda mais no Windows 11 24H2), o arquivo WindowsUpdate.log em C:\Windows não é mais gerado diretamente. Ele agora é compilado sob demanda a partir de ETW traces em C:\Windows\Logs\WindowsUpdate. Para gerar o log legível:
# Elevado, no PowerShell
Get-WindowsUpdateLog -LogPath "$env:USERPROFILE\Desktop\WindowsUpdate.log"
# Requer conexao com internet (para baixar simbolos publicos)
# Em ambientes offline, use:
Get-WindowsUpdateLog -SymbolServer "\\fileserver\symbols" -LogPath "C:\Temp\wu.log"
O log é enorme. Procure por linhas contendo FATAL, WARNING ou por códigos hex (por exemplo, 0x800f). Uma linha típica útil tem o formato:
Se você precisar de mais profundidade, o Windows Update error reference da Microsoft tem catálogo completo de códigos, e o guia oficial de logs do Windows Update explica o formato do ETW trace. Também recomendo cruzar o log com o Event Viewer em Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational. Cada tentativa de update gera um evento com ID 19 (sucesso), 20 (falha) ou 43 (started).
Perguntas frequentes
Por que o Windows 11 24H2 não aparece no Windows Update?
O rollout do 24H2 é gradual e depende de safeguard holds, que são bloqueios automáticos para hardware ou drivers com incompatibilidades conhecidas. Verifique em Settings → Windows Update se aparece a mensagem "Upgrade to Windows 11, version 24H2 is on its way". Se não, rode o PC Health Check ou consulte o release health dashboard para ver se há hold aplicado.
Posso apagar a pasta SoftwareDistribution sem problemas?
Sim, desde que os serviços wuauserv e bits estejam parados antes. O Windows recria a pasta automaticamente na próxima varredura. Prefira renomear (não apagar) para preservar o histórico de updates em caso de necessidade forense.
Quanto tempo leva o comando DISM /RestoreHealth?
Entre 10 e 45 minutos em conexão banda larga típica. Ele pode parecer travado em 62,3% ou 92,3% por vários minutos, e isso é normal, então não interrompa. Se passar de uma hora sem progresso no log, valide sua conexão com windowsupdate.microsoft.com.
O Windows Update falha depois de instalar antivírus de terceiros. É esperado?
Sim, é comum. Alguns antivírus bloqueiam escritas em SoftwareDistribution ou interferem no TrustedInstaller. Adicione exclusões para C:\Windows\SoftwareDistribution, C:\Windows\WinSxS e os serviços wuauserv, bits, TrustedInstaller. Se persistir, desabilite temporariamente o antivírus para o update e reative depois.
Como reverto uma atualização que quebrou a máquina?
No Windows 11, vá em Settings → Windows Update → Update history → Uninstall updates. Para feature updates aplicadas há menos de 10 dias, há a opção "Go back" em Settings → System → Recovery. Via linha de comando: wusa.exe /uninstall /kb:5040442 /quiet /norestart.
Prompts de chave de recuperação do BitLocker no Windows 11 estão entre os tickets de maior MTTR. Este guia de 2026 mostra as causas reais (KB5083769, PCR7, Secure Boot), onde achar a chave no Entra ID/Intune e como automatizar o escrow.
Guia prático de troubleshooting para quando a GPO não aplica no Windows 11: gpresult, filtros WMI, escopo de OU, serviço gpsvc, conflitos MDM/Intune com MDMWinsOverGP e um script PowerShell de triagem pronto para tier-1.
Guia prático para o helpdesk de 2026 diagnosticar e resolver BSOD no Windows 11: leitura de stop codes, análise de minidump com WinDbg, Driver Verifier, reparo via WinRE e prevenção em frotas gerenciadas.