VirtualBox - Wie kann nicht genutzter VDI-Speicherplatz freigegeben werden?

14

Wie kann ich die Größe des VDI reduzieren, wenn der Gast über einen dynamischen Speicherplatz in VirtualBox verfügt?

Ich meine, ich weiß, dass der Virtualbox-Gast in Wirklichkeit ungefähr 3 GByte groß ist, aber die VDI-Datei ist 10 GByte groß, weil der Gast ab und zu so groß war. Aber es ist jetzt nur 3 GByte groß. Wie kann ich den VDI verkleinern? Damit es nur 3 GByte groß wäre? (und nein, es gibt keine Schnappschüsse über den Gast)

LanceBaynes
quelle
Verwandte Themen
Tamara Wijsman

Antworten:

15

Schauen Sie sich vboxmanage modifyhd an : Damit können Sie ein Image kompakter gestalten.

Mit der Option --compact können Sie Disk-Images komprimieren, dh Blöcke entfernen, die nur Nullen enthalten. Dadurch wird ein dynamisch zugewiesenes Bild wieder verkleinert. Dadurch wird die physische Größe des Image verringert, ohne dass die logische Größe des virtuellen Laufwerks beeinträchtigt wird. Die Komprimierung funktioniert sowohl für Basisbilder als auch für Diff-Bilder, die als Teil eines Schnappschusses erstellt wurden.

Damit dieser Vorgang effektiv ist, muss der freie Speicherplatz im Gastsystem zunächst mit einem geeigneten Softwaretool auf Null gesetzt werden. Für Windows-Gäste können Sie das von Microsoft bereitgestellte Tool sdelete verwenden. Führen Sie im Gastsystem sdelete -c aus, um den freien Speicherplatz auf Null zu setzen, bevor Sie das Image der virtuellen Festplatte komprimieren. Verwenden Sie für Linux das Dienstprogramm zerofree, das ext2 / ext3-Dateisysteme unterstützt.

Karolos
quelle
1
Benutze sdelete -z nicht -c! Siehe superuser.com/questions/747820/… - Die Option -c überschreibt nur mit zufälligen Daten für ein "sicheres Löschen" (SSDs mit leichtem Verschleiß).
Luc
6

Seien Sie vorsichtig - MS hat die Bedeutung von "-c" (sauber) und "-z" (null) an einem bestimmten Punkt geändert. Um sicher zu gehen, führen Sie "sdelete /?" um zu sehen, welche Option Sie verwenden sollten:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)
Hornlo
quelle
1
Die Option -c überschreibt mit zufälligen Daten (siehe superuser.com/questions/747820/… ), die leicht SSDs tragen. Verwenden Sie -z zum Nullstellen.
Luc