Hyper-V – VHDX Festplatte einer Hyper-V VM verkleinern

In einigen Fällen kann es vorkommen das ihr eine VHDX Festplatte einer Hyper-V VM verkleinern wollt oder müsst.

Ausgangssituation

In meiner Testumgebung gibt es eine Hyper-V VM (Windows 10) mit einer zusätzlichem Datenpartition. Die Datenpartition besteht aus einer dynamischen VHDX Festplatte mit einer Größe von 120GB, wovon anfangs ca. 75GB belegt sind. Das ergibt folgendes Bild auf dem Hyper-V Host und in der VM:
Anzeige der VHDX Dateien auf dem Hyper-V Host
Größe der Festplatten in der virtuellen Maschine
Anschließend lösche ich etwa 30GB Daten in der VM.
Windows Explorer innerhalb der VM nach Löschung von Daten
Die VHDX Datei behält nach dem Löschen ihre ursprüngliche Größe von 75GB
VHDX wird nach Löschen von Daten nicht kleiner

VHDX-Datei verkleinern

Um die VHDX Datei nun zu verkleinern müsst ihr zunächst innerhalb der virtuellen Maschine das Volume verkleinern. Dazu öffnet ihr die Computerverwaltung (z.B über die Cortana Suche) und geht links auf Datenträgerverwaltung. Dort markiert ihr nun das Volume, welches ihr verkleinern wollt.
Datenträgerverwaltung Volume verkleinern
Mit einem Rechtsklick auf das Volume wählt ihr nun „Volume verkleinern“ aus.

Es öffnet sich nun der Dialog zur Verkleinerung des Volumes. Nun gebt ihr in Megabyte an um wie viel das Volume verkleinert werden soll.

An dieser Stelle kann es zu einer Fehlermeldung kommen, die sagt es wäre nicht genügend Speicherplatz verfügbar zum Verkleinern. Laut meiner Erfahrung hilft es dann zunächst für die Festplatte eine Defragmentierung auszuführen und nicht die maximal mögliche Verkleinerung zu wählen. Häufig geht es schrittweise am besten. Nach der Verkleinerung über die Computerverwaltung bekommt ihr nun den nicht zugeordneten Bereich (in Gigabyte) angezeigt.
Nicht zugeordneter Bereich auf dem Volume
Wie ihr auf folgendem Screenshot seht ändert sich die Größe der VHDX Datei auch jetzt noch nicht.
VHDX-Datei nach Verkleinerung des Volumes
Als nächstes müsst ihr nun die virtuelle Maschine über den Hyper-V Manager ausschalten
Client ausgeschaltet in Hyper-V Manager
Ist die virtuelle Maschine heruntergefahren, wechselt ihr nun mittels Rechtsklick auf die VM in die Hyper-V Einstellungen der entsprechenden VM. Dort sucht ihr die angefügte Festplatte welche ihr verkleinern wollt und klickt auf Bearbeiten.
VHDX-Datei bearbeiten
Es öffnet sich nun ein Dialog in dem ihr verschiedene Möglichkeiten habt. Komprimieren, Konvertieren, Erweitern und Verkleinern. Hier wählt ihr zunächst Verkleinern.
Assistent zum Bearbeiten virtueller Festplatten
Im nächsten Schritt wählt ihr nun als neue Größe das Minimum an GB aus welches euch vorgeschlagen wird. Anschließend bestätigt ihr mit Fertig stellen.
VHDX auf Minimum verkleinern
Die VHDX Datei wurde durch diesen Vorgang zwar etwas kleiner, belegt aber nach wie vor mehr Speicherplatz als wirklich in der VM verbraucht wird.
VHDX-Datei unkomprimiert

VHDX-Datei komprimieren

Um die VHDX weiter zu verkleinern müsst ihr nun die Festplatte noch komprimieren.
Dazu geht ihr erneut im Hyper-V Manager auf die Einstellungen der VM und wählt erneut das Bearbeiten der Festplatte aus. Im darauffolgenden Dialog wählt ihr nun Komprimieren. Dieser Vorgang kann einige Zeit in Anspruch nehmen, wenn die Festplatte stark fragmentiert ist.

Alternativ könnt ihr die Komprimierung der VHDX Datei auch über die PowerShell erledigen.

Dazu wechselt ihr zunächst in das Verzeichnis wo die VHDX Datei liegt. Dann führt ihr folgenden Befehl aus:

Get-VHD .\vhd-name.vhdx | Optimize-VHD -mode full
PowerShell VHDX komprimieren
Die Komprimierung startet:
Virtuellen Datenträger komprimieren Ladebalken
Nach Abschluss der Komprimierung ist die VHDX Festplatte auf die wirklich verwendete Größe verkleinert worden.
VHDX-Datei nach erfolgreicher Verkleinerung
Ihr könnt anschließend die VM wieder starten.

Lasse gerne ein Kommentar da, vielleicht hilft es auch anderen Usern?

WiKi.Premium-Lizenz.com
Logo
Jetzt registrieren