Aumentar o tamanho de um disco virtual do Virtual PC

Por vezes temos a necessidade de expandir o tamanho de um disco virtual. Mesmo que seja um disco que expande dinamicamente, o tamanho máximo continua a ser fixo e não é alterado facilmente. Existem várias ferramentas gratuitas que ajudam a fazer isso.

Neste artigo, estamos a falar de discos virtuais para Microsoft Virtual PC, conhecidos por ficheiros VHD.

Existe uma ferramente chamada VHD Resizer (link alternativo 1, link alternativo 2) que ajuda a mudar o tamanho de um disco virtual. No entanto, isto não é suficiente e também é necessário aumentar a partição para usar o espaço extra que foi criado.

Usar o VHD Resizer e uma máquina virtual para aumentar um VHD

Existe um óptimo artigo do Pieter Mol que explica como:

  • Usar o VHD Resizer para mudar o tamanho de um disco virtual existente.
  • Adicionar o disco virtual como disco secundário a uma máquina virtual.
  • Começar a máquina virtual (fazendo o boot a partir do disco virtual original, mas com acesso ao novo disco).
  • Usar a ferramenta Disk Management (em Administrative Tools, Computer Management) para fazer o rescan aos discos e ver a letra apropriada do disco.
  • Usar o DiskPart para aumentar o volume do disco para usar o espaço livre que não está alocado.
  • Verificar que a partição aumenta no Disk Management.

Usar o VHD Resizer e o VHDMount para aumentar um VHD

Um procedimento alternativo é fazer o mount do disco virtual na própria máquina host:

  • Usar o VHD Resizer para mudar o tamanho de um disco virtual existente.
  • Usar o VHDMount para fazer o mount do disco virtual na máquina host. O VHDMount é incluído no Microsoft Virtual Server 2005 R2 SP1 (podem alterar o setup de forma a instalar apenas o VHDMount).
  • Usar o DiskPart para aumentar o volume do disco usando o espaço livre que não está alocado.

Tem a vantagem de não ser necessário usar uma máquina virtual.

Nota 1: Se estão a correr Vista, o VHDMount tem de correr com privilégios de administrador. Abram as propriedades do vhdmount.exe (normalmente em C:\Program Files\Microsoft Virtual Server\Vhdmount), vão à tab Compatibility e certifiquem-se que a opção Run this program as an administrator está seleccionada. O DiskPart também tem de correr com privilégios de administrador (vejam como correr o command prompt como administrador).

Nota 2: o ficheiro vhdmount.exe tem um problema em alguns sistemas operativos Windows, não conseguindo fazer o mount de todos os volumes de um ficheiro VHD. Vejam o hotfix 943487.

Bug do DiskPart em Windows Server 2003

Estaria tudo bem se tudo corresse como o esperado, mas em muitas situações irão encontrar erros que vos impedem de executar todos os passos. Por exemplo, existe um bug no DiskPart para Windows Server 2003 que o impede de aumentar um disco lógico numa partição estendida.

Quando tentam aumentar um volume em Windows Server 2003 com o DiskPart, podem encontrar o seguinte erro:

The volume you have selected may not be extended.
Please select another volume and try again.

Felizmente, existe o hotfix 841650 que a Microsoft fornece que resolve o problema.

Erro winload.exe no boot

Outro erro que podem encontrar é sobre a falta ou a corrupção do ficheiro winload.exe durante o boot. Podem tentar a seguinte solução: Windows Server 2008: winload.exe is missing or corrupt.

Sector de boot NTFS inválido

Por fim, podem também descobrir que o disco virtual tem um sector de boot NTFS inválido. Quando ligam a máquina virtual recebem o seguinte erro:

A disk read error occurred. Press Ctrl+Alt+Del to restart.

Isto pode ser corrigido com a utilidade TestDisk. Existe um bom artigo sobre isto chamado Rebuilding NTFS boot sector using Testdisk.

Espero que seja informação suficiente sobre como aumentar um disco virtual, uma tarefa que deveria ser bastante mais fácil de executar.

Nuno Freitas
Publicado por Nuno Freitas em 03 setembro, 2013

Artigos relacionados