Verifica se l'HDD è in modalità sospensione per Windows


12

C'è un modo per vedere se il mio disco rigido sta effettivamente girando o in modalità sospensione in Windows 7?
Sto cercando risposte per dischi rigidi sia interni che esterni; non hanno sempre una luce per indicare il loro stato.


Unità esterna: riguarda la luce di stato. Le unità interne dormiranno tutte insieme, quindi nessuna utility può essere eseguita. Sono necessari ulteriori dettagli per una risposta più significativa.
harrymc,

Ho entrambe le unità, interne ed esterne. I recinti che ho non hanno la luce che mostra la modalità di sospensione. Ho pensato che la domanda fosse molto semplice e so come farlo in Linux, ma non sono riuscito a trovare software per Win.
Pablo

Questa domanda presenta alcuni problemi logici, in generale, è necessario caricare l'applicazione per controllare il disco rigido, che fa girare il disco rigido. Si finisce per girare il disco rigido ogni volta che si esegue il controllo. Ciò di cui hai effettivamente bisogno sono alcuni strumenti, che rimangono in memoria, un gadget di finestra o probabilmente un'icona della barra delle applicazioni, che continuano a monitorare i tuoi dischi dovrebbero funzionare.

Ecco il link: dopo che Microsoft ha rimosso la piattaforma della barra laterale ... ti vogliono comprare la finestra 8 ...

Risposte:


5

L' smartctlutilità della riga di comando di smartmontools offre esattamente questa funzionalità con lo -nswitch. Dalla pagina man :

-n POWERMODE, --nocheck = POWERMODE
[solo ATA] Specifica se smartctl deve uscire prima di eseguire qualsiasi controllo quando il dispositivo è in modalità a basso consumo. Può essere utilizzato per impedire che un disco venga avviato da smartctl.

Funziona da un terminale non elevato anche come unica opzione, il che rende il suo utilizzo piuttosto semplice per le unità interne:

> smartctl.exe -n standby d:
smartctl 6.5 2016-05-07 r4318 [x86_64-w64-mingw32-win10] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

d:: Device is in STANDBY (OS) mode, exit(2)

mentre un disco rotante riporta Device is in ACTIVE or IDLE mode

Le unità esterne e / o i controller esotici potrebbero essere più complicati e richiedere la lettura sullo -dswitch.


4

È possibile eseguire DiskMon che mostrerebbe tutte le attività su ciascuna unità del sistema. Nessuna voce suggerirebbe che il disco sia in modalità sospensione.

Test limitati qui confermano che questo sembra essere il caso comunque. Quando si tenta di accedere a un'unità che non è elencata nelle transazioni correnti, c'è un ritardo prima che l'unità venga visualizzata nella finestra DiskMon a indicare che è stata spenta.

È un po 'rozzo, lo ammetto!


3

È una soluzione non elegante, ma prova a installare la versione Windows di hdparm . Quindi eseguire hdparm.exe -C [drivename]dalla directory in cui è installato (di solito Program Files (x86)o simili). Usando questo metodo, sono stato in grado di dire se le mie unità erano attive / inattive o in standby (sospensione e non rotazione).

Il nome dell'unità è un indirizzo di dispositivo in stile UNIX che è in qualche modo associato a una lettera / dispositivo fisico di unità di Windows (di /dev/hdasolito è l'unità principale e quindi /dev/hdbe così via), ma non sono sicuro di come determinare quali alias di dispositivo UNIX sono disponibili sotto le finestre. Puoi assicurarti che un determinato /dev/hd_alias corrisponda al drive corretto eseguendo hdparm.exe -i [drivename]l'alias e controllando l'output per vedere se i parametri del drive corrispondono a ciò che ti aspetti.

Sarebbe bello se ci fosse un'utilità grafica e / o nativa di Windows per ottenere questa funzionalità, ma non ne conosco una.

È ancora UNIX-ish, ma potresti anche provare a giocare con la versione Windows di smartmontools e vedere se offre funzionalità simili in un pacchetto più utilizzabile. Tuttavia, non ho alcuna esperienza con quel software.


4
smartmontools utilizza SMART, ma qualsiasi utilizzo di SMART su un'unità inattiva lo riattiverà. Un caso di Catch-22.
harrymc,

1

È possibile utilizzare uno script PowerShell per ottenere lo stato delle unità disco per cui sono disponibili queste informazioni (non tutte le unità restituiscono questo stato).

Prova questo in una console di Windows PowerShell (probabilmente eseguita come amministratore):

Get-WMIObject -class Win32_DiskDrive | Select-Object caption,availability

I valori interessanti per la disponibilità sono disponibili qui :

3 (0x3) : Running or Full Power
7 (0x7) : Power Off
8 (0x8) : Off Line
13 (0xD) : Power Save - Unknown
14 (0xE) : Power Save - Low Power Mode
15 (0xF) : Power Save - Standby
16 (0x10) : Power Cycle
17 (0x11) : Power Save - Warning

Se Win32_DiskDrive non funziona per te, altre possibilità sono Win32_LogicalDisk e Win32_Volume.

Se qualcuno di loro funziona, puoi anche creare uno script, ad esempio:

$strComputer = "."
$colItems = get-wmiobject -class "Win32_Volume" -namespace "root\cimv2" -computername strComputer
foreach ($objItem in $colItems) {
      write-host "Name: " $objItem.Name " Availability: " $objItem.Availability
}

6
Avresti dovuto commentare qui che l'attributo di disponibilità viene sempre visualizzato come vuoto - penso che probabilmente non sia implementato da Microsoft. Il problema con tutte le utility di stato del disco che sono riuscito a trovare è che usano SMART che riattiverà un'unità inattiva, quindi questo è un vero enigma. Penso che dovresti contattare Microsoft per lamentarti che l'attributo di disponibilità non funziona.
harrymc,

L'ho appena provato su un WS2008 R2 con Powershell 2 e ottengo anche un valore vuoto per Disponibilità
AFract

0

Metodo di salvataggio non riuscito: con l'orecchio appoggiato sull'unità o sul posto sul laptop in cui si trova l'unità, attivare l'accesso all'unità. Con qualsiasi disco meccanico, dovresti sentire chiaramente un suono di spin-up se l'unità è stata in modalità di sospensione.


L'obiettivo è probabilmente quello di sapere se / quando un HDD è in modalità Sospensione piuttosto che svegliarlo ...
AFract,

0

Potresti usare il simpatico FFB freeware di Uwe Siebers - Flush File Buffers .

FFB è uno strumento da riga di comando che scarica la cache di scrittura di uno o più volumi di archiviazione.

...

Le unità in sospensione vengono ignorate a meno che non venga fornito -f.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.