Nawet jeśli funkcja oszczędzania energii w systemie Windows jest ustawiona tak, aby nigdy nie wyłączać mojego dysku twardego, moje zewnętrzne dyski USB nadal będą się automatycznie wyłączać po pewnym okresie bezczynności. Problem polega na tym, że obracają się one losowo, gdy komputer jest bezczynny lub podczas oglądania filmu / słuchania muzyki; to naprawdę bardzo denerwujące (nie tylko ze względu na hałas, który powoduje, ale także dlatego, że niepotrzebnie stresuje napęd za każdym razem, gdy to robi, co jest kilkanaście razy dziennie i to mnie martwi). Natknąłem się na stare bezpłatne narzędzie, którego można bardzo skutecznie zaradzić tej irytacji za pomocą dysków SATA / eSATA. To się nazywa revoSleep . Dokumentacja tego narzędzia ujawnia sztuczkę polegającą na przełączeniu dysku w tryb offline, zakręceniu nim, a następnie wyłączeniu sterownika urządzenia.
Zainspirowało mnie to do poszukiwania podobnego rozwiązania dla napędów USB, ale jak dotąd nie udało mi się znaleźć oprogramowania, które działałoby bez żadnych problemów. Korzystając z diskpart, mogę przełączyć mój dysk USB w tryb offline. Następnie, korzystając z darmowego narzędzia o nazwie HDDScan dla Windows (podobnego do „hdparm”), mogę obrócić dysk, a nawet mogę to zrobić z pliku wsadowego. Miły.
Ostatnim krokiem jest wyłączenie sterownika urządzenia z dysku z tego samego pliku wsadowego zamiast korzystania z Menedżera urządzeń. Korzystając z innego darmowego narzędzia o nazwie DevCon, szybko udało mi się zidentyfikować właściwy sterownik urządzenia. Okazuje się, że stara wersja DevCon (od 2003 r.) Nie mogła wyłączyć sterowników urządzeń w systemie Windows 7 lub 8. Więc skończyłem pobieranie Driver Developmet Kit (DDK) 7.1.0 z Centrum pobierania Microsoft, aby pobrać wersję, która działa. Po rozwiązaniu tego problemu mogłem w końcu wyłączyć sterownik urządzenia z dysku twardego USB. Teraz nadchodzi moje pytanie. Wat to najlepszy, najbardziej niezawodny sposób na zautomatyzowanie tych kroków w pliku wsadowym (lub skrypcie WSH itp.), Aby plik wsadowy / skrypt nie przypadkowo wybrał niewłaściwy dysk dla któregoś z poleceń, które wykona?
FWIW, natknąłem się na ten post, ale przykładowy kod używa tylko pierwszych 11 znaków etykiety woluminu do znalezienia numeru partycji. Zamiast tego chcę, aby używał (jeśli to możliwe) unikalnego numeru seryjnego dysku twardego w celu znalezienia numeru dysku, aby móc przełączyć właściwy dysk w tryb offline.
Odpowiedzi:
To może pomóc.
Jeśli znasz numer seryjny dysku twardego, możesz użyć poniższego skryptu wsadowego, aby uzyskać literę dysku. Stamtąd możesz użyć litery dysku, aby odkryć wolumin lub numer dysku za pomocą diskpart.
źródło
Byłem w stanie napisać skrypt PowerShell 3.0, aby przełączyć mój zewnętrzny dysk twardy USB w tryb offline za pomocą Diskpart, następnie rozkręcić go za pomocą HDDScan dla Windows, a następnie ostatecznie wyłączyć sterownik urządzenia za pomocą DevCon. Jednak dysk twardy włącza się ponownie po kilku minutach, a następnie natychmiast obraca się ponownie. Sprawdziłem, że ten objaw występuje tylko raz po uruchomieniu skryptu. Wyślę nowe pytanie dotyczące tego problemu.
źródło