电源要求
我在台式计算机上安装了USB 3.0集线器。我使用它连接外部USB 3.0磁盘以进行备份,但是我遇到一个问题:Windows 7默认为该集线器启用省电功能,这会导致磁盘在密集的I / O操作期间断开连接
您确定驱动器正在关闭电源管理,而不仅仅是因为它试图消耗过多功率?您可以通过设备管理器检查USB集线器上的功耗(图1和2)。验证集线器每个端口可提供的功率足以满足外部驱动器的需求。否则,您可以使用USB Y适配器(图3和图4)从两个端口供电。(高画质外部驱动器通常带有专门用于此目的的Y适配器,因此请仔细检查该框和手册。)
追踪疾病
我可以通过以下操作禁用此设置:转到设备管理器>在集线器上右键单击>属性>电源管理>取消选中允许计算机关闭此设备以节省电源
太糟糕了,每次我重新启动计算机时,都会再次选中该框。有没有办法永久禁用此设置?
如果禁用该设置确实可以解决当前的问题,那么现在的问题是使它卡住而不是还原。一种选择是使用诸如Process Monitor之类的东西,并将过滤器设置为相关的注册表项(HcDisableSelectiveSuspend
),以查看是什么程序对其进行了更改,以便关闭该选项(应将其设置1
为禁用电源管理)。
那将是理想的方法,因为它可以追踪设置还原的实际原因。不幸的是,这只能找到原因。实际修复它可能并不容易,甚至不可能。例如,Windows可能会在关机时自动将其还原,或者更有可能在检测到硬件时将其在启动过程中设置为默认值。
定义“设备”;检查USB端口
顺便说一句,您是否将驱动器插入其他USB端口?至于Windows正在而言,“已知装置”是一个配对的设备+端口,因此,如果您之前已经将一台设备到端口A,并让Windows安装驱动程序,那么你以后插上节省设备进港B, Windows会将其视为新设备,并为其(重新)安装驱动程序以及默认设置。因此,将其插入新端口时,必须重新设置所有设置。之后,Windows应该记住新端口和旧端口的设置。您可能希望将驱动器一次插入每个USB端口并对其进行配置,以确保将来无论它们插入哪个端口,它们都已全部配置。(对于驱动器号也是如此,但是由于可移动卷中驱动器号的短暂特性,它们的可靠性往往会降低一些。
治疗症状
阻止Windows还原设置的一种方法是简单地拒绝对设置的访问。这需要使用注册表编辑器,如果您不小心的话,这可能会带来风险,因此请采取常规的备份预防措施,并在进行更改之前仔细检查(尤其是删除任何内容时,无论如何都不要这样做)。
首先,您需要找到相关的设备ID:
- 在设备管理器中打开集线器的“ USB根集线器属性”对话框(图1),然后切换到“ 电源管理”选项卡
- 更改的值
Allow to turn off
复选框(没关系什么,只是改变它),但不点击OK(图5)
- 运行Process Manager并设置一个过滤器(图6):
- Ctrl+L
- 设置
Path
,contains
,DisableSelectiveSuspend
,Include
- 请点击 Add
- 设置另一个过滤器
Operation
,contains
,setvalue
,Include
- Add
- 请点击 OK
- 清除当前捕获(Ctrl+ X)并开始(Ctrl+ E)(如果尚未运行)
- 切换回设备管理器对话框,然后单击OK
- 切换回Process Monitor并停止捕获(Ctrl+ E)
在GUID之后记下四位数的设备ID (图7);在此示例中0055
:
HKLM\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0055\HcDisableSelectiveSuspend
单击过程监视器中的行,按Ctrl+ J打开Regedit并直接导航到该键(如果不起作用,请打开Regedit并手动导航到该键)
将设置配置为您希望的最后一次设置(取消选中“ 电源管理”选项卡中的复选框,然后单击“确定” OK)
现在锁定该设置并阻止对该键的访问(图8):
- 右键单击Regedit左窗格中的键
- 选择权限
- 请点击 Advanced
- 联合国 -检查
Inherit from parent
框,然后点击Copy和OK
- 返回常规(非高级)权限对话框,单击顶部列表中列出的每个组和用户,对于每个组和用户,取消
Full Control
选中底部列表中的框
现在,没有人,不是您,甚至系统本身都无法修改设置(但他们仍然可以读取它),因此在将其设置为只读之前,它应始终保持您设置的状态。(如果需要,可以通过在“ 高级安全设置”对话框中删除特定于项目的权限并重新选中该Inherit from parent
框来恢复写访问权限。
当然,您之后需要重新启动以确保设置正确。
最后一招
如果驱动器仍在关闭,请尝试如上所述将其设置HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspend
为1
只读。该设置在常规系统中不存在,也没有像HcDisableSelectiveSuspend 这样记录在文件中(对此的唯一引用是在社区页面上),但是Windows似乎确实在之前查询了该值HcDisableSelectiveSuspend
(图7),因此值得一试。
夏洛克·福尔摩斯
此时,如果您愿意,可以返回并诊断根本问题,而不仅仅是治疗症状。您可以使用上述过滤器在启动过程中(选项→启用引导日志记录)和关闭过程(稍微麻烦一些)使 Process Monitor日志具有对注册表项的写访问权限,以准确找到正在更改的内容。然后,您可以用手指交叉,并希望有办法防止这种情况发生。
插图
图1:设备管理器中的USB集线器截图
图2:USB集线器上的电源截图
图3:USB Y适配器的照片
图4:USB Y适配器用法图
图5:USB集线器的“电源管理”选项卡的屏幕截图
图6:必要的过程监视器过滤器
图7:Process Monitor结果中相关注册表项的屏幕截图
图8:将注册表项设置为只读的流程图