Vhdx-Datei viel größer als Inhalt der Festplatte - wie schrumpfen?
Hallo in die Runde!
Mittlerweile läuft unser neuer, virtueller Schülerserver so wie er soll. Nun habe ich den virtuellen Server einmal heruntergefahren und wollte vom Host die Virtuelle Maschine einmal in diesem quasi neuen Zustand auf einen externen Datenträger sichern. Dabei fiel mir auf, dass die VHDX-Datei der Datenplatte des virtuellen Servers (Server 2016 Standard) 430 GB groß ist. Laut Windows enthält die Platte aber nur knapp 90 GB Daten:
Weiß jemand, wie man die VHDX-Datei auf die tatsächliche Größe herunterschrumpfen kann? Ich möchte ungern schon wieder unseren Dienstleister damit beauftragen, das kostet immer gleich Kohle. Mit dem Hyper-V-Manager habe ich bisher aber gar keine Erfahrung und will natürlich nichts kaputt machen.
Hier die Daten von Get-VHD:
Schöne Grüße von der Elbe
Winfried
Mittlerweile läuft unser neuer, virtueller Schülerserver so wie er soll. Nun habe ich den virtuellen Server einmal heruntergefahren und wollte vom Host die Virtuelle Maschine einmal in diesem quasi neuen Zustand auf einen externen Datenträger sichern. Dabei fiel mir auf, dass die VHDX-Datei der Datenplatte des virtuellen Servers (Server 2016 Standard) 430 GB groß ist. Laut Windows enthält die Platte aber nur knapp 90 GB Daten:
Weiß jemand, wie man die VHDX-Datei auf die tatsächliche Größe herunterschrumpfen kann? Ich möchte ungern schon wieder unseren Dienstleister damit beauftragen, das kostet immer gleich Kohle. Mit dem Hyper-V-Manager habe ich bisher aber gar keine Erfahrung und will natürlich nichts kaputt machen.
Hier die Daten von Get-VHD:
Schöne Grüße von der Elbe
Winfried
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 352542
Url: https://administrator.de/forum/vhdx-datei-viel-groesser-als-inhalt-der-festplatte-wie-schrumpfen-352542.html
Ausgedruckt am: 22.12.2024 um 21:12 Uhr
26 Kommentare
Neuester Kommentar
Zitat aus
Beste Gruesse
Dominique
Get-Help Optimize-VHD
DESCRIPTION
The Optimize-VHD cmdlet optimizes the allocation of space in or more virtual hard disk files, except for fixed virtual hard disks. The Compact
operation is used to optimize the files. This operation reclaims unused blocks as well as rearranges the blocks to be more efficiently packed,
which reduces the size of a virtual hard disk file.
To use Optimize-VHD, the virtual hard disk must not be attached or must be attached in read-only mode.
The compact operation can succeed without reducing the file size, if no optimization is possible.
The Optimize-VHD cmdlet optimizes the allocation of space in or more virtual hard disk files, except for fixed virtual hard disks. The Compact
operation is used to optimize the files. This operation reclaims unused blocks as well as rearranges the blocks to be more efficiently packed,
which reduces the size of a virtual hard disk file.
To use Optimize-VHD, the virtual hard disk must not be attached or must be attached in read-only mode.
The compact operation can succeed without reducing the file size, if no optimization is possible.
Beste Gruesse
Dominique
Besorg dir sdelete aus den Sysinternals Tools , das Thema hatten wir hier schonmal
VHD trotz Komprimierung unverändert
Vollkommen zusammengeschrumpft bekommst du eine Platte dieser Größe mit dieser Art aber nie.
Grüße Uwe
VHD trotz Komprimierung unverändert
Vollkommen zusammengeschrumpft bekommst du eine Platte dieser Größe mit dieser Art aber nie.
Grüße Uwe
Zitat von @Winfried-HH:
Verständnisfrage: Warum muss man die Platte dazu im Host mounten? Also warum kann/darf/soll man das sdelete nicht vom virtuellen Server, in dem die Platte ohnehin eingebunden ist, starten?
Der Grund: Wenn du das Tool im Gast startest zwackt(alloziiert) es sich für diesen Zweck denn sämtlichen freien Speicher der virtuellen Platte ab. Das führt dann einerseits dazu daß die VM die Platte wieder vergrößert und Anwendungen/Dienste in der VM deswegen wegen Speichermangels abstürzen könnten.Verständnisfrage: Warum muss man die Platte dazu im Host mounten? Also warum kann/darf/soll man das sdelete nicht vom virtuellen Server, in dem die Platte ohnehin eingebunden ist, starten?
Ja, solange es keine Anwendung gibt die die Platte im ständigen Zugriff hat, also z.B. Datenbankanwendungen etc pp.
Ich sehe aber absolut kein Problem darin das im Host direkt zu machen(oder weißt du etwa nicht wie man eine VHDX mountet ?) so ist man 100% sicher daß es keinen Zugriff gibt, aber wenn du es unbedingt in der VM machen willst, bitte tu dir keinen Zwang an.
Ich sehe aber absolut kein Problem darin das im Host direkt zu machen(oder weißt du etwa nicht wie man eine VHDX mountet ?) so ist man 100% sicher daß es keinen Zugriff gibt, aber wenn du es unbedingt in der VM machen willst, bitte tu dir keinen Zwang an.
Falls ich das richtig verstanden habe, geht es doch um keine Systemplatte. Und dort sind keine Programme oder ähnliches installiert. Eine reine Datenplatte also?
Warum erstellst du nicht eine neue Platte, welche nicht dynamisch ist und hängst die an den Server ran. Danach einfach die Daten von D auf E kopieren, VM runterfahren, D-Platte aushängen und VM wieder starten. Danach einfach den Laufwerksbuchstaben von E auf D stellen. Fertig!
Allerdings bitte Vorsicht: Wenn das Programm, dass dort seine Daten ablegt, nicht über den Pfad geht (z.B. D:\Daten) kann das auch in die Hose gehen.
Warum erstellst du nicht eine neue Platte, welche nicht dynamisch ist und hängst die an den Server ran. Danach einfach die Daten von D auf E kopieren, VM runterfahren, D-Platte aushängen und VM wieder starten. Danach einfach den Laufwerksbuchstaben von E auf D stellen. Fertig!
Allerdings bitte Vorsicht: Wenn das Programm, dass dort seine Daten ablegt, nicht über den Pfad geht (z.B. D:\Daten) kann das auch in die Hose gehen.
Das ist normal bei der Größe!
Ich war zufällig wach und habe gesehen, dass der freie Speicherplatz des gemounteten Laufwerks bis auf 0 heruntergezählt hat, und dann war er wieder bei 902. Von anderen Programmen (z.B. Eraser) kenne ich das so zwar nicht, aber offenbar gehört das bei SDELETE zum Ausnullen des freien Speichers dazu.
Richtig , das Verhalten ist so korrekt so, da sdelete sich den Speicher alloziiert und erst am Ende wieder frei gibt, denn sonst könnte ja ein Prozess zwischenzeitlich wieder in den freigegebenen Speicher schreiben, was wir ja aber verhindern wollen, deswegen dieses Verhalten.Wie auch immer, nach dem SDELETE-Vorgang konnte ich die VHDX-Datei mit dem Hyper-V-Manager auf immerhin 126 GB eindampfen. Das ist zwar immer noch mehr, als sie belegten Speicher hat, aber immerhin.
Das ist ebenfalls normal (Stichwort MFT).Zitat von @Winfried-HH:
Kleine Ergänzungsfrage: Kann man eigentlich VHDX-Dateien mit irgendeinem Programm auch unter Windows 7 öffnen / mounten?
Out of the box mit Bordmitteln nicht, Windows 7 kennt nur das VHD Format ohne Erweiterung, es gibt aber genügend Alternativen mit denen du sie öffnen kannst wie z.B.Kleine Ergänzungsfrage: Kann man eigentlich VHDX-Dateien mit irgendeinem Programm auch unter Windows 7 öffnen / mounten?
https://www.isobuster.com/isobuster.php
usw.