franc
Goto Top

Virtuelle VHD-Festplatte in VMware - Defragmentierung und Komprimierung

Hallo

ich habe eine alte virtuelle Maschine (Windows XP) im VHD-Format, also vom Microsoft Programm "Virtual PC" noch stammend.
Ich glaube ich hatte die damals aus meinem damals (2014) laufenden Windows XP heraus mit einem Sysinterals Tool erstellt und in VMware Workstation eingebunden.
Die habe ich gerade ausgegraben und wollte sie verkleinern.

Ich habe also erstmal einiges an Müll in der VM gelöscht, die Platte wird in der VM jetzt mit (immer noch 200 GB) angegeben, aber die VHD hat 300 GB.
Kleiner kriege ich sie aber nicht, weil ein 'Defrag' sofort und ohne Fehler beendet wird und ein anschließendes 'Compact' braucht auch nicht lange, schrumpft aber so gut wie nichts.

Ich vermute, es liegt am Format der virtuellen Festplatte, am VHD, also nicht vmdk, dass VMware das nicht komprimiert.

Gibt es da eine Möglichkeit, VHD dennoch zu komprimieren, oder in vmdk umzuwandeln?
Wäre das z.B. möglich und gefahrlos?
c:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -r D:\pfad\zur\vhd\win-xp.VHD D:\pfad\zur\neuen\vmdk\win-xp.vmdk

Danke. Gruß frank

VMware Workstation 12 Pro auf Windows 8.1 (64-Bit)

EDIT: ich habe mittlerweile auf windowspro.de: VMDK, VHDX, VDI: Virtuelle Disks konvertieren mit qemu-img für Windows das Kommandozeilentool qemu-img entdeckt und bin grad am Konvertieren, bin bei 16%, es ist langsam. Mein Kommando ist:
qemu-img.exe convert FRANC-COMP.VHD -O vmdk franc-comp.vmdk -p
Bin mal gespannt ob das klappt...

Content-ID: 556072

Url: https://administrator.de/contentid/556072

Ausgedruckt am: 16.11.2024 um 22:11 Uhr

Spirit-of-Eli
Spirit-of-Eli 09.03.2020 um 14:21:49 Uhr
Goto Top
Moin,

du könntest mit Gparted Boot und die partition einfach verkleinern. Gparted erledigt dann den Rest.

Vorher natürlich ein Backup machen!

Gruß
Spirit
franc
franc 09.03.2020 um 20:04:05 Uhr
Goto Top
Zitat von @franc:
...
EDIT: ich habe mittlerweile auf windowspro.de: VMDK, VHDX, VDI: Virtuelle Disks konvertieren mit qemu-img für Windows das Kommandozeilentool qemu-img entdeckt und bin grad am Konvertieren, bin bei 16%, es ist langsam. Mein Kommando ist:
qemu-img.exe convert FRANC-COMP.VHD -O vmdk franc-comp.vmdk -p
Bin mal gespannt ob das klappt...

Also der erste Versuch ging schon mal schief: "...the disk has internal consistency errors..." und XP startete zwar, hatte dann aber alsbald einen BOD.
Die Festplatte wo das drauf erstellt wurde, war aber voll, kann sein, dass es daran lag. Ich mache jetzt mal Platz und probier es noch mal...
GrueneSosseMitSpeck
GrueneSosseMitSpeck 10.03.2020 aktualisiert um 06:47:43 Uhr
Goto Top
Workstation 12 kann nur vmdk Dateien verkleinern... sollte eigentlich bekannt sein. Ich würde mir mal ernsthaft die Mühe mahcen, das vhd nach vmdk zu konvertieren, antelle irgendwelche kryptischen Qemu-Befehle auszuproboereen. Außerdem muß ja der Speicherplatz acuh in der VM freigegeben sein, sprich Papierkorb leeren, dann Swapdatei verkleinern und um gottes Willen kein Hibernate machen sondern sauber herunterfahren.

Außerdem kann es ja auch noch sein, daß das VHD als "thick provisioned" erkannt und benutzt wird, in dem Fall hat man natürlich überhaupt keine Chance.

Alternativ kann man das VHD auch mal durch den VMware Converter druchjagen, und a) die Fesptlatte verkleinern und b) thin provisioned lazy zeroed verwenden.
franc
franc 10.03.2020 aktualisiert um 17:24:58 Uhr
Goto Top
Zitat von @franc:
...
Die Festplatte wo das drauf erstellt wurde, war aber voll, kann sein, dass es daran lag. Ich mache jetzt mal Platz und probier es noch mal...

... auch der zweite Versuch ging schief. Die erzeugte vmdk wurde fast so groß wie die VHD, dann war auch wieder der Plattenplatz zuende und es hat ohne Fehler beendet, aber die vmdk ist natürlich korrupt.

Zitat von @GrueneSosseMitSpeck:
...
Außerdem kann es ja auch noch sein, daß das VHD als "thick provisioned" erkannt und benutzt wird, in dem Fall hat man natürlich überhaupt keine Chance.
...
wo sehe ich denn das, ob meine VHD thick provisioned ist?

Alternativ kann man das VHD auch mal durch den VMware Converter druchjagen, und a) die Fesptlatte verkleinern und b) thin provisioned lazy zeroed verwenden.

Der Konverter ist wohl der vmware-vdiskmanager.exe im VMware Verzeichnis. Der macht einen verdächtig ähnlichen Eindruck wie der qemu-img ;)
Habe ihn also mal gestartet (um 9:15 ca.) mit Ziel dieses Mal auf einer Platte mit mehr Platz (900 GB):
c:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -r "d:\Eigene Dateien\My Virtual Machines\XP-FRANC-COMP\FRANC-COMP.VHD" -t 0 "b:\backup\xp\franc-comp.vmdk"   
Creating disk 'b:\backup\xp\franc-comp.vmdk'  
  Convert: 1% done.
Werde später berichten, was draus wird...

Die VHD habe ich natürlich vorher entschlackt und dann runtergefahren.
... 13:27 bei 54%, die neue vmdk bisher 158 GB groß. Vor dem Hintergrund wird aber auch klar, dass 270 GB freier Platz nicht reichen konnten beim Umwandeln, sondern dass es mindestens 293 GB gebraucht hätte (falls das qemu-img tool gleich funktioniert)...
...15:05 bei 75% und 218 GB...
... 16:56 bei 100% und 288 GB... und 17:00 fertig bei 289 GB. Jetzt kommt der Test...
... und bringt gar nichts. Genauso wie die VHD ist ein Defrag scheinbar sofort fertig, also geht gar nicht und ein Compact dauert zwar ein paar Sekunden, ändert aber auch nichts.
Immerhin startet die VM mit der vmdk ohne Fehlermeldung.
franc
franc 11.03.2020 aktualisiert um 09:55:24 Uhr
Goto Top
Ich habe mich jetzt mal an ein Fachforum gewendet (vmware-forum.de):

VHD zu vmdk konvertieren und komprimieren

Ich hoffe, dort kennt jemand einen Kniff...