Como evito que o Windows gire aleatoriamente um disco rígido USB (verde)?

1

Mesmo que o recurso de economia de energia do Windows esteja configurado para nunca desligar meu disco rígido, meus discos rígidos USB externos ainda irão girar automaticamente após algum período de inatividade. O problema é que eles girarão de volta aleatoriamente enquanto o computador estiver ocioso ou enquanto estiver assistindo a um filme / ouvindo música; é realmente muito chato (não só por causa do barulho que faz, mas também porque desnecessariamente enfatiza o drive toda vez que ele faz isso, o que é mais do que uma dúzia de vezes por dia e isso me preocupa). Eu me deparei com um antigo utilitário freeware que pode ser usado para lidar com esse aborrecimento de forma muito eficaz com unidades SATA / eSATA. É chamado de revoSleep . A documentação desse utilitário revela que o truque é colocar o disco offline, desativá-lo e desativá-lo.

Isso me inspirou a procurar uma solução semelhante para unidades USB, mas até agora não consegui encontrar um utilitário de software que funciona sem problemas. Usando o diskpart, posso colocar meu disco USB offline. Em seguida, usando um utilitário freeware chamado HDDScan for Windows (semelhante ao 'hdparm'), posso girar o disco e posso até fazer isso a partir de um batchfile. Nice.

A etapa final é desabilitar o driver de dispositivo do disco, dentro do mesmo batchfile, em vez de usar o Gerenciador de Dispositivos. Usando outro utilitário freeware chamado DevCon, consegui identificar rapidamente o driver de dispositivo correto. Acontece que a versão antiga do DevCon (de 2003) não pode desativar os drivers de dispositivo no Windows 7 ou 8. Então acabei baixando o Driver Developmet Kit (DDK) 7.1.0 do Centro de Download da Microsoft para pegar a versão que funciona. Uma vez que isso foi resolvido, finalmente consegui desativar o driver de dispositivo do meu disco rígido USB. Agora vem a minha pergunta. Wat é a melhor maneira mais confiável para automatizar essas etapas em um arquivo batch (ou um script WSH ou qualquer outro) para que o arquivo batch / script não escolha acidentalmente a unidade errada para qualquer um dos comandos que irá executar?

FWIW, deparei-me com esta postagem, mas o código de amostra usa apenas os 11 primeiros caracteres de um volume etiqueta para encontrar um número de partição. Em vez disso, quero que ele use (se possível) um número de série exclusivo do disco rígido para encontrar um número de disco, para poder colocar o disco correto off-line.

    
por willy 28.12.2012 / 00:37

2 respostas

0

Eu consegui escrever um script do PowerShell 3.0 para colocar meu HDD USB externo offline usando o Diskpart, depois desmembrá-lo usando o HDDScan for Windows e, finalmente, desabilitar seu driver de dispositivo usando o DevCon. No entanto, o disco rígido volta a funcionar após alguns minutos e, em seguida, desce novamente depois disso. Eu verifiquei que esse sintoma ocorre apenas uma vez depois que meu script foi executado. Vou postar uma nova pergunta sobre esse problema.

    
por 10.01.2013 / 01:21
0

Isso pode ajudar.

Se você sabe o número de série do disco rígido, você pode usar o script em lote abaixo para obter a letra da unidade. De lá, você pode usar a letra da unidade para descobrir o volume ou o número do disco usando o diskpart.

@echo off
setlocal EnableDelayedExpansion

set "xDrive="
rem Loop through all of the drives to find the external HDD
for %%D in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    for /f "tokens=5" %%S in ('vol %%~D:') do set "xSerial=%%S"
    if "%xSerial%"=="ABCD-1234" (
        set "xDrive=%%~D:"
    )
)

echo Drive Found = %xDrive%

endlocal
pause
    
por 31.12.2012 / 23:19