Você pode reduzir a imagem de disco esparsa de um sistema operacional convidado do Mac OS X no VMWare Fusion?

16

Eu uso o VMWare Fusion no meu Mac para executar uma máquina virtual Windows 7 e as máquinas virtuais Windows XP compatíveis com Microsoft IE.

No VMWare Tools nos sistemas operacionais convidados Windows, há uma opção "Encolher" que permite reduzir o tamanho da imagem de disco esparsa usada pelo sistema operacional convidado, para economizar espaço no disco rígido do seu host OX.

Recentemente, criei outra máquina virtual, desta vez executando o Snow Leopard Server. Gostaria de saber se eu também poderia reduzir a imagem de disco sobressalente usada por esta máquina, mas não consigo encontrar um aplicativo VMWare Tools no Mac guest OS, mesmo que o VMWare Tools tenha sido instalado (como o recurso Pastas Compartilhadas do VMWare está funcionando).

Existe alguma maneira de reduzir a imagem de disco esparsa usada pelos sistemas operacionais convidados do Mac OS X no VMWare Fusion?

Paul D. Waite
fonte
11
Infelizmente, isso não funciona mais no VMWare Fusion 4, pois o vdiskmanager não está mais nesta pasta. Parece que ninguém sabe onde existe agora.
11
Na janela Virtual Machine Library , selecione a VM sem iniciá-la. Atualize o gráfico de barras Recuperável e clique em Limpeza, se disponível. Consulte também KB 1001934: Desfragmentando, diminuindo e limpando os discos da máquina virtual VMware Fusion .
JWW

Respostas:

6

No VMware Fusion desde a versão 4, você pode acessar a preferência da VM -> Geral -> Limpar a máquina virtual.

Além disso, há um gráfico onde você pode ver qual o tamanho esperado após a redução.

sja
fonte
É verdade, mas com o VMware Fusion 7+, ele nunca oferece a limpeza de um convidado do Mac OS.
Dakcarto
@dakcarto - o VMware Fusion 5 oferece, mas somente quando há algo recuperável. Talvez você não tenha nada recuperável? (Tenho 33 GB de recuperável para um convidado do Windows 8.1 após a atualização 8.0 → 8.1).
JWW
10

Aha - de fato, você pode, de acordo com esta discussão nos fóruns de discussão do VMWare sobre esse problema , assumindo:

  1. O arquivo é uma imagem de disco esparsa e não pré-alocada.
  2. A VM não possui instantâneos.

Em resumo:

Apague o espaço livre no disco do SO convidado de dentro do SO convidado usando o Utilitário de Disco e reduza o disco do SO convidado do SO host usando vmware-vdiskmanagerna linha de comando.

Em muito tempo:

No sistema operacional convidado:

  1. Abra o Utilitário de Disco.
  2. Selecione a partição do sistema operacional convidado.
  3. Vá para a guia "Apagar".
  4. Clique no botão "Apagar espaço livre".
  5. Verifique se “Zero Out Deleted Files” está selecionado e apague o espaço livre.
  6. Quando terminar, feche o Utilitário de Disco e desligue o SO convidado.

Ou no terminal do sistema operacional convidado quando a partição é denominada 'Macintosh HD':

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

No sistema operacional host:

  1. Abra o Terminal e digite:

    [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k

  2. Digite 'space' e o caminho para o arquivo do disco virtual da sua VM.

  3. Hit return.

O arquivo de disco virtual do sistema operacional convidado é encontrado em seu arquivo de máquina virtual. Por exemplo, se o arquivo da sua máquina virtual estiver em /Users/you/VM, o caminho para o disco virtual será /Users/you/VM.vmwarevm/VM.vmdk.

Para o registro, isso reduziu uma VM do meu Snow Leopard de 15 GB a 6 GB.

Paul D. Waite
fonte
8

Eles adicionaram uma opção de CLI super fácil - faça isso de dentro do sistema operacional convidado:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

De mudaltsov nos fóruns da comunidade VMware :

Um método um pouco mais fácil - a funcionalidade de redução é incorporada ao utilitário de linha de comando do VMware Tools:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

Isso fará primeiro uma limpeza do espaço vazio no sistema de arquivos (o mesmo que criar um arquivo preenchido com zero) e mostrará um progresso no Terminal convidado. Quando isso for feito, o encolhimento do VMDK será chamado sem desligar a VM e aparecerá como uma barra de progresso na janela da VM.

O / é um caminho para o sistema de arquivos no qual limpar o espaço vazio. Se você tiver várias partições, limpe-as individualmente e faça uma redução final no final:

  • vmware-tools-cli disk list para ver os locais disponíveis para limpar
  • vmware-tools-cli disk wipe <location> para limpar cada local (repita várias vezes), sem a operação de redução
  • vmware-tools-cli disk shrinkonly para fazer a operação final de contração.

Isso também é explicado pelo disco de ajuda vmware-tools-cli

Colin
fonte
Essa é a maneira mais fácil de "reduzir o disco" de um comando. Funciona para VMware Fusion 8.
pointum 11/08/16
5

Nas variantes do VMware Fusion, sucedendo 3.x, o código do idioma vmware-vdiskmanagermencionado na resposta aceita é:

/ Aplicativos / VMware \ Fusion.app/Contents/Library/vmware-vdiskmanager

Então tudo que você precisa é

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k 

depois vá para o localizador, navegue até sua VM, que normalmente está em "~ / Documents / Virtual Machines /".

Clique com o botão direito do mouse no arquivo, selecione "Mostrar conteúdo do pacote", arraste o arquivo .vmdk para o Terminal e pressione Enter.

Joe Test
fonte
0

No VMWare Fusion 6, é um processo de três etapas.

  1. Substitua todos os arquivos excluídos por zeros:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. Execute o utilitário de redução de disco do VMWare

    $ sudo /Library/Application\ Support/VMWare\ Tools/vmware-tools-cli disk shrinkonly

  3. Desligue (ou reinicie) a máquina virtual.
Ian
fonte