如何从 Windows 8 托盘图标中删除弹出内部 SATA 驱动器的选项?

如何从 Windows 8 托盘图标中删除弹出内部 SATA 驱动器的选项?

Windows 8(和 8.1)中的“安全删除硬件”图标可以弹出我的内部 SATA 驱动器,包括启动驱动器(见示例):

在此处输入图片描述

我认为自己并不需要这个 — — 尤其是托盘图标的便利性。

对于 Windows 7,存在众所周知的解决方案(答案 1答案2等)。但在 Windows 8 中,msahci 驱动程序已被取代作者:storahci。遗憾的是,TreatAsInternalPort 解决方法不再有效。

答案1

TreatAsInternalPort值仍然存在于 Windows 8storahci驱动程序中,但其语法已发生变化。

它现在在密钥中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device,并且是REG_MULTI_SZ强制视为内部的端口号列表。

例如,要禁用端口 0 和 1 上的可移除性,您可以使用

Windows 注册表编辑器版本 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device]
"TreatAsInternalPort"=十六进制(7):30,00,00,00,31,00,00,00,00,00

不幸的是,我不知道这些端口是如何编号的。

答案2

我在 Windows 8.1 中遇到了同样的问题,当时将 HDD 连接到 ASMedia 106x 板载芯片,并使用 storahci 驱动程序而不是 ASMedia 驱动程序(会使我的机器严重冻结!)。

我最终使用 Raiddinn 的建议解决了这个问题这里

本质上,我创建了一个在系统启动时运行的计划任务,该任务导入以下注册表文件,从而更改 2 个 HDD 设备下的“Capabilities”键:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_WDC&Prod_WD6400AAKS-22A7B\5&288c89f1&2&000000]
"Capabilities"=dword:000000e0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_WDC&Prod_WD6401AALS-00L3B\5&1272cb31&2&000000]
"Capabilities"=dword:000000e0

问题在于您要为您的设置找到上述密钥,因为每次安装时它们都略有不同。但是,如果您在“设备管理器”中找到有问题的驱动器,然后查看属性,特别是“详细信息”选项卡上的“设备实例路径”,您将找到该条目在注册表中的位置(始终位于下方)HKLM\SYSTEM\CurrentControlSet\Enum\。因此,通过结合HKLM\SYSTEM\CurrentControlSet\Enum\“设备实例路径”,您应该找到包含“功能”值的正确位置。

我希望这能有所帮助。

答案3

或 Windows 10:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci\Parameters\Device]
"TreatAsInternalPort"=hex(7):30,00,31,00,32,00,33,00,34,00,35,00,00

(感谢 kinokijuf 的帮助,但是他的代码只能为我禁用 1 个驱动器(第二个控制器上的驱动器 0)。
这个对我拥有的所有 5 个驱动器都有效。(可能还有第 6 个)。
我认为这是因为在他的值之间有一个空白换行符(十六进制中的 00 是换行符),(十六进制中的 30 是 0,31 是 1 等等)。

这个适用于我的所有 4 个端口: 截屏

我需要阻止总线 0 和 3。我必须输入十六进制 30 00 00 00 33 00 00 00 作为十六进制值。问题解决了。

答案4

说明 文字 图片 澄清早期关于如何阻止驱动器出现在“安全删除硬件并弹出媒体”对话框中的帖子。

相关内容