Programação Por Equipe DevBras

Capa do artigo: Estender volume no Windows: por que a opção fica cinza e como liberar o espaço

Estender volume no Windows: por que a opção fica cinza e como liberar o espaço

Entenda por que o Windows só estende a partição para um espaço livre colado à direita, e como resolver o caso mais comum: a partição de recuperação no meio do caminho.

Você aumentou o disco da VM de 80 para 120 GB, ou clonou o SSD de 256 GB para um de 1 TB. O Gerenciamento de Disco mostra o espaço novo, você clica com o botão direito no C: e "Estender volume" está cinza. A resposta curta: o Windows só estende uma partição para um espaço não alocado que esteja imediatamente à direita dela, e quase sempre há uma partição de recuperação entre o C: e o espaço livre.

Reiniciar não resolve, nem trocar de usuário. O botão acende quando a geometria do disco permite. Este guia mostra como ler esse mapa, qual partição atrapalha e como tirá-la do caminho sem perder a capacidade de recuperar o Windows.

Por que a opção fica cinza

Uma partição é uma faixa contínua de setores. Estender significa empurrar o fim dela para frente, ocupando os setores seguintes. Se o setor logo depois do fim do C: pertence a outra partição, não há como crescer sem apagar ou mover essa partição. O Gerenciamento de Disco não move partições; ele só estende para a direita, sobre espaço não alocado.

Por isso o número de gigabytes livres não importa. Importa a posição. Os cenários que deixam o botão cinza são estes:

  • Partição de recuperação depois do C:. O Windows instala o ambiente de recuperação (WinRE) numa partição pequena, geralmente no fim do disco. Quando o disco cresce, o espaço novo aparece depois dela.
  • Outra partição de dados depois do C:, como um D: criado na instalação.
  • Espaço livre à esquerda do C:. Estender para trás não é possível pela ferramenta do Windows.
  • Sistema de arquivos que não aceita extensão. A extensão pela ferramenta funciona em NTFS e ReFS; volume FAT32 ou exFAT fica cinza.
  • Disco MBR maior que 2 TB. A tabela MBR não endereça além disso; o excesso aparece como não alocado e não pode ser usado sem converter o disco para GPT.

Como ler o mapa do disco

Abra o Gerenciamento de Disco (diskmgmt.msc) e olhe a faixa horizontal do disco, não a lista de volumes. No exemplo da VM de 120 GB, a faixa fica assim, da esquerda para a direita:

Disco 0  (GPT, 120 GB)
| EFI 100 MB | (Reservada MSR) | C: 79,2 GB NTFS | Recuperação 750 MB | Não alocado 40 GB |

O C: termina e começa a Recuperação. O não alocado só encosta na Recuperação. É por isso que o botão está cinza no C: e, se você clicar com o botão direito na Recuperação, nem aparece a opção de estender. Se você acabou de aumentar o disco no hipervisor e o espaço novo nem aparece, use Ação > Examinar discos novamente.

No PowerShell como administrador, a mesma informação em texto:

Get-Partition -DiskNumber 0 | Format-Table PartitionNumber, DriveLetter, Type, Size, Offset

Get-PartitionSupportedSize -DriveLetter C

Se SizeMax for igual ao tamanho atual do C:, não há espaço contíguo para crescer.

Antes de mexer: o que garantir

  1. Backup dos arquivos que você não consegue baixar de novo, num disco externo ou na nuvem. Ponto de restauração não é cópia de arquivo.
  2. Numa VM, crie um snapshot ou checkpoint. É o desfazer mais barato que existe.
  3. Se o disco usa BitLocker, confirme que a chave de recuperação está salva fora da máquina.
  4. Notebook na tomada. Queda de energia no meio de uma alteração de partição é o jeito clássico de a máquina não voltar.

Caso simples: o espaço já encosta no C:

Se não há nada entre o C: e o não alocado, o botão acende e o assistente resolve em segundos, sem reiniciar. Pelo PowerShell:

