Können Sie das Image eines Mac OS X-Gastbetriebssystems in VMWare Fusion verkleinern?

16

Ich verwende VMWare Fusion auf meinem Mac, um eine virtuelle Windows 7-Maschine und die Microsoft IE-Kompatibilität mit virtuellen Windows XP-Maschinen auszuführen.

In VMWare Tools auf den Windows-Gastbetriebssystemen gibt es eine Option „Verkleinern“, mit der Sie die Größe des vom Gastbetriebssystem verwendeten Image für sparsame Datenträger reduzieren können, um Festplattenspeicher auf Ihrer Host-OX zu sparen.

Ich habe kürzlich eine weitere virtuelle Maschine erstellt, auf der diesmal Snow Leopard Server ausgeführt wird. Ich habe mich gefragt, ob ich das von diesem Computer verwendete Ersatzlaufwerk-Image verkleinern könnte, kann jedoch keine VMWare Tools-App auf dem Mac-Gastbetriebssystem finden, obwohl VMWare Tools installiert wurden (da die Funktion für freigegebene Ordner von VMWare funktioniert).

Gibt es eine Möglichkeit, das von Mac OS X-Gastbetriebssystemen in VMWare Fusion verwendete Image mit geringer Dichte zu verkleinern?

Paul D. Waite
quelle
1
Leider funktioniert dies in VMWare Fusion 4 nicht mehr, da sich der vdiskmanager nicht mehr in diesem Ordner befindet. Niemand scheint zu wissen, wo es jetzt existiert, wenn überhaupt.
@ user128435: Zum Glück verfügt VMWare Fusion 4 über eine GUI-Oberfläche für diese Funktionalität .
Paul D. Waite
1
In der Bibliothek virtueller Maschinen Fenster wählen Sie die VM ohne es zu starten. Aktualisieren Sie die ausweisbar Balkendiagramm, und klicken Sie dann auf Cleanup , falls verfügbar. Siehe auch KB 1001934: Defragmentieren, Verkleinern und Bereinigen von VMware Fusion-Festplatten .
Jww

Antworten:

6

In VMware Fusion seit Version 4 können Sie zu VM-Einstellungen -> Allgemein -> Virtuelle Maschine bereinigen wechseln.

Zusätzlich gibt es eine Tabelle, in der Sie sehen können, welche Größe nach dem Verkleinern erwartet wird.

sja
quelle
Stimmt, aber mit VMware Fusion 7+ wird nie angeboten , einen Mac OS-Gast zu bereinigen.
Dakcarto
@dakcarto - VMware Fusion 5 bietet es an, aber nur, wenn es etwas gibt, das zurückgefordert werden kann. Vielleicht haben Sie nichts zurückforderndes? (Für einen Windows 8.1-Gast sind nach dem Upgrade auf 8.0 → 8.1 33 GB verfügbar.)
Jww
10

Aha - in der Tat können Sie gemäß diesem Thread in den VMWare-Diskussionsforen zu diesem Thema Folgendes annehmen:

  1. Die Datei ist ein Festplatten-Image mit geringer Dichte und nicht vorab zugeordnet.
  2. Die VM verfügt nicht über Snapshots.

Zusamenfassend:

Löschen Sie mit dem Festplatten-Dienstprogramm den freien Speicherplatz auf der Festplatte des Gastbetriebssystems aus dem Gastbetriebssystem und verkleinern Sie die Festplatte des Gastbetriebssystems über die Befehlszeile aus dem Hostbetriebssystemvmware-vdiskmanager .

In langen:

Im Gastbetriebssystem:

  1. Öffnen Sie das Festplatten-Dienstprogramm.
  2. Wählen Sie die Partition des Gastbetriebssystems aus.
  3. Gehen Sie zur Registerkarte "Löschen".
  4. Klicken Sie auf die Schaltfläche "Freien Speicherplatz löschen".
  5. Stellen Sie sicher, dass „Gelöschte Dateien löschen“ ausgewählt ist, und löschen Sie den freien Speicherplatz.
  6. Wenn dies abgeschlossen ist, schließen Sie das Festplatten-Dienstprogramm und fahren Sie das Gastbetriebssystem herunter.

Oder im Terminal des Gastbetriebssystems, wenn die Partition 'Macintosh HD' heißt:

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

Im Host-Betriebssystem:

  1. Öffnen Sie das Terminal und geben Sie Folgendes ein:

    [ -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. Geben Sie "space" und dann den Pfad zur virtuellen Festplattendatei Ihrer VM ein.

  3. Drücken Sie die Eingabetaste.

Die Datei der virtuellen Festplatte des Gastbetriebssystems befindet sich in der Datei der virtuellen Maschine. Wenn sich Ihre virtuelle Maschinendatei beispielsweise in befindet /Users/you/VM, lautet der Pfad zu ihrer virtuellen Festplatte /Users/you/VM.vmwarevm/VM.vmdk.

Für den Rekord, dies hat meine Snow Leopard VM von 15 GB auf 6 GB geschrumpft.

Paul D. Waite
quelle
8

Sie fügten eine CLI-Option hinzu, die sehr einfach war. Führen Sie dies aus dem Gastbetriebssystem heraus aus:

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

Von mudaltsov in den VMware Commmunity-Foren :

Eine etwas einfachere Methode: Die Funktion zum Verkleinern ist in das VMware Tools-Befehlszeilendienstprogramm integriert:

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

Dies löscht zuerst den leeren Bereich im Dateisystem (genauso wie das Erstellen einer mit Nullen gefüllten Datei) und zeigt einen Fortschritt im Gast-Terminal an. Wenn dies erledigt ist, wird die VMDK-Verkleinerung aufgerufen, ohne die VM herunterzufahren, und als Fortschrittsbalken über dem VM-Fenster angezeigt.

Das / ist ein Pfad zum Dateisystem, auf dem der leere Speicherplatz gelöscht werden kann. Wenn Sie mehrere Partitionen haben, können Sie diese einzeln löschen und am Ende eine letzte Verkleinerung vornehmen:

  • vmware-tools-cli disk list , um die verfügbaren Speicherorte für das Löschen anzuzeigen
  • vmware-tools-cli disk wipe <location> um jede Stelle abzuwischen (mehrmals wiederholen), ohne den Schrumpfvorgang
  • vmware-tools-cli disk shrinkonly um den letzten Schrumpfvorgang durchzuführen.

Dies wird auch von der Hilfediskette vmware-tools-cli erklärt

Colin
quelle
Dies ist die einfachste "Ein-Befehl" -Methode zum Verkleinern der Festplatte. Funktioniert für VMware Fusion 8.
pointum
5

In Varianten von VMware Fusion, die auf 3.x folgen vmware-vdiskmanager, lautet das Gebietsschema von wie in der akzeptierten Antwort erwähnt:

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

Alles was Sie brauchen ist

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

Gehen Sie dann zum Finder und navigieren Sie zu Ihrer VM, die sich normalerweise unter "~ / Documents / Virtual Machines /" befindet.

Klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie "Paketinhalt anzeigen", ziehen Sie die .vmdk-Datei auf das Terminal und drücken Sie die Eingabetaste.

Joe Test
quelle
0

In VMWare Fusion 6 ist dies ein dreistufiger Prozess.

  1. Ersetzen Sie gelöschte Dateien durch Nullen:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. Führen Sie das VMWare-Dienstprogramm zum Verkleinern von Datenträgern aus

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

  3. Fahren Sie die virtuelle Maschine herunter (oder starten Sie sie neu).
Ian
quelle