Есть ли способ узнать, действительно ли мой жесткий диск вращается или находится в спящем режиме в Windows 7?
Я ищу ответы как для внутренних, так и для внешних жестких дисков; у них не всегда есть свет, чтобы указать их статус.
Есть ли способ узнать, действительно ли мой жесткий диск вращается или находится в спящем режиме в Windows 7?
Я ищу ответы как для внутренних, так и для внешних жестких дисков; у них не всегда есть свет, чтобы указать их статус.
Ответы:
smartctl
Утилита командной строки из Smartmontools предлагает именно эту функциональность с -n
переключателем. Со страницы руководства :
-n POWERMODE, --nocheck = POWERMODE
[только ATA] Указывает, должен ли smartctl завершиться до выполнения каких-либо проверок, когда устройство находится в режиме пониженного энергопотребления. Это может быть использовано для предотвращения вращения диска smartctl.
Он работает с терминала без прав доступа даже в качестве единственного аргумента option, что делает его использование довольно простым для внутренних накопителей:
> 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)
тогда как вращающийся двигатель сообщает Device is in ACTIVE or IDLE mode
Внешние накопители и / или экзотические контроллеры могут быть более хитрыми и требуют чтения на -d
коммутаторе.
Вы можете запустить DiskMon, который будет показывать всю активность на каждом диске в вашей системе. Ни одна запись не предполагает, что диск находится в спящем режиме.
Ограниченное тестирование подтверждает, что это так или иначе. При попытке получить доступ к диску, который не указан в текущих транзакциях, перед отображением диска в окне DiskMon возникает задержка, указывающая на то, что он был отключен.
Это немного грубо, я признаю!
Это не элегантное решение, но попробуйте установить версию hdparm для Windows . Затем запустите hdparm.exe -C [drivename]
из каталога, в котором он установлен (обычно Program Files (x86)
или тому подобное). Используя этот метод, я смог определить, были ли мои диски активны / свободны или находятся в режиме ожидания (в спящем режиме, а не в режиме вращения).
Имя диска - это адрес устройства в стиле UNIX, который каким-то образом сопоставляется с буквой диска Windows / физическим устройством ( /dev/hda
обычно это основной диск, а затем /dev/hdb
и т. Д.), Но я не уверен, как определить, какие псевдонимы устройств UNIX доступны. под окнами. Вы можете убедиться, что данный /dev/hd_
псевдоним соответствует правильному диску, запустив hdparm.exe -i [drivename]
псевдоним и проверив выходные данные, чтобы убедиться, что параметры диска соответствуют ожидаемым.
Было бы неплохо, если бы существовала графическая и / или встроенная утилита Windows, чтобы получить эту функциональность, но я не знаю ни одной.
Это все еще UNIX-версия, но вы также можете попробовать поиграть с версией smartmontools для Windows и посмотреть, предлагает ли она аналогичную функциональность в более удобном пакете. У меня нет опыта работы с этим программным обеспечением.
Вы можете использовать сценарий PowerShell, чтобы получить состояние дисков, для которых эта информация доступна (не все диски возвращают этот статус).
Попробуйте это в консоли Windows PowerShell (возможно, от имени администратора):
Get-WMIObject -class Win32_DiskDrive | Select-Object caption,availability
Интересные значения для доступности можно найти здесь :
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
Если Win32_DiskDrive не работает для вас, другие возможности - Win32_LogicalDisk и Win32_Volume.
Если какой-либо из них работает, вы также можете создать скрипт, например:
$strComputer = "."
$colItems = get-wmiobject -class "Win32_Volume" -namespace "root\cimv2" -computername strComputer
foreach ($objItem in $colItems) {
write-host "Name: " $objItem.Name " Availability: " $objItem.Availability
}
Метод сохранения при сбое: положив ухо на диск или место на ноутбуке, где находится диск, активируйте доступ к диску. На любом механическом диске вы должны четко слышать раскручивающийся звук, если привод находился в режиме ожидания.
Вы можете использовать бесплатное бесплатное ПО Uwe Siebers FFB - Flush File Buffers .
FFB - это инструмент командной строки, который очищает кэш записи одного или нескольких томов хранения.
...
Спящие диски пропускаются, если не указан ключ -f.