dość standardowy scenariusz: zaczęło mi na lapq brakować przestrzeni więc zacząłem szukać co ją kradnie. jednym ze złodziei okazała się maszyna wirtualna z w7 – pomimo, że dysk skonfigurowany był jako ‚dynamic’, cała maszyna na vhdx, to wielkość fizyczna jest taka sama, jak wielkość partycji w maszynie.

ładnie zdefragmentowałem dysk, shutdown i optymalizacja:

nic. ani bajta

…nadal nic – nawet bajta /:

czas poszperać. gdzieś na forum znalazłem informację, że jest bug w obsłudze vhdx i lepiej używać vhd. nie wierzę – szukam dalej. znalazłem kolejny ciekawy wpis – że jest błąd przełączniq ‚full’ i lepiej używać ‚quick’ choć wydaje się to nie mieć sensu. sprawdziłem, zachowuje się zgodnie z przewidywaniami, czyli nie ugryzł ani bajta. na dysq miałem bardzo mało miejsca, pomyślałem, że może optimize-hvd działa jak np. eseutil – tworząc kopię gdzieś w tempie a potem nadpisując. ciekawostka jest taka, że niestety z tej operacji nie ma żadnego raportu – ani w eventvwr, ani na ekranie. skopiowałem plik na dysk zewnętrzny i powtórzyłem próby – bez zmian.

rozwiązanie:

rozwiązanie trochę mnie zaskoczyło. kluczowym jest informacja z technetu:

Full scans for zero blocks and reclaims unused blocks. (Allowable only if the virtual hard disk is mounted read-only.)

aby kompresja zadziałała prawidłowo, trzeba najpierw podmountować dysk [hę?]  w trybie readonly:

spodziewałem się, że przy wyłączonej maszynie mountowanie jest robione dynamicznie albo wręcz niepotrzebne. optymalizacja bez mountowania o niczym nie informuje – a mogłaby… zatem pozostaje wiedzieć (:

eN.