diantz
Komenda diantz
pakietuje istniejące pliki do archiwum Cabinet (.cab), wykonując te same operacje co makecab
w systemie Windows. Narzędzie jest dostępne jako diantz.exe
w katalogach %SystemRoot%\System32
i %SystemRoot%\SysWOW64
na wszystkich współczesnych wersjach Windows (10, 11) oraz Windows Server (2016–2025). Dodatkowo, diantz
bywa wykorzystywane w scenariuszach ataków jako Living Off The Land Binary.
Składnia
Dział zatytułowany „Składnia”diskpartDISKPART> select vdisk file="<ścieżka_do_pliku.vhd>" [/noerr]DISKPART> compact vdisk
select vdisk file="<ścieżka_do_pliku.vhd>"
– wybiera dysk wirtualny, opcjonalnie z/noerr
by kontynuować po błędzie.compact vdisk
– kompresuje wybrany dynamiczny dysk wirtualny.
Parametry
Dział zatytułowany „Parametry”Polecenie nie przyjmuje dodatkowych parametrów. Aby użyć compact vdisk
, należy najpierw wybrać dysk przy pomocy select vdisk
.
Przykłady użycia
Dział zatytułowany „Przykłady użycia”-
Podstawowa kompresja dynamicznego VHD
Okno terminala diskpartDISKPART> select vdisk file="C:\VHDs\Dysk.vhd"DISKPART> compact vdiskDISKPART> detach vdisk -
Kompresja w skrypcie z ignorowaniem błędów
CompactScript.txt
:select vdisk file="D:\Test.vhd" noerrcompact vdiskdetach vdiskOkno terminala diskpart /s CompactScript.txt -
Kompresja VHDX używanego przez WSL2
Okno terminala wsl --shutdowndiskpartDISKPART> select vdisk file="D:\WSL\ext4.vhdx"DISKPART> attach vdisk readonlyDISKPART> compact vdiskDISKPART> detach vdisk
- Działa wyłącznie na dynamicznych VHD/VHDX; dyski stałe (fixed) nie zmieniają rozmiaru.
- Wybrany dysk musi być odłączony lub zamontowany jako tylko do odczytu.
- Po kompresji zaleca się ponowne odłączenie dysku przed użyciem go w Hyper-V lub innym narzędziu.
- Komenda jest dostępna od Windows Server 2016 i w nowszych wersjach Windows 10/11.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
No VHD selected. | Brak wcześniejszego select vdisk . | Użyj select vdisk file="<ścieżka>" przed compact vdisk . |
Virtual disk is not dynamically expandable. | Próba kompresji dysku stałego (fixed). | Upewnij się, że VHD jest dynamiczny; jeśli nie, utwórz nowy dynamiczny i skopiuj dane. |
Access is denied. | VHD jest montowany w trybie zapisu lub brak uprawnień administratora. | Zamontuj jako readonly lub uruchom CMD jako administrator; odłącz VHD w Hyper-V. |
The handle is invalid. | Dysk używany przez inną usługę (np. WSL, Hyper-V). | Wyłącz usługę korzystającą z VHD (wsl --shutdown ) lub odłącz dysk z Hyper-V przed kompresją. |
DiskPart has encountered an error: The system cannot find the file specified. | Niepoprawna ścieżka pliku VHD. | Sprawdź pełną ścieżkę i nazwę pliku; użyj cudzysłowów przy spacji. |