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


81

Windows 7中的“安全删除硬件”图标提供了弹出我的SATA驱动器(包括引导驱动器)的功能。我看不到自己需要这样做-尤其是从托盘图标的方便性来看。

是否有通用的BIOS设置来禁用热交换能力?

弹出内部SATA驱动器


2
从Vista升级到Windows 7 RTM后,我的SATA驱动器不再显示在“安全删除硬件”菜单中,您是否可以确定Windows 7的RTM版本仍然是您的问题?
bdukes

11
我想知道,弹出启动硬盘后​​W7的运行稳定性如何。您也可以弹出CPU或主板吗?
maaartinus 2011年

1
我的Windows 8.1中存在相同的问题,我认为从2000年到XP,Vista,7和8的所有Windows中都是相同的。我建议您添加更多标签;)
LogicDaemon

Answers:


62

答案实际上取决于您设置的驱动程序。我有一个6端口SATA连接器(英特尔ICH9-2922),并且使用默认的MS-AHCI驱动程序。如果您在同一条船上,请在此处创建几个新密钥:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci

_

\Controller0\Channel0
            \Channel1
            \Channel2
            \Channel3
            \Channel4
            \Channel5

现在TreatAsInternalPort1在每个ChannelN键下创建一个新的DWORD-name:,value :。现在重新启动以使更改生效,驱动器将不再显示在“安全删除”下。

令人讨厌的东西:

问题的根本原因是SATA驱动程序错误地确定您的内部SATA端口是外部的。因此,如果您查看驱动器的“功能”值(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\..\..可能设置为0x4),则该值使其可移动(根据下面的值对位标志进行“或”操作),将设置添加到注册表后, SATA驱动程序现在返回一个不同的功能值(很可能为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)

3
要确定哪个控制器可以将... \ Msahci \ enum下的数字值与设备管理器属性对话框的详细信息选项卡中的HardwareIds进行比较。
理查德(Richard)2010年

1
@Kapil:请在方便时查看(superuser.com/questions/420584/…)[this ]问题。提前致谢。
拉希尔·汗

3
根据答案,我有了用于快速完成工作的regedit脚本
LogicDaemon

这不再适用于8 ... :(
user1643156

2
Windows 8 / Windows 10解决方案在这里
willus 2015年

24

今天,我将爸爸的PC从Windows 7升级到10后遇到了同样的问题

以上不适用于Win 8,8.1&10

对该链接的细微变化有什么帮助? 如何删除从Windows 8托盘图标弹出内部SATA驱动器的选项?

即我添加了一个新的Multi String Value名为TreatAsInternalPortHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device 与价值:

0
1
2
4
5

(注意换行符)

TreatAsInternalPort注册表设置

顺便说一句,AHCI驱动程序是Intel的,不是Microsoft的,但是该解决方案应该在两个驱动程序上都可以使用。


1
这完美地:D(我也从Win7更新到Win10)。谢谢!(我也使用了Microsoft的AHCI驱动程序)。
Mo Beigi 2015年

7
注意:我必须在'5'后面添加一个换行符,以使'5'保持不变-如果我在同一行的'5'后面紧靠光标,则我的值会在'4'之后被截断。10.视窗
帕特里克·穆尔

Win10 MSI X570 Ryzen9和SATA引导SSD突然间被Windows弹出,这对我也很有效。快速重启后,您的注册表更改解决了此问题。
Toumal

16

这是BIOS级别的选项。在较新的主板中,BIOS中有一些选项可以禁用热插拔(当您使用AHCI / RAID作为控制器时)。如果在BIOS中禁用了驱动器的热插拔设置,则该设置不会在系统任务栏图标菜单的可弹出驱动器中列出。


这是最好的答案。更改BIOS设置比注册表设置要好得多。某些注册表设置会在启动时重置。
crimbo

4

不确定它的普遍性,但是在Asrock主板上的CMOS(BIOS)设置中,称为“ Hotswap”的选项会修改行为。每个SATA通道均可使用。另外,还有“外部SATA”选项,但是默认情况下它是关闭的,我没有触摸它。


3

如果您具有NVIDIA芯片组,则以下注册表编辑应该对您有用...

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata] 
"DisableRemovable"=dword:00000001 

查看此描述以获取更多详细信息


2
是的,我在Google上找到了这种解决方法,但是对我来说不起作用。
sblair

1

请按照以下步骤操作:转到控制面板-设备管理器-存储控制器-然后右键单击MARVELL91XXsata6g控制器,选择“政策”,取消选中“启用安全删除磁盘”,然后按OK,重新启动计算机


0

当我将SSD用作启动驱动器并将HDD用作额外的存储设备时,我也遇到了此问题。

我尝试了所有注册表编辑技术。但是没有一个可行的方法,对我来说唯一可行的方法就是更新BIOS。

我使用的是Dell笔记本电脑,我从dell.com/support站点下载了最新的BIOS升级,输入了服务标签,该标签在BIOS菜单的“维护”下找到,下载了驱动程序并运行了该程序。问题已解决。


-1

在BIOS中的“存储配置”下,我将“将SATA配置为”从IDE更改为AHCI,并对其进行了修复。

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.