VHD verkleinern

Wenn man eine Virtuelle Maschine betreibt und dabei eine VHD-Datei als Festplatte verwendet und diese sich in ihrer Größe dynamisch anpasst, dann kann es vorkommen das diese immer größer wird, auch wenn man ihren Inhalt regelmäßig löscht. Bei der VM handelt es sich in dieser Beschreibung um eine Windows-VM.

Als Beispiel hat meine VHD aktuell eine Größe von 130GB, wobei davon nur 75GB belegt sind. Der Grund ist das beim Löschen von Daten die Blöcke nicht wirklich wieder freigegeben werden. Wie man die Größe wieder an den Inhalt anpasst beschreibe ich im folgenden. Als Anmerkung sei noch zu sagen das auf jeden Fall ein Backup der VHD erstellt werden sollte, am besten der ganzen virtuellen Maschine.

Als erstes muss man die virtuelle Maschine starten und aufräumen, also alles unnötige löschen. Ein Start der Datenträgerbereinigung kann auch nicht schaden. Und nicht vergessen den Papierkorb zu leeren 😉

Dann müssen alle gelöschten Blöcke mit 0 überschrieben werden. Dies geht mit dem Tool sdelete von Microsoft. Aufgerufen wird es innerhalb der virtuellen Maschine mit dem Befehl (Wenn c: die vhd ist):

sdelete -z c:

Im Anschluss wird die virtuelle Maschine heruntergefahren und auf dem Host

diskpart

gestartet. Man muss dann die VHD in Diskpart mit dem Befehl

select vdisk file="C:\Pfad\Dateiname.vhd"

laden und kann diese dann mit dem Befehl

compact vdisk

verkleinern.

Anschliessend kann die virtuelle Maschine wieder gestartet werden. Die VHD sollte sich auf den Wert reduziert haben den die Daten in der VM einnehmen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert