查看HDD是否处于Windows的睡眠模式


12

在Windows 7下,我是否可以查看硬盘驱动器是否正在旋转或处于睡眠模式?
我正在寻找内部和外部硬盘驱动器的答案;他们并不总是有灯光来表明自己的状态。


外置驱动器:状态指示灯。内部驱动器将全部休眠,因此无法执行任何实用程序。需要更多细节才能获得更有意义的答案。
哈里姆克2012年

我同时拥有内部和外部驱动器。我得到的机箱没有指示灯显示睡眠模式。我以为问题很简单,我知道如何在Linux中进行操作,但是找不到Win的软件。
巴勃罗(Pablo)2012年

这个问题确实存在一些逻辑问题,通常,您需要加载应用程序以检查硬盘驱动器,从而使硬盘驱动器旋转。每当执行检查时,硬盘最终都会旋转。您真正需要的是一些工具,这些工具可以保留在内存中,一个窗口小工具或一个托盘图标,这些工具可以继续监视磁盘工作。

这是链接:Microsoft删除了侧边栏平台后,他们希望您购买Windows 8 ...:)..... pcsupport.about.com/od/windowsvista/tp/vistagadgetssu.01.htm

Answers:


5

smartmontoolssmartctl命令行实用程序正是通过开关提供了此功能。从手册页-n

-n POWERMODE,--nocheck = POWERMODE
[仅ATA]指定当设备处于低功耗模式时,在执行任何检查之前smartctl是否应退出。它可以用于防止磁盘被smartctl旋转。

它可以从非高架终端运行,甚至作为唯一的选项参数,这使得它对于内部驱动器的使用非常简单:

> 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交换机。


4

您可以运行DiskMon,它将显示系统中每个驱动器上的所有活动。没有任何条目表明磁盘处于睡眠模式。

此处进行的有限测试证实,无论如何看来都是如此。尝试访问当前事务中未列出的驱动器时,在DiskMon窗口中显示该驱动器已被旋转之前,会有一定的延迟。

我承认这有点粗糙!


3

这是一个不太好的解决方案,但是请尝试安装Windows版本的hdparm。然后hdparm.exe -C [drivename]从其安装目录运行(通常Program Files (x86)是类似目录)。使用这种方法,我能够判断出驱动器是处于活动/空闲状态还是处于待机状态(睡眠且未旋转)。

驱动器名称是UNIX样式的设备地址,它以某种方式映射到Windows驱动器盘符/物理设备(/dev/hda通常是您的主驱动器,/dev/hdb以此类推),但是我不确定如何确定可用的UNIX设备别名。在窗户下。您可以/dev/hd_通过hdparm.exe -i [drivename]在别名上运行并检查输出以查看驱动器参数是否符合您的期望,来确保给定的别名与正确的驱动器相对应。

如果有一个图形和/或本机Windows实用程序可以实现此功能,那将是很好的选择,但我不知道其中一个。

它仍然是UNIX风格的,但是您也可以尝试使用Windows版本的smartmontools,看看它是否在更可用的软件包中提供了类似的功能。不过,我没有使用该软件的经验。


4
smartmontools使用SMART-但在睡眠驱动器上使用SMART都会将其唤醒。一例Catch-22。
harrymc 2012年

1

您可以使用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
}

7
您应该在这里评论过,可用性属性始终显示为空-我认为它可能不是由Microsoft实现的。我能够找到的所有磁盘状态实用程序的问题在于它们使用的SMART会唤醒正在休眠的驱动器,因此这确实是一个难题。我认为您应该与Microsoft联系以抱怨可用性属性不起作用。
harrymc 2013年

1
我刚刚在带有Powershell 2的WS2008 R2上进行了尝试,并且获得了空的可用性值
AFract

0

故障保存方法:将耳朵放在驱动器上或笔记本电脑上的驱动器所在位置,触发驱动器访问。对于任何机械磁盘,如果驱动器处于睡眠模式,则应该清楚听到旋转的声音。


目标可能是更多地了解HDD是否/何时处于睡眠模式而不是唤醒它……
AFract

0

您可以使用Uwe Siebers漂亮的免费软件FFB- 刷新文件缓冲区

FFB是一种命令行工具,可刷新一个或多个存储卷的写缓存。

...

除非给出-f,否则将跳过睡眠驱动器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.