Login
Newsletter
Do, 19. Oktober 2017, 15:00

VirtualBox-Abbilder verkleinern

Das Verkleinern von Abbildern einer virtuellen Maschine erlaubt es nicht nur, Platz zu sparen, sondern macht teils sehr große Dateibrocken zu handlichen Häppchen. Wie Sie sowohl Linux als auch Windows-Systeme effektiv verkleinern können, zeigt dieser Tipp.

Das Virtualisierungsprogramm VirtualBox bringt zwei eigene Festplattenphilosophien mit, die beide als »Virtual Disk Image« (VDI) geführt werden und die eine dynamische und eine statische Allokation des benötigten Festplattenspeichers erlauben. Beide Varianten haben ihre Vor- und Nachteile, wobei bei der dynamischen Allokation dem Nachteil des gesteigerten Overheads der Vorteil einer geringeren Größe entgegensteht.

Nicht selten passiert es aber, dass eigentlich recht kleine VirtualBox-Abbilder eine Größe annehmen, die keinesfalls in Verhältnis mit dem tatsächlichen Speicherverbrauch steht. Werden viele Dateien in einer virtuellen Maschine erstellt und wieder gelöscht, hat sie irgendwann ihre Maximalgröße erreicht, obgleich innerhalb des Dateisystems nur ein Bruchteil des Speichers belegt ist. Will man eine solche Maschine migrieren oder transportieren, vielleicht aber auch als Template nutzen, bedarf es einer manuellen Verkleinerung des Festplattenabbildes.

1.) Der erste Schritt unter Windows-Gästen sollte eine Defragmentierung der Festplatte sein. Dazu kann auch das Windows-eigene Werkzeug genutzt werden.

2.) Der zweite Schritt sollte eine Füllung der kompletten virtuellen »Festplatte« mit Nullen sein. Unter Windows kann dazu das Werkzeug »sdelete« von Sysinternals genutzt werden. Unter Linux können Werkzeuge wie sfill oder zerofree eingesetzt werden. Alternativ kann auch dd zum Einsatz kommen.

Windows

sdelete.exe c: -z

Linux

dd if=/dev/zero of=/mnt/fillimage bs=4096k
rm /mnt/fillimage

3.) Das Gastsystem wird nun heruntergefahren und auf dem Host mit vboxmanage bzw. VBoxManage das Festplattenabbild verkleinert:

Abbild verkleinern

VBoxManage modifyhd IMG_ABBILD.vdi --compact

Danach sollte das Abbild – je nach Füllstand – teils dramatisch kleiner sein.

Ein kleiner Tipp am Rande. Sollten Sie beabsichtigen, ein Abbild als Template einzusetzen und ein einzelnes Image in verschiedenen Maschinen separat zu nutzen, wird VirtualBox das erkennen und die Einbindung mit dem Hinweis verweigern, dass die UUID bereits bei einem anderen Abbild eingesetzt wird. In diesem Fall können Sie die interne ID einer virtuellen Festplatte mit dem folgenden Kommando ändern:

UUID einer VDI-Datei ändern

VBoxManage internalcommands sethduuid IMG_ABBILD.vdi

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten