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

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

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

In den VMWare Tools der Windows-Gastbetriebssysteme gibt es die Option „Verkleinern“, mit der Sie die Größe des vom Gastbetriebssystem verwendeten Sparse-Disk-Images reduzieren können, um Festplattenspeicher auf Ihrem Host-OX zu sparen.

Ich habe vor Kurzem eine weitere virtuelle Maschine erstellt, diesmal mit Snow Leopard Server. Ich habe mich gefragt, ob ich das von dieser Maschine verwendete Ersatz-Disk-Image auch verkleinern könnte, aber ich kann keine VMWare Tools-App auf dem Mac-Gastbetriebssystem finden, obwohl VMWare Tools installiert wurde (da die Funktion „Freigegebene Ordner“ von VMWare funktioniert).

Gibt es eine Möglichkeit, das von den Mac OS X-Gastbetriebssystemen in VMWare Fusion verwendete Sparse-Disk-Image zu verkleinern?

Antwort1

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

Zusätzlich gibt es eine Tabelle, in der Sie sehen können, welche Größe nach dem Schrumpfen zu erwarten ist.

Antwort2

Aha – das können Sie tatsächlich, gemäßdieser Thread in den VMWare-Diskussionsforen zu diesem Thema, unter der Annahme:

  1. Bei der Datei handelt es sich um ein Sparse-Disk-Image, das nicht vorab zugewiesen ist.
  2. Die VM hat keine Snapshots.

Zusamenfassend:

Löschen Sie freien Speicherplatz auf der Festplatte des Gastbetriebssystemsaus dem GastbetriebssystemVerwenden Sie das Festplattendienstprogramm und verkleinern Sie dann die Festplatte des Gastbetriebssystemsvom Host-BetriebssystemVerwendung vmware-vdiskmanagerin der Befehlszeile.

In Langform:

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 auf Null setzen“ ausgewählt ist, und löschen Sie den freien Speicherplatz.
  6. Sobald der Vorgang 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 Terminal und geben Sie 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 „Leerzeichen“ und dann den Pfad zur virtuellen Datenträgerdatei Ihrer VM ein.

  3. Drücken Sie die Eingabetaste.

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

Fürs Protokoll: Dadurch wurde eine meiner Snow Leopard-VMs von 15 GB auf 6 GB verkleinert.

Antwort3

Sie haben eine CLI-Option hinzugefügt, die super einfach ist – tun Sie dies innerhalb des Gastbetriebssystems:

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

Von mudaltsov an derVMware Community-Foren:

Eine etwas einfachere Methode – die Verkleinerungsfunktion ist in das Befehlszeilenprogramm VMware Tools integriert:

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

Dadurch wird zunächst der leere Speicherplatz im Dateisystem gelöscht (dasselbe wie beim Erstellen einer mit Nullen gefüllten Datei) und der Fortschritt im Gastterminal angezeigt. Wenn dies abgeschlossen ist, wird die VMDK-Verkleinerung aufgerufen, ohne die VM herunterzufahren, und als Fortschrittsbalken über dem VM-Fenster angezeigt.

Der / ist ein Pfad zum Dateisystem, auf dem leerer Speicherplatz gelöscht werden soll. Wenn Sie mehrere Partitionen haben, können Sie diese einzeln löschen und am Ende eine abschließende Verkleinerung durchführen:

  • vmware-tools-cli disk listum die verfügbaren Speicherorte für Wipe anzuzeigen
  • vmware-tools-cli disk wipe <location>jeden Standort zu löschen (mehrmals wiederholen), ohne den Schrumpfvorgang
  • vmware-tools-cli disk shrinkonlyum den letzten Verkleinerungsvorgang durchzuführen.

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

Antwort4

  1. Öffnen Sie das Terminal und führen Sie

     sudo diskutil secureErase freespace 0 Macintosh
    

    (Stellen Sie sicher, dass Sie „Macintosh“ durch den tatsächlichen Namen Ihrer Festplattenpartition ersetzen. Sie finden ihn im Festplattendienstprogramm. Wenn dieser nicht korrekt ist, wird die Fehlermeldung „Macintosh-Festplatte nicht gefunden“ angezeigt.)

    Warten Sie, bis die Verarbeitung des Befehls abgeschlossen ist. Möglicherweise erhalten Sie auch einen Fehler von VMware. Klicken Sie einfach auf „Fortfahren“ und ignorieren Sie ihn.

  2. Einmal getan,AbschaltenIhre Mac OS VM

  3. Öffnen Sie auf Ihrem Haupt-PCEingabeaufforderungmit erhöhten (Admin-)Rechten und führen Sie

     "\vmware-path\vmware-vdiskmanager.exe" -k "\vm-path\VM-name.vmdk"
    

    NOTIZ: vmware-vdiskmanager.exeist nicht enthalten inVMware PlayerVersion, so dass Sie es herunterladen können vonhttps://code.vmware.com/web/sdk/60/vddkUndExtrahieren Sie das heruntergeladene EntwicklungskitOrdner und Sie können vmware-vdiskmanager.exe im Ordner /bin finden. Für Punkt 3 müssen Sie nun diesen Pfad für den Abschnitt vmware-vdiskmanager.exe verwenden.

  4. Sobald die obigen Schritte abgeschlossen sind, können Sie Ihre virtuelle Maschine starten. Der erste Start kann länger als üblich dauern.


Screenshot des Host-Befehls, Punkt 3

verwandte Informationen