Este post é, de certa forma, uma continuação do post de ontem.
Depois que resolvi o problema do desfragmentador, descobri que ainda assim não conseguia diminuir meu VHD. Não importava o que eu fizesse, o tamanho continua em 127 GB.
Até que eu descobri a solução para o problema.
Mesmo desfragmentando o disco (rodando o Defrag dentro da VM), desligando a VM e usando o comando Compact do Hyper-V, não adiantava. O tamanho continuava o mesmo.
A solução é esquecer o Hyper-V e ir direto a quem resolve: a linha de comando
Passo 1: Otimizar o disco virtual
Abra um prompt elevado e digite:
diskpart select vdisk file="c:\seu\arquivo.vhd" attach vdisk list volume
Neste ponto, o DISKPART irá listar os volumes montados em seu computador. O VHD que você acabou de montar deve ser o último volume. Verifique no seu caso qual a letra atribuída ao seu VHD e anote-a.
Agora você precisa desfragmentar o disco. Primeiramente digite exit
para sair do DISKPART. A seguir, digite o seguinte comando:
defrag G: /o /v
Onde G: corresponde ao drive que você anotou na etapa anterior.
Passo 2: Compactar o disco virtual
Agora vamos terminar o processo no DISKPART. Basicamente o que vamos fazer é:
- Desmontar o VHD (que está em modo read-write);
- Remontar o VHD em modo read-only;
- Compactar o VHD;
- Desmontar o VHD.
De volta ao nosso prompt elevado, digite:
diskpart detach disk select vdisk file="c:\seu\arquivo.vhd" attach vdisk readonly compact vdisk exit
Presto! Agora nosso VHD, que antes se recusava a sair dos 127 GB, chegou no tamanho “correto”:
Um abraço,
Igor
(Cross-post de http://www.tshooter.com.br/2016/08/25/como-diminuir-o-tamanho-de-um-arquivo-vhd-vhdx/)
Igor Abade
Igor Abade V. Leite ([email protected]) é Microsoft MVP (Most Valuable Professional) de Visual Studio ALM desde 2006. Palestrante em diversos eventos da comunidade de desenvolvimento de software (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON e outros), é também autor de artigos em revistas e sites como o MSDN Brasil. Desde março de 2011 é um dos sócios da Lambda3, uma consultoria especializada em ALM, desenvolvimento de software e treinamentos. Siga-o no Twitter @igorabade.