Muszę odmontować dysk VHD za pomocą skryptu wsadowego w systemie Windows 10. Jedyne rozwiązanie, które znalazłem w Internecie, dotyczyło systemu Windows 7 i dotyczyło programu Diskpart. Czy są dostępne inne natywne narzędzia wiersza polecenia systemu Windows, które mogą wykonać to zadanie?
command-line
windows-10
vhd
eject
unmount
Zerobinary99
źródło
źródło
Odpowiedzi:
Ponieważ nie znalazłem sposobu, aby polegać wyłącznie na narzędziach wiersza poleceń zainstalowanych w MS, wymienię rozwiązania innych firm.
WinApiExec
WinApiExec umożliwia użytkownikowi wywoływanie interfejsu API systemu Windows z wiersza polecenia. 32-bitowy plik wykonywalny ma tylko 3,5 KB (x64: 5,5 KB), a zatem jest absurdalnie mały, co powoduje jak najmniejsze obciążenie ogólne.
vMount
vMount obsługuje wiele funkcji związanych z VHD. Jego rozmiar (x86: 432 KB; x64: 2,53 MB) jest raczej ogromny dla zwykłego wywołania WinApi, więc nie jest to rozwiązanie dla mojego scenariusza, ale może być przydatne dla innych osób.
DiskPart
Ze względu na kompletność należy również wspomnieć o DiskPart. Obsługuje wiele funkcji związanych z dyskami, ale ma dość powolny sposób, aby zautomatyzować wprowadzanie przez użytkownika danych niezbędnych do tworzenia skryptów. Jest to również jedyne narzędzie na liście, które zostanie uwięzione w pętli, jeśli przypadkowo uruchomisz skrypt bez podniesionych uprawnień.
Zapisz następujące dwa wiersze w pliku tekstowym:
Teraz Dism może analizować plik tekstowy jako formę pliku nienadzorowanej odpowiedzi:
źródło
Możesz montować i odmontowywać vhd / vhdx przy użyciu natywnego programu Windows 10 Powershell:
Z cmd / bat:
W obu przypadkach musisz użyć podwyższonego poziomu (Uruchom jako administrator).
Należy również zauważyć, że najpierw musisz włączyć funkcję Hyper-V .
źródło
To jest rozszerzona odpowiedź: (Powinieneś być w stanie dowiedzieć się, jak umountować VHD)
Jak automatycznie montować i podłączać pliki VHD podczas uruchamiania / zamykania systemu.
Wygląda na to, że nieco się zmieniło w Windows 10.
Po pierwsze, powinienem powiedzieć, że podłączam dysk VHD przechowywany na serwerze plików Linux, podłączając się przez SMB.
Po drugie, bardzo ważne jest to, że jeśli nie odłączysz dysku przy ponownym uruchomieniu, wtedy, gdy spróbujesz go ponownie podłączyć, mówi „Plik jest w użyciu i nie można uzyskać do niego dostępu” ..
Potrzebujemy więc zarówno automount, jak i odmontowania. Odmontowanie okazało się nieco trudniejsze, ponieważ nie mogę po prostu umieścić go w folderze startowym. Musisz użyć zasad grupy. Ponadto, gdy został uruchomiony jako skrypt „zamykania / uruchamiania”, działał zbyt wcześnie, należy go uruchomić przy „Logon / Logoff”
Mam 4 pliki w
C:\mount
mount.cmd
umount.cmd
umount.txt
mount.txt
Teraz w Start wpisz / uruchom
gpedit.msc
i dodaj skrypty do logowania / wylogowaniaźródło