Erro 0x80070070 no Windows Server: espaço mínimo para Atualizações Cumulativas (20 GB recomendados)

Ao instalar uma Atualização Cumulativa no Windows Server, o erro 0x80070070 indica falta de espaço em disco. Mesmo com ~12 GB livres, o processo costuma exigir mais. A prática recomendada para servidores é começar com, no mínimo, 20 GB livres para concluir a atualização com segurança.

Índice

Visão geral do problema

Um administrador tenta aplicar uma Atualização Cumulativa (LCU) e recebe a falha 0x80070070 – ERRORDISKFULL. A pergunta é direta: quanto espaço livre é necessário para concluir a instalação?

Resposta direta

  • O código 0x80070070 confirma falta de espaço.
  • Mantenha ao menos 20 GB livres no volume do sistema (C:\) antes de iniciar a atualização.
  • Esse colchão de espaço cobre:
    • o download dos pacotes;
    • a descompactação temporária e o staging dos binários;
    • a criação de backups/rollback no repositório de componentes (WinSxS).

Regra prática para produção: em servidores Windows (2012 R2, 2016, 2019, 2022 e 2025), planeje ≥ 20 GB de espaço livre no sistema antes de LCUs. Em ciclos com várias atualizações pendentes, mire 25–30 GB para folga operacional.

Por que as Atualizações Cumulativas precisam de tanto espaço?

O mecanismo de manutenção do Windows (servicing) trabalha em etapas. Em cada uma, mais espaço é consumido, às vezes simultaneamente:

FaseO que aconteceImpacto de espaço
DownloadArquivos da LCU e, se aplicável, SSU (Servicing Stack Update) são baixados para SoftwareDistribution\Download.Algumas centenas de MB a alguns GB
DescompactaçãoPacotes são extraídos em diretórios temporários.Expansão de 1,5–3× sobre o tamanho baixado
StagingComponentes são preparados e colocados no repositório de componentes (WinSxS).Varia por versão/roles instalados
Backup/RollbackArquivos de reversão são criados para permitir desinstalar a atualização.Adicional temporário até a limpeza de componentes
LogsGeração de logs em C:\Windows\Logs\CBS e \DISM.Dezenas a centenas de MB (ou mais em cenários com erros)

O efeito combinado dessas fases explica por que 12 GB podem não bastar, e por que a orientação de 20 GB traz previsibilidade.

Requisitos práticos de espaço por cenário

CenárioEspaço livre recomendadoNotas
Windows Server Core (qualquer versão suportada)≥ 20 GBMenos componentes, mas o processo de staging/rollback ainda exige folga.
Windows Server com Desktop Experience20–30 GBMais recursos instalados → pacotes maiores.
Servidor com muitos Features on Demand/Roles≥ 25 GBPlaneje margem adicional para backup/rollback.
Vários meses sem atualizar25–30 GBSequência de LCUs/SSUs pendentes aumenta o consumo temporário.
Cluster com atualização por rotação (node a node)≥ 20 GB por nóAplicar boas práticas abaixo para cada nó, isoladamente.

Checklist rápido antes de atualizar

  • Confirme o espaço livre em C:\ (Win + E ou PowerShell: Get-PSDrive -PSProvider FileSystem).
  • Verifique se há reboot pendente (Chaves como HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending).
  • Registre um backup ou snapshot da VM.
  • Garanta janela de manutenção e comunicação com stakeholders.
  • Se usar WSUS, sincronize e aprove a LCU/SSU relevantes antes.

Como liberar espaço com segurança

Limpeza de componentes (WinSxS)

Esta é a ação que mais recupera espaço quando houve muitas atualizações no passado.

Dism /Online /Cleanup-Image /AnalyzeComponentStore
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase
  • O que faz: remove versões antigas de componentes e consolida a base (WinSxS).
  • Observação importante: com /ResetBase, você não poderá desinstalar atualizações já aplicadas. Use em ambientes controlados.

Excluir arquivos temporários e cache do Windows Update

Ideal quando o download anterior ficou corrompido ou ocupando espaço.

  1. Pare os serviços: net stop wuauserv net stop bits
  2. Apague conteúdos temporários: del /f /s /q %SystemRoot%\SoftwareDistribution\Download\. del /f /s /q %SystemRoot%\Temp\.
  3. Reinicie os serviços: net start wuauserv net start bits

No Server 2019/2022/2025, prefira o Storage Sense (Configurações → Sistema → Armazenamento) para limpar temporários de maneira guiada. No Desktop Experience, Disk Cleanup (cleanmgr) também ajuda.

Mover ou arquivar logs e backups

  • Compacte ou mova logs grandes em C:\Windows\Logs\CBS\ e C:\Windows\Logs\DISM\.
  • Transfira backups do Windows Server Backup para outro volume ou rede.
  • Verifique C:\Windows\MEMORY.DMP e C:\Windows\Minidump\ (podem ser grandes). Se não for preciso manter, mova/compacte.
# Compactar logs maiores que 100 MB
Get-ChildItem "C:\Windows\Logs" -Recurse -File |
  Where-Object { $_.Length -gt 100MB } |
  ForEach-Object { Compress-Archive -Path $.FullName -DestinationPath ($.FullName + ".zip") -Force }

Aumentar o volume do sistema

Quando a limpeza não basta, amplie o volume:

  • VMs Hyper‑V/VMware: expanda o VHDX/VMDK e depois ajuste a partição no convidado.
  • PowerShell (partição NTFS): Get-Partition -DriveLetter C | Resize-Partition -Size (Get-PartitionSupportedSize -DriveLetter C).SizeMax
  • DiskPart: em casos específicos, use diskpartselect volume Cextend.

Boas práticas: evite habilitar Deduplicação no volume do sistema; use-a apenas em dados suportados (como compartilhamentos e VDI).

Diagnóstico e sinais de falta de espaço

  • 0x80070070: erro explícito de disco cheio.
  • 0x800F0922: geralmente indica partição reservada do sistema/mecanismo de instalação (não é exatamente espaço em C:\, mas falta de espaço em partições especiais ou falha de conectividade com o Windows Update/WSUS).
  • Logs com mensagens de Not enough storage em C:\Windows\Logs\CBS\CBS.log.

Fluxo recomendado de correção (passo a passo)

  1. Cheque o espaço atual. Se < 20 GB, prossiga para os passos de limpeza.
  2. Limpeza de componentes: rode StartComponentCleanup /ResetBase.
  3. Limpeza de temporários e cache do Windows Update.
  4. Mover/compactar logs e dumps.
  5. Reinicie o servidor, se havia reboot pendente ou arquivos bloqueados.
  6. Tente novamente a instalação da LCU.
  7. Se ainda faltar espaço, aumente a partição do sistema.

Script de automação (PowerShell) para recuperar espaço e validar o mínimo

O script abaixo consolida tarefas típicas e confirma se o patamar de 20 GB foi atingido antes da atualização. Ajuste conforme sua política de mudanças.

# Requisitos: executar em console elevado (Administrador)

\$MinFreeGB = 20
\$Temp = "\$env\:SystemRoot\Temp"
\$SWD  = "\$env\:SystemRoot\SoftwareDistribution\Download"
\$Logs = "C:\Windows\Logs"

Write-Host "Espaço livre inicial em C: ..." -ForegroundColor Cyan
\$freeGB = \[math]::Round((Get-PSDrive -Name C).Free/1GB,2)
Write-Host "Livre: \$freeGB GB"

1) Limpeza de componentes (WinSxS)

Write-Host "Analisando Component Store..." -ForegroundColor Cyan
Dism /Online /Cleanup-Image /AnalyzeComponentStore | Out-Null

Write-Host "Limpando Component Store (ResetBase)..." -ForegroundColor Cyan
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase | Out-Null

2) Stop serviços do Windows Update e limpar caches temporários

Write-Host "Parando serviços de update..." -ForegroundColor Cyan
net stop wuauserv | Out-Null
net stop bits | Out-Null

Write-Host "Limpando temporários e cache de download..." -ForegroundColor Cyan
Get-ChildItem \$Temp -Recurse -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Get-ChildItem \$SWD  -Recurse -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue

