为什么我的硬盘 LED 灯每秒闪烁一次?

Nei*_*gan 14 windows-7 hard-drive

灯大约每秒闪烁一次。

它正在慢慢地让我发疯。

我如何找出导致此问题的程序,以便我可以禁用它?

宏碁 5274 笔记本电脑/酷睿 i3
Windows 7 家庭高级版
Hitachi HTS545050B9A300 硬盘

Lin*_*000 10

可能是操作系统轮询光驱以查看您是否插入了任何东西 - 硬盘和光盘共享公共电路,因此 LED 可能适用于两者。您可以尝试关闭自动插入通知(设备管理器 - 查看光驱的属性)并自动运行。

这里有更多信息:.../cdtTipAutoRun.htm(损坏,替换:http : //web.archive.org/web/20100527203945/http : //www.base40.com/cdtTipAutoRun.htm

  • 它实际上是光盘。我在设备管理器中禁用了 cd-rom 设备,闪烁消失了。我仍然想关掉那盏灯,但现在我知道硬盘没有受到冲击,所以不用担心。谢谢 (2认同)

Jef*_* F. 6

如果你想看看发生了什么,在你的系统上,有一个来自 sysinternals(他们制作所有很酷的工具)的很酷的工具,叫做processmon它会从字面上告诉你正在发生的一切。当您不活跃时,您可能会惊讶地看到有多少东西是活跃的。

我并不是说您将能够阻止您的灯每隔一段时间闪烁一次,但至少您可以看到正在发生的事情。


小智 6

我的 Acer 笔记本上 HDD LED 闪烁的真正罪魁祸首是内部名为BrcmCardReader的服务,其长名称为Broadcom Card Reader Service。一旦我停止服务,闪烁也停止了。当然,我不必禁用 CD-ROM 或用胶带覆盖 LED 来实现这一点。与这里其他帖子中所写的相反,操作系统本身并没有写得那么糟糕来轮询任何东西。但这项由博通编写的服务是另一回事。

我第一次试图找出是什么原因导致的闪烁才发现,这是类似的东西做的东西像WBEM wmiprvse.exeIRP_MJ_QUERY_INFORMATIONIRP_MJ_QUERY_VOLUME_INFORMATION为每个驱动器。我知道 wmiprvse 实际上是由 Microsoft 编写的 WMI 执行组件,我什至尝试使用事件日志来跟踪 WMI 活动,如 MSDN 上所述。它没有用,我只能观察

ProviderInfo for GroupOperationId = 101; Operation = Provider::CreateInstanceEnum - CIMWin32 : Win32_LogicalDisk; HostID = 2368; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.dll

Microsoft 在此跟踪中显然做得很差:CIMWin32、主机 ID、提供程序 guid 和路径都指向执行 WMI 的二进制文件,而不是执行 WMI 查询的程序。因此,在那一刻我无法发现Broadcom 读卡器服务在没有记录指向它的情况下执行此操作,这就是为什么我引用所有这些内容是为了减轻将这些项目放入搜索机器的任何人的痛苦。无法看到谁实际指挥活动也是为什么这里有些人声称“这是一个操作系统”的解释:此时停止的人看不到其他任何东西。但我知道 wmiprvse 不是自己做的,我知道一定有其他一些进程在指挥。

所以终于有一天,在我对整个系统进行了映像备份后,我开始使用蛮力方法,逐个关闭这些东西,直到闪烁停止。所以现在我确定了。它是Broadcom 读卡器服务。因为我实际上是一名程序员,我什至检查了里面的字符串c:\Program Files\Broadcom\MemoryCard\BrcmCardReader.exe,我发现了它的确切功能,只要它打开:

SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_LogicalDisk'

SELECT * FROM __InstanceCreationEvent WITHIN 0.1 WHERE TargetInstance ISA 'Win32_LogicalDisk'

由于闪烁如此频繁,很明显它正在连续轮询。这是令人难以置信的糟糕的服务编程。观察查询中的WITHIN子句。具体而言,Microsoft 记录了此类构造在 WMI 中的行为方式:

http://technet.microsoft.com/en-us/magazine/2006.09.wmievents.aspx

请注意,WITHIN 子句指定内部事件类的轮询间隔。由于被监视的类没有相应的事件提供程序,WMI 轮询机制用于定期检查特定类是否发生了内部事件。此轮询间隔由 WITHIN 关键字指定并以秒为单位。

所以,我现在知道,博通服务程序员决定投票的__InstanceDeletionEvent每一个逻辑磁盘 每秒__InstanceCreationEvent甚至每秒10次!他们设法让 COM、分离进程并通过 WMI/wmiprvse 以一种无法观察到(至少我没有发现)他们的服务正在执行此操作的方式执行此操作!

糟糕,非常糟糕的编程。

并且有适合服务和应用程序的解决方案:RegisterDeviceNotification. 一个真正的通知(即,安静的时候有没有什么新的情况发生),可以通过服务通过接收SERVICE_CONTROL_DEVICEEVENT事件。见例如:

/sf/ask/49444671/

在了解了所有这些之后,搜索Broadcom Card Reader Service实际上返回了一些较早发现它的人的帖子:在 community.acer.com 上(我引用了我没有找到永久链接的帖子):

“Vladan Re:Aspire 5750Z 读卡器驱动程序,Win 8 11-29-2012 06:29 AM

刚刚发现Broadcom 读卡器服务导致 hdd led 每秒闪烁多次,一直如此。停止并将此服务设置为手动或什至禁用可以解决闪烁问题,而不会影响读卡器功能。”

在 bleepingcomputer.com 上:

“奇森布兰斯顿 2013 年 5 月 28 日 - 上午 04:47 发布

自从将 Win8 pro x64 安装为全新安装(即不是升级)后,我遇到了类似的问题。在任务管理器中,虽然磁盘吞吐量似乎不是特别高,但使用率始终为 100%。我相信我已经确定问题出在Broadcom 读卡器服务上。

在 Amazon.co.uk 上,SJ Harvey 于 2013 年 2 月 1 日发表评论:

http://www.amazon.co.uk/review/R3GZB5OXP4SNP7/ref=cm_cr_rdp_perm?ie=UTF8&ASIN=B009QZCYU4&linkCode=&nodeID=&tag=

真正让我烦恼的一件事(注意过去时)是驱动灯不断闪烁。这不是硬盘活动,几个小时后我找到了罪魁祸首。这是博通读卡器服务

他进一步建议将服务切换为手动,但在我的电脑上我不得不完全禁用它。

因此,除了硬盘 LED 闪烁之外,人们甚至报告了更高的资源使用率。

最终解决方案:禁用“ Broadcom Card Reader Service:在服务中转到其属性,将其停止并将其启动类型更改为“禁用”。闪烁终于停止。我真的很想知道它的目的是什么 - 关闭它我错过了什么?看到它的编程有多糟糕,我不会感到惊讶,该服务的全部目的是在插入存储卡时更改某些图标!我可以肯定的是,滥用 WMI 是非常糟糕的编程。