Erhöht die Nullfüllung die Größe des dynamischen Image der virtuellen Box


10

Ich habe hauptsächlich Festplatten-Images mit fester Größe für Oracle Virtualbox verwendet, aber ich denke darüber nach, auf dynamische Disk-Images umzusteigen, da ich gehört habe, dass dynamische Images eine ähnliche Leistung aufweisen wie Images mit fester Größe, außer beim Erweitern.

Eine Operation, die ich häufig mache, besteht darin, ein Disk-Image mit fester Größe vor dem Sichern mit einem Zip-Programm auf Null zu setzen (um die Größe des Zip-Archivs zu verringern). Meine Frage ist, wenn ich eine dynamische Festplatte mit Null fülle, wird die Festplattengröße auf den maximal deklarierten Wert erhöht? (Für meinen speziellen Fall verwende ich sdelete -zWindows-Partitionen.)

Eine weitere Frage ist, ob es eine Möglichkeit gibt, Partitionen mit Nullen zu füllen, ohne die Festplattengröße zu erhöhen.

Vielen Dank.

- BEARBEITEN -

Zur Verdeutlichung frage ich, dass ich die Größe komprimierter Virtualbox-Images auf ein Minimum beschränken möchte. Das Null-Füllen eines Bildes mit fester Größe erledigt die Aufgabe, da der mit Null gefüllte Teil fast nichts zum komprimierten Bild beiträgt. Wenn ich jedoch zu einer dynamischen Festplatte wechsle, scheint die Nullfüllung den Zweck der Verwendung von Bildern mit dynamischer Größe zu vereiteln.

Der zweite Teil meiner Frage lautet wirklich, ob es eine bessere Alternative als Nullfüllung gibt, mit der nicht verwendete Sektoren entfernt werden können, ohne die Festplattengröße zu vergrößern.


1
Ja, eine vollständig zugewiesene dynamisch zugewiesene Festplatte hat ihre vollständig zugewiesene Größe. Ich bin mir nicht ganz sicher, was die Verwirrung hier ist, und ich kann mir auch keinen Grund vorstellen, das zu tun, was Sie beschreiben, aber nein, Sie können nicht eine Reihe von Daten (wenn auch alle Nullen) in eine Datei einfügen und nicht deren Größe erwarten wechseln.
Frank Thomas

@FrankThomas Bitte beachten Sie mein Update für den Grund, Null zu füllen.
Tinlyx

1
@tinlyx Ich habe gerade geantwortet und anscheinend habe ich Ihre Bearbeitung auch in meiner Antwort beantwortet. Sie können die dynamischen Disk-Images mithilfe von Virtualbox-Tools komprimieren. Eine Nullfüllung gefolgt von einem Kompakt würde also ein perfektes Bild für Archivierungszwecke ergeben.
Mokubai

Antworten:


12

Ich habe es gerade getestet (unter Verwendung sdelete -zin einer VM) und das Null-Füllen der Festplatte erhöht die Größe des dynamischen Festplatten-Images nicht merklich. Virtualbox ist intelligent genug, um zu erkennen, dass beim Schreiben von Nullen in einen bereits leeren Block auf der Festplatte der Block nicht erneut geschrieben werden muss.

Aber selbst wenn dies der Fall ist, ist das nicht schlecht, denn wenn Sie die Festplatte nicht füllen, können Sie sie auch mit den Virtualbox-Tools auf Ihrem Host erneut komprimieren: Wie wird die VDI-Dateigröße von VirtualBox komprimiert?

Als ich meine VM auf Null füllte, wurde die Image-Größe von ~ 14,5 GB auf ~ 15,5 GB erhöht, aber nicht vollständig der gesamte Speicherplatz zugewiesen, was ungefähr 48 GB gewesen wäre.

Wenn Sie die Festplatte nicht mit (via sdelete -z) füllen , können Sie den geschriebenen Speicherplatz, der inzwischen von Ihrem VM-Betriebssystem freigegeben wurde VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact, ordnungsgemäß freigeben. Anschließend können Sie den Befehl auf Ihrem Host-Computer ausführen, um das dynamische Festplatten-Image ordnungsgemäß zu komprimieren zurück auf seine minimale Größe.


Vielen Dank. In der Tat sdelete -zerhöht die dynamische Festplattengröße nicht viel.
Tinlyx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.