Przejdź do głównej zawartości

detach vdisk

Komenda detach vdisk w narzędziu DiskPart służy do odłączania wcześniej zamontowanego dysku wirtualnego (VHD/VHDX) od systemu operacyjnego. Pozwala zwolnić zasoby hosta, unmountując plik dysku wirtualnego i kończąc wszelkie operacje I/O na tym dysku.

Okno terminala
diskpart
DISKPART> select vdisk file="<ścieżka_do_pliku.vhd[x]>" [/noerr]
DISKPART> detach vdisk
  • select vdisk file="<ścieżka>" – wybiera plik VHD lub VHDX, opcjonalnie z przełącznikiem /noerr dla kontynuacji skryptu pomimo błędów.
  • detach vdisk – odłącza wybrany dysk wirtualny.

Polecenie nie przyjmuje parametrów. Aby detach vdisk zadziałało, najpierw należy wybrać dysk za pomocą select vdisk.

  1. Podstawowe odłączenie VHD

    Okno terminala
    diskpart
    DISKPART> select vdisk file="C:\VHDs\Dysk.vhd"
    DISKPART> detach vdisk

    Odłączenie pliku Dysk.vhd od systemu.

  2. Odłączenie VHD w skrypcie z ignorowaniem błędów

    select vdisk file="D:\Test.vhd" noerr
    detach vdisk
    Okno terminala
    diskpart /s CompactScript.txt

    Skrypt kontynuuje działanie nawet, gdy wybór dysku się nie powiedzie.

  3. Odłączenie VHDX używanego przez WSL2

    Okno terminala
    wsl --shutdown
    diskpart
    DISKPART> select vdisk file="D:\WSL\ext4.vhdx"
    DISKPART> detach vdisk

    Przed odłączeniem należy zatrzymać instancję WSL.

  • detach vdisk działa na dyskach dynamicznych i stałych (fixed) – odłącza każdy wcześniej zamontowany plik VHD/VHDX.
  • Wybrany dysk nie może być używany przez inne procesy; w przeciwnym razie otrzymasz błąd dostępu.
  • Komendę należy wykonywać w konsoli uruchomionej z uprawnieniami administratora.
  • Po odłączeniu dysk przestaje być widoczny zarówno w Eksploratorze, jak i w Zarządzaniu dyskami.
  • W środowiskach wirtualizacyjnych (Hyper-V, WSL) należy wcześniej zakończyć wszystkie zależne usługi.
Błąd / KomunikatPrzyczynaRozwiązanie
No VHD selected.Brak wcześniejszego select vdisk.Wykonaj select vdisk file="<ścieżka>" przed detach vdisk.
Access is denied.Brak uprawnień administratora lub plik w użyciu.Uruchom CMD jako administrator lub zatrzymaj proces blokujący VHD (np. WSL, Hyper-V).
The handle is invalid.Dysk jest załączony w trybie tylko do odczytu lub nieprawidłowy stan.Jeśli był montowany jako readonly, odłącz bez parametrów i upewnij się, że ścieżka jest poprawna.
'detach' is not recognized as an internal…Komenda wywołana poza środowiskiem DiskPart.Najpierw wpisz diskpart, a następnie w konsoli DiskPart wywołaj detach vdisk.
DiskPart has encountered an error: The system cannot find the file specified.Niepoprawna ścieżka lub nazwa pliku VHD.Sprawdź ścieżkę oraz nazwę pliku i użyj cudzysłowów przy spacji.