$max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $max

Se o que está no meio é um D: com dados, copie os dados para outro lugar, apague o D:, estenda o C: e, se quiser, crie de novo um D: menor no fim.

Caso comum: a partição de recuperação está no meio

A saída segura é desativar o WinRE, apagar a partição de recuperação, estender o C: deixando um pedaço livre no fim, recriar a partição de recuperação ali e reativar o WinRE. Execute num terminal como administrador:

  1. Confira o estado e a localização atual do ambiente de recuperação.
  2. Desative o WinRE. Isso copia a imagem de recuperação para dentro do C:, em C:\Windows\System32\Recovery.
  3. No diskpart, apague a partição de recuperação, estenda o C: e encolha 1 GB para a nova recuperação.
  4. Crie a nova partição com o tipo de recuperação e reative o WinRE.
reagentc /info
reagentc /disable

diskpart
list disk
select disk 0
list partition
select partition 4
delete partition override
select volume C
extend
shrink desired=1024
create partition primary
format quick fs=ntfs label="Windows RE tools"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
exit

reagentc /enable
reagentc /info

Confira o número da partição em list partition antes do delete. No exemplo, a partição 4 é a de recuperação de 750 MB; na sua máquina pode ser outra. O comando delete partition override não pede confirmação. Os comandos set id e gpt attributes valem para disco GPT; em disco MBR, o tipo da partição de recuperação é definido com set id=27 e não há atributo GPT.

No fim, reagentc /info deve mostrar o status "Enabled" e um caminho apontando para a nova partição. No exemplo, o C: passa de 79,2 GB para cerca de 118 GB, e a recuperação fica no fim do disco, onde não atrapalha a próxima ampliação.

E se eu não quiser mexer no diskpart?

Ferramentas de terceiros que movem partições resolvem o mesmo problema empurrando a recuperação para o fim. Elas funcionam, mas mover dados é mais demorado e mais sensível a queda de energia do que apagar e recriar uma partição pequena. Em máquina de trabalho sem snapshot, o caminho chato costuma ser o certo: backup, procedimento documentado, conferência.

Erros comuns

  • Olhar só o total de espaço livre. O espaço existe, mas não encosta no C:, e você perde tempo reiniciando.
  • Apagar a partição de recuperação sem desativar o WinRE. O Windows perde o ambiente de recuperação e algumas atualizações passam a falhar.
  • Errar o número da partição no diskpart. O delete partition override apaga sem perguntar; se for a partição EFI, a máquina não dá boot.
  • Mexer sem backup nem snapshot. Um erro de digitação vira reinstalação.
  • Esquecer de examinar os discos de novo depois de ampliar a VM. O espaço novo não aparece e você acha que o hipervisor falhou.
  • Usar MBR num disco maior que 2 TB. O excesso nunca vai ficar disponível; a solução é converter para GPT (a ferramenta mbr2gpt faz isso no disco de sistema, exigindo boot UEFI depois).

Checklist

  • Você olhou a faixa do disco e sabe o que está imediatamente à direita do C:.
  • Get-PartitionSupportedSize confirmou se há espaço contíguo.
  • Há backup dos arquivos e, se for VM, um snapshot recente.
  • A chave do BitLocker, se houver, está guardada fora da máquina.
  • O WinRE foi desativado antes de apagar a recuperação e reativado depois.
  • reagentc /info mostra "Enabled" no final.
  • O C: tem o tamanho esperado e a recuperação ficou no fim do disco.

Espaço sobrando não significa folga para o sistema trabalhar; se o motivo da ampliação foi lentidão, leia também SSD cheio: falta espaço e também falta folga. E antes de clicar em qualquer coisa: no seu disco, o que está colado à direita do C: agora?

Avalie este artigo

Referência: http://www.redutonerd.com/2012/03/tutorial-aumentando-particao-do-windows.html