Bei der Verwendung von Virtualbox habe ich festgestellt, dass sich die Größe der VM (eine Datei mit der Erweiterung .VDI) im Laufe der Zeit vergrößert. Wenn Sie beim erstmaligen Erstellen der VM die Option " Speicher dynamisch erweitern " ausgewählt haben, wird die Dateigröße bei jeder Installation neuer Anwendungen in der VM erweitert. Das ist völlig normal. Wenn Sie jedoch Anwendungen in der VM deinstallieren oder löschen, wird die Dateigröße nicht verkleinert oder auf die vorherige Größe zurückgesetzt. Das heißt, wenn Sie ständig Anwendungen in Ihrer VM installieren und deinstallieren, könnte die VDI-Datei mehr Speicherplatz belegen, als sie tatsächlich benötigt.

Wenn Sie viel Festplattenspeicher zur Verfügung haben, können Sie dies einfach ignorieren. Wenn Sie jedoch feststellen, dass Ihnen immer weniger Festplattenspeicher zur Verfügung steht, sollten Sie in Betracht ziehen, die VM zu verkleinern und nicht benötigten Speicherplatz freizugeben.

In diesem Tutorial werden die Schritte zum Verkleinern Ihrer Virtualbox-VM beschrieben.

Es spielt keine Rolle, ob Sie einen Windows / Linux-Host verwenden. Die Anweisungen für einen Windows- und Linux-Gast sind jedoch etwas anders. (Ich habe das noch nicht auf einem Mac-Host versucht. Theoretisch sollte es funktionieren, aber tu es auf eigene Gefahr.)

Für Windows-Gast

Wenn Sie Windows-Gast verwenden, gehen Sie folgendermaßen vor:

  • Deinstallieren Sie alle nicht benötigten Anwendungen
  • Führen Sie eine Festplatten-Defragmentierung durch. Wenn Sie WinXP verwenden, können Sie über Start -> Alle Programme -> Zubehör -> Systemprogramme -> Defragmentierung auf den integrierten Festplattenfragmentierer zugreifen.

Laden Sie sdelete herunter und extrahieren Sie es auf Ihren Desktop.

Öffnen Sie eine Eingabeaufforderung und wechseln Sie zum Verzeichnis sdelete. Gib den folgenden Befehl ein:

 sdelete -zc: / 

Dies fügt dem freien Speicherplatz in Ihrem C: Laufwerk Nullen hinzu.

Sobald dies geschehen ist, fahren Sie die VM herunter.

Für Linux-Gast

Wenn Sie Linux guest verwenden (in diesem Tutorial wird davon ausgegangen, dass Sie Ubuntu verwenden und auf ext2 / ext3-Dateisystem läuft. Es funktioniert nicht auf ext4), hier ist, was Sie tun müssen:

  • Entfernen Sie alle nicht verwendeten Anwendungen.
  • Bereinige deine Linux VM

Installieren Sie Zerofree

 sudo apt-get zerofree 

Starten Sie Ihre Linux-VM neu und starten Sie sie in den Wiederherstellungsmodus. (Dies ist in der Regel die zweite Option im Grub-Startbildschirm.)

Geben Sie in der Eingabeaufforderung für die Root-Shell Folgendes ein

 df 

Dadurch wird das gesamte verfügbare Dateisystem in Ihrem Betriebssystem angezeigt. Notieren Sie das Dateisystem, in dem sich das Hauptverzeichnis befindet. (Es sollte im Format / dev / sdaX oder / dev / hdaX sein )

Mounten Sie das Dateisystem im schreibgeschützten Modus mit dem folgenden Befehl:

 mount -n -o erneut mounten, ro -t ext3 / dev / sda1 / 

Ersetzen Sie das / dev / sda1 durch die DateiSystem-Informationen, die Sie gerade aufgenommen haben.

Geben Sie als Nächstes den folgenden Befehl ein, um den gesamten freien Speicherplatz auf Null zu setzen.

 zerofree / dev / sda1 

Ersetzen Sie das / dev / sda1 erneut durch Ihre eigenen Dateisysteminformationen.

Wenn Sie fertig sind, fahren Sie die Linux-VM herunter:

 Herunterfahren -h jetzt 

Schrumpfen der VM

Jetzt, da wir mit dem Löschen der VM fertig sind und den gesamten freien Speicherplatz auf Null setzen, ist es an der Zeit, die Dateigröße mit dem Befehl VboxManage zu verkleinern.

Wenn Sie immer noch die ältere Version von VirtualBox 2.0.x verwenden, können Sie die Festplatte mit dem folgenden Befehl leicht verkleinern:

 VboxManage modifyvdi /path/to/your/VM.vdi kompakt 

Wenn Sie Ihre Virtualbox auf die Version 2.1.x aktualisiert haben, werden Sie feststellen, dass der obige Befehl nicht mehr funktioniert. Es gibt einen Fehler in der Software, der die Verwendung des Befehls modifyhd deaktiviert. Eine alternative Lösung besteht darin, den Befehl clonehd zum Erstellen einer kleineren Kopie der ursprünglichen VM zu verwenden.

Geben Sie in Ihrem Terminal (oder in der Eingabeaufforderung) Folgendes ein:

 VboxManage clonehd Name-des-Originals-vm.vdi Name-of-Clone-vm.vdi 

Dadurch wird ein Klon der ursprünglichen VM mit dem Namen erstellt, den Sie im obigen Befehl angegeben haben.

Ergebnis

Nachdem ich meine VM verkleinert habe, schaffe ich es, 45% der Größe der ursprünglichen VM zu sparen und sage und schreibe 4, 5 GB Speicherplatz auf der Festplatte freizugeben, um meine anderen Sachen zu speichern.

Die ursprüngliche VDI: 10GB

Die geklonte VDI: 5.5GB

Importieren der Klon-VM in Virtualbox

Der ganze Prozess ist noch nicht abgeschlossen. Sie müssen die Klon-VM noch in Virtualbox importieren und die ursprüngliche VM aus Ihrem System entfernen / löschen.

Klicken Sie in Ihrer Virtualbox-Konsole auf die Schaltfläche Neu .

Folgen Sie den Anweisungen, um eine neue VM zu erstellen. Wenn der Bildschirm mit der Aufforderung zur Auswahl der Festplatte angezeigt wird, wählen Sie Vorhanden .

Klicken Sie im Fenster Virtual Media Manager auf Hinzufügen, um die neu geklonte VM hinzuzufügen.

Markieren Sie die neu hinzugefügte VM und klicken Sie auf Auswählen .

Zurück zum Festplattenauswahlfenster sollten Sie Ihre neue VM in der Dropdown-Auswahl sehen. Klicken Sie auf Weiter, um den Import abzuschließen.

Sobald alles eingerichtet ist, führen Sie die neu hinzugefügte VM aus, um sicherzustellen, dass sie ordnungsgemäß funktioniert.

Markieren Sie auf dem Hauptbildschirm von Virtualbox die ursprüngliche VM und gehen Sie zu Maschine -> Löschen . Dadurch wird der Eintrag von der Konsole entfernt.

Gehe zu Datei -> Virtual Media Manager . Markieren Sie die ursprüngliche VM und klicken Sie auf die Schaltfläche Entfernen . Wenn Sie gefragt werden, ob Sie die Datei behalten möchten, wählen Sie Löschen . Dies wird die VDI-Datei von Ihrem System löschen.

Das ist es.