È possibile ridurre l'immagine del disco sparsa di un SO guest Mac OS X in VMWare Fusion?


16

Uso VMWare Fusion sul mio Mac per eseguire una macchina Windows 7 virtuale e le macchine virtuali Windows XP compatibili con Microsoft IE.

In VMWare Tools sui sistemi operativi guest Windows, è disponibile un'opzione "Riduci" che consente di ridurre le dimensioni dell'immagine del disco sparsa utilizzata dal sistema operativo guest, per risparmiare spazio sul disco rigido sul OX host.

Di recente ho creato un'altra macchina virtuale, questa volta con Snow Leopard Server. Mi chiedevo se potevo ridurre anche l'immagine del disco di riserva utilizzata da questa macchina, ma non riesco a trovare un'app VMWare Tools sul sistema operativo guest Mac, anche se VMWare Tools è stato installato (poiché la funzionalità Cartelle condivise di VMWare funziona).

Esiste un modo per ridurre l'immagine sparsa del disco utilizzata dai sistemi operativi guest Mac OS X in VMWare Fusion?


1
Purtroppo questo non funziona più in VMWare Fusion 4 poiché vdiskmanager non si trova più in questa cartella. Nessuno sembra sapere dove esiste ora, se non del tutto.


1
Nella finestra Libreria macchina virtuale , selezionare la macchina virtuale senza avviarla. Aggiorna il grafico a barre recuperabile , quindi fai clic su Pulizia, se disponibile. Vedere anche KB 1001934: deframmentazione, riduzione e pulizia dei dischi della macchina virtuale VMware Fusion .
1616

Risposte:


6

In VMware Fusion dalla versione 4 puoi andare alle preferenze della VM -> Generale -> Pulisci macchina virtuale.

Inoltre c'è un grafico in cui puoi vedere quali dimensioni sono previste dopo la riduzione.


È vero, ma con VMware Fusion 7+ non offre mai di pulire un guest Mac OS.
dakcarto,

@dakcarto - VMware Fusion 5 lo offre, ma solo quando c'è qualcosa di recuperabile. Forse non hai nulla di recuperabile? (Ho recuperato 33 GB per un guest Windows 8.1 dopo l'aggiornamento 8.0 → 8.1).
1616

10

Ah, in effetti puoi, come da questa discussione nei forum di discussione VMWare su questo problema , assumendo:

  1. Il file è un'immagine del disco sparsa e non pre-allocata.
  2. La macchina virtuale non ha istantanee.

In breve:

Cancella lo spazio libero sul disco del SO guest dall'interno del SO guest usando Utility Disco, quindi riduci il disco del SO guest dal SO host utilizzando vmware-vdiskmanagerdalla riga di comando.

A lungo:

Nel sistema operativo guest:

  1. Apri Utility Disco.
  2. Seleziona la partizione del SO guest.
  3. Vai alla scheda "Cancella".
  4. Fare clic sul pulsante "Cancella spazio libero".
  5. Assicurarsi che sia selezionato “Azzera file eliminati” e cancellare lo spazio libero.
  6. Al termine, chiudere Utility Disco e chiudere il sistema operativo guest.

O nel terminale del sistema operativo guest quando la partizione è denominata "Macintosh HD":

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

Nel sistema operativo host:

  1. Apri Terminale e digita:

    [ -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. Digita "spazio", quindi il percorso del file del disco virtuale della VM.

  3. Hit di ritorno.

Il file del disco virtuale del SO guest si trova nel suo file della macchina virtuale. Ad esempio, se il file della macchina virtuale è in /Users/you/VM, il percorso al suo disco virtuale è/Users/you/VM.vmwarevm/VM.vmdk .

Per la cronaca, questo ha ridotto una mia VM Snow Leopard da 15 GB a 6 GB.


8

Hanno aggiunto un'opzione CLI che è stata semplicissima: fallo dall'interno del SO guest:

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

Da mudaltsov ai forum di community VMware :

Un metodo leggermente più semplice: la funzionalità di riduzione è integrata nell'utilità della riga di comando di VMware Tools:

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

Questo per prima cosa cancellerà uno spazio vuoto dal file system (come la creazione di un file con riempimento zero) e mostrerà un progresso nel Terminale ospite. Al termine, il restringimento VMDK verrà richiamato senza arrestare la macchina virtuale e verrà visualizzato come una barra di avanzamento sulla finestra della macchina virtuale.

Il / è un percorso al file system su cui cancellare lo spazio vuoto. Se hai più partizioni, puoi cancellarle singolarmente e fare un ridimensionamento finale alla fine:

  • vmware-tools-cli disk list per vedere le posizioni disponibili per cancellare
  • vmware-tools-cli disk wipe <location> per cancellare ogni posizione (ripetere più volte), senza l'operazione di restringimento
  • vmware-tools-cli disk shrinkonly per eseguire l'operazione di restringimento finale.

Questo è anche spiegato dal disco di aiuto di vmware-tools-cli


Questo è il modo più semplice di "un comando" per ridurre il disco. Funziona con VMware Fusion 8.
pointum

5

Nelle varianti di VMware Fusion, successiva alla 3.x, la locale di vmware-vdiskmanager, come menzionato nella risposta accettata è:

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

Quindi tutto ciò che serve è

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

quindi vai al Finder, vai alla tua VM, che normalmente si trova in "~ / Documents / Virtual Machines /".

Fai clic con il pulsante destro del mouse sul file, seleziona "Mostra contenuto pacchetto", quindi trascina il file .vmdk sul terminale e premi invio.


0

In VMWare Fusion 6, è un processo in 3 passaggi.

  1. Sostituisci i file eliminati con zero:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. Esegui l'utilità di riduzione del disco di VMWare

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

  3. Arrestare (o riavviare) la macchina virtuale.

Oh veramente? Hanno rimosso l'opzione GUI ?
Paul D. Waite,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.