Write-Host "Reiniciando serviços..." -ForegroundColor Cyan
net start wuauserv | Out-Null
net start bits | Out-Null

3) Compactar logs acima de 100 MB

Write-Host "Compactando logs maiores que 100 MB..." -ForegroundColor Cyan
Get-ChildItem \$Logs -Recurse -File -ErrorAction SilentlyContinue |
Where-Object { \$*.Length -gt 100MB } |
ForEach-Object {
try {
Compress-Archive -Path \$.FullName -DestinationPath (\$.FullName + ".zip") -Force -ErrorAction Stop
Remove-Item \$*.FullName -Force
} catch { Write-Warning "Falha ao compactar \$(\$.FullName): \$(\$.Exception.Message)" }
}

4) Recalcular espaço e validar alvo

\$freeGB = \[math]::Round((Get-PSDrive -Name C).Free/1GB,2)
Write-Host "Espaço livre atual: \$freeGB GB" -ForegroundColor Green

if (\$freeGB -lt \$MinFreeGB) {
Write-Warning "Ainda faltam \$(\[math]::Round(\$MinFreeGB - \$freeGB,2)) GB para atingir o mínimo recomendado de \$MinFreeGB GB."
Write-Host "Avalie mover/backupar dumps, logs de apps, ou expandir a partição C:." -ForegroundColor Yellow
} else {
Write-Host "OK: mínimo de \$MinFreeGB GB atendido. Prossiga com a atualização." -ForegroundColor Green
}

5) Sinalizar reboot pendente (se existir)

\$RebootPending = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"
if (\$RebootPending) {
Write-Warning "Reinicialização pendente detectada. Reinicie antes de aplicar a LCU."
} 

FAQ – Perguntas frequentes

Posso instalar a atualização com menos de 20 GB livres?
Às vezes sim, mas é arriscado. O consumo real varia por versão/roles e pode esgotar durante a descompactação. Em produção, adote 20 GB como base e 25–30 GB quando houver LCUs acumuladas.

Server Core precisa do mesmo espaço?
Geralmente um pouco menos, mas o ganho não é tão grande a ponto de mudar a recomendação. Mantenha ≥ 20 GB.

Devo apagar a pasta C:\Windows\Installer?
Não. Ela armazena pacotes MSI necessários a reparos/desinstalações. Removê-la pode corromper a manutenção do sistema.

O /ResetBase é seguro?
Sim, em servidores estáveis e com backup. Lembre-se: após /ResetBase você não consegue desinstalar atualizações anteriores; use em conjunto com boas práticas de versionamento e testes.

E se o erro for 0x800F0922?
Investigue a partição reservada do sistema e conectividade com o serviço de atualização. O problema não é necessariamente espaço em C:\, mas sim na partição de boot ou comunicação com o endpoint de updates.

Boas práticas permanentes

  • Planejamento de capacidade: dimensione a unidade do sistema com folga. Para servidores modernos, 80–100 GB em C:\ é comum, além de volumes separados para dados e logs de aplicações.
  • Rotina de limpeza: agende StartComponentCleanup periodicamente para evitar crescimento excessivo do WinSxS.
  • Monitoramento: configure alertas quando o volume do sistema ficar abaixo de 20% de espaço livre.
  • Segregação de dados: direcione logs e dumps de apps para volumes não-sistêmicos.
  • WSUS: se o servidor for WSUS, mantenha o conteúdo em volume dedicado; no SO, priorize o espaço do sistema para o mecanismo de manutenção.

Resumo

O erro 0x80070070 é inequívoco: o Windows não tem espaço suficiente para concluir a Atualização Cumulativa. Em ambientes de Windows Server, a recomendação prática é começar com pelo menos 20 GB livres no volume do sistema, valor que acomoda download, descompactação e arquivos de rollback. Se o servidor não atingir essa meta, aplique as ações de limpeza (WinSxS, temporários e cache do Windows Update), mova/compacte logs e, quando necessário, expanda a partição. Seguindo essa rota, a instalação da LCU tende a ocorrer sem o erro de falta de espaço.


Índice