sbl*_*air 86 windows-7 eject sata
Windows 7 中的“安全删除硬件”图标提供了弹出 SATA 驱动器(包括引导驱动器)的功能。我不认为自己需要这个——尤其是托盘图标的便利性。
是否有通用的 BIOS 设置来禁用热插拔?
小智 64
答案实际上取决于您设置的驱动程序。我有一个 6 端口 SATA 连接器(英特尔 ICH9 - 2922),我使用默认的 MS-AHCI 驱动程序。如果您在同一条船上,请在此处创建几个新密钥:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
Run Code Online (Sandbox Code Playgroud)
_
\Controller0\Channel0
\Channel1
\Channel2
\Channel3
\Channel4
\Channel5
Run Code Online (Sandbox Code Playgroud)
现在在每个键下创建一个新的 DWORD - name: TreatAsInternalPort
, value: 。现在重新启动以使更改生效,驱动器不应再显示在“安全删除..”下1
ChannelN
极客的东西:
问题的根本原因是 SATA 驱动程序错误地确定您的内部 SATA 端口是外部的。因此,如果您在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\..\..
可能设置为 0x4 的情况下查看驱动器的“功能”值,这使其可移动(根据以下值的位标志 ORing 完成)将设置添加到注册表后, SATA 驱动程序现在返回不同的 Capabilities 值(很可能是 0)并且驱动器停止显示在“安全删除..”下
//from inc/api/cfgmgr32.h (WINDDK)
#define CM_DEVCAP_LOCKSUPPORTED (0x00000001)
#define CM_DEVCAP_EJECTSUPPORTED (0x00000002)
#define CM_DEVCAP_REMOVABLE (0x00000004)
#define CM_DEVCAP_DOCKDEVICE (0x00000008)
#define CM_DEVCAP_UNIQUEID (0x00000010)
#define CM_DEVCAP_SILENTINSTALL (0x00000020)
#define CM_DEVCAP_RAWDEVICEOK (0x00000040)
#define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
#define CM_DEVCAP_HARDWAREDISABLED (0x00000100)
#define CM_DEVCAP_NONDYNAMIC (0x00000200)
Run Code Online (Sandbox Code Playgroud)
小智 27
今天我把我爸爸的电脑从 Windows 7 升级到 10 后遇到了同样的问题
以上不再适用于 Win 8、8.1 和 10
此链接的轻微变化有什么帮助 如何从 Windows 8 托盘图标中删除弹出内部 SATA 驱动器的选项?
即我添加了一个新的Multi String Value
名为TreatAsInternalPort
以
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device
与价值:
0
1
2
4
5
Run Code Online (Sandbox Code Playgroud)
(注意换行符)
顺便说一句,AHCI 驱动程序是英特尔的,而不是微软的,但该解决方案应该适用于这两种驱动程序。
小智 18
这是 BIOS 级别的选项。在较新的主板上,BIOS 中有禁用热插拔的选项(当您使用 AHCI/RAID 作为控制器时)。在 BIOS 中禁用驱动器的热插拔设置时,它不会列在系统托盘图标菜单的可弹出驱动器中。
不确定它有多常见,但在 Asrock 主板上的 CMOS (BIOS) 设置中,名为“Hotswap”的选项会修改行为。它可用于每个 SATA 通道。此外,还有“外部 SATA”选项,但默认情况下它是关闭的,我没有碰它。
归档时间: |
|
查看次数: |
162143 次 |
最近记录: |