Warum kann ich eine virtuelle Festplatte nicht in Hyper-V verkleinern?

1463
Daniel

Ich habe eine virtuelle Maschine mit Ubuntu 12.04, die ich mit Hyper-V in einem Windows 8.1-Host erstellt habe. Zu einem bestimmten Zeitpunkt hatte ich eine sehr große Datei in meiner virtuellen Maschine, wodurch meine dynamisch wachsende Festplatte auf fast 200 GB anwuchs. Seitdem habe ich die Datei entfernt und ich versuche, die Festplatte wieder zu verkleinern. Wie Sie diesem Screenshot von GParted in Ubuntu entnehmen können, verwende ich nicht viel Festplattenspeicher:

192 GiB nicht verwendet

Ich habe versucht, die Option "CD" in den Hyper-V-Einstellungen zu verwenden. Dies hatte jedoch keinen Einfluss auf die Größe der VHDX-Datei im Host, deren Größe nahezu 200 GB beträgt. Ich habe auch versucht, diese Anweisungen zur Verwendung des Windows- diskpartDienstprogramms zu befolgen, dies hatte jedoch auch keine Auswirkungen. Fehlt mir etwas? Kann ich noch etwas probieren?

0
Bei 'Compact Disk' hat * die * * Größe * der virtuellen Festplatte nie geändert, nur die Menge an Speicherplatz, die zum Speichern der virtuellen Festplatte erforderlich ist. Wenn Sie dies tun möchten, müssen Sie eine neue virtuelle HDD-Datei erstellen oder einen Befehl verwenden, um die Größe der vorhandenen Datei zu ändern (wodurch natürlich eine neue virtuelle HDD erstellt wird). Ramhound vor 6 Jahren 0
Ich glaube, ich verstehe entweder nicht, was Sie sagen, oder Sie verstehen nicht, was ich sage. Ich möchte die Kapazität der virtuellen Festplatte nicht reduzieren. Ich möchte, dass das 200 GB bleiben. Ich möchte nur die Größe der .vhdx-Datei reduzieren, da das Laufwerk derzeit nur 6 GB Daten speichert. Daniel vor 6 Jahren 0
Ich verstehe was du sagst. Sie versuchen, die Größe der virtuellen Festplatte mit einem Befehl zu ändern, der lediglich den von der Datei belegten Speicherplatz verringert. Der Titel dieser Frage gibt an, dass Sie die vhdx-Datei * verkleinern * möchten. In meiner Antwort wird erläutert, wie das geht. In jedem Fall müssen Sie sie nur um 1 GB verkleinern, um Ihr Problem zu lösen. Ramhound vor 6 Jahren 0

1 Antwort auf die Frage

1
Ramhound

Ich empfehle dringend, dass Sie die Schritte zum Erstellen einer Kopie der .vhdx-Datei ausführen, bevor Sie sie ändern. Um die Größe einer vorhandenen .vhdx-Datei zu ändern, müssen Sie als Erstes die virtuelle Festplatte mithilfe des Befehls mount-vhd an einer erhöhten PowerShell-Eingabeaufforderung mounten .

mount-vhd \\FS01\vmdata\AS02_C.vhdx -passthru | get-disk | get-partition | get-volume 

Die Ausgabe des Befehls wird wie folgt aussehen

Wenn Sie die Größe einer der Partitionen ändern möchten, verwenden Sie Folgendes : resize-partition in einer erhöhten PowerShell-Eingabeaufforderung.

resize-partition -driveletter E -size 35GB 

Bevor Sie die Größe der virtuellen Festplatte ändern können, müssen Sie den folgenden Befehl verwenden: dismount-vhd in einer erhöhten PowerShell-Eingabeaufforderung.

dismount-vhd \\FS01\vmdata\AS02_C.vhdx 

Nachdem Sie die Partitionsgröße geändert und die Bereitstellung der virtuellen Festplatte aufgehoben haben. Sie können die Größe der virtuellen Festplatte mithilfe des Befehls ändern : resize-vhd in einer erhöhten PowerShell-Eingabeaufforderung.

resize-vhd \ FS01 \ vmdata \ AS02_C.vhdx -ToMinimumSize

Arbeiten mit und Ändern der Größe von Windows Server 2012 VHDs Resize-VHD

Dieser Prozess scheint speziell für NTFS-Laufwerke zu funktionieren. Die, mit der ich es zu tun habe, ist ext4. Wenn Sie den ersten Befehl in Ihrer Antwort ausführen, erhalten Sie überhaupt keine Ausgabe. Daniel vor 6 Jahren 0
In diesem Fall müssen Sie Windows verstehen, wie man ext4-Partitionen liest. In jedem Fall ist resize-vhd der Befehl, den Sie verwenden möchten. Ramhound vor 6 Jahren 0