VHDX Festplatte einer Hyper-V VM verkleinern

Kategorie: Hyper-V
VHDX Festplatte verkleinern

In einigen Fällen kann es vorkommen das ihr eine VHDX Festplatte einer Hyper-V VM verkleinern wollt oder müsst. Vorkommen kann dies zum Beispiel wenn ihr auf einer VHDX mit dynamischer Größe eine große Menge an Daten löscht. Die Daten verschwinden dann zwar in der VM, aber die VHDX-Datei wird nicht kleiner. Gerade bei Backupsoftware die mit Snapshots arbeitet kann dies zu Problemen führen, wenn nicht mehr genug Speicher auf dem Hyper-V Host zur Verfügung steht. In dieser Anleitung zeige ich euch Schritt für Schritt wie ihr VHDX Dateien unter Hyper-V verkleinern könnt.

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.

  • Intel Celeron Quad Core Prozessor
  • 2 Gigabit Netzwerkanschlüsse
  • Leistungsstark und skalierbar
  • Unterstützt Btrfs-Dateisystem

Affiliate Links / Bilder von Amazon – Als Amazon-Partner verdiene ich an qualifizierten Käufen.

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.

Quellen:

Andys Blog – WINDOWS/HYPER-V: VHDX VERKLEINERN
Windows Pro – VHDX-Laufwerke komprimieren und verkleinern