How can I remove the option to eject internal SATA drives from the Windows 8 tray icon?

13

7

The Safely Remove Hardware icon in Windows 8 (and 8.1) offers the ability to eject my internal SATA drives, including the boot drive (see example):

enter image description here

I don't see myself ever needing this - especially not from the convenience of the tray icon.

For Windows 7 exists well known solution (answer 1, answer 2, etc). But in Windows 8 msahci driver has been replaced by storahci. Unfortunately, TreatAsInternalPort workaround no longer works.

Anton

Posted 2014-08-05T13:40:13.330

Reputation: 133

in Win7 it helped to install the Intel drivers. Which chipset do you have? Try to install the AHCI drivers from the chipset maker (AMD, Intel, nVIDIA) – magicandre1981 – 2014-08-05T17:22:35.523

@magicandre1981 I have Intel ICH9 (not ICH9 R ) AHCI Controller. AHCI drivers from Intel (Matrix/RST) is not officially available for this southbridge. By the way, ICH9 supported by MS storahci driver. My initial question was regarding storahci driver only. I guess I should speak more clearly. – Anton – 2014-08-07T23:41:45.120

Answers

10

The TreatAsInternalPort value still exists in the Windows 8 storahci driver, but its syntax has changed.

It is now in the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device, and is a REG_MULTI_SZ list of port numbers to force treating as internal.

For example, to disable removability on ports 0 and 1, you would use

Windows Registry Editor Version 5.00

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

Unfortunately, i have no idea how these ports are numbered.

kinokijuf

Posted 2014-08-05T13:40:13.330

Reputation: 7 734

Quick hint: right click the key and select "edit binary data" to get the hex view. Otherwise, using the default view, you'll mess it up. – masi – 2016-04-04T16:07:32.883

Worked for me on fossilized ATI/AMD X1200 with Windows 10. Thanks! – LogicDaemon – 2016-10-06T11:54:19.033

3

or 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

(Thanks to kinokijuf for the head-start, but his code Only disabled 1 drive for me (drive 0 on my 2nd controller).
This one worked for all 5 drives I have. (and probably the 6th too).
I think it was because there was a BLANK newline in between his values (00 in hex is newline), (30 in hex is 0, 31 is 1 etc).

This one worked on all 4 of my ports: screenshot

Abei Villafane

Posted 2014-08-05T13:40:13.330

Reputation: 41

This worked for me, but the location of was slightly different. I found it at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device – Sasha – 2016-09-19T05:27:31.610

1

I had the same issue in Windows 8.1 with HDDs connected to an ASMedia 106x on-board chip and using the storahci driver instead of the ASMedia driver (would freeze up my box fierce!).

I ended up solving it using Raiddinn's suggestion found here.

Essentially, I created a scheduled task that runs when the system starts and that imports the following registry file, altering the "Capabilities" key under the 2 HDD devices:

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

The problem will be for you to track down the above keys for your setup as they are slightly different for every install. However, if you find the drive in question in your "Device Manager", then look at the properties, specifically "Device instance path" on the "Details" tab, you will find where in the registry the entry is located (always below HKLM\SYSTEM\CurrentControlSet\Enum\. So by combining HKLM\SYSTEM\CurrentControlSet\Enum\ with the "Device instance path", you should find the right location that contains the "Capabilities" value.

I hope this is somewhat helpful.

Jonas M. Hunziker

Posted 2014-08-05T13:40:13.330

Reputation: 43

Thank you for point out this generic solution. Works like a charm. I would like to mention, that the above solution originally credited to Guillaume at Parallel Interface (Stop internal drive from showing up in "Safely remove hardware")

– Anton – 2015-04-01T13:52:01.590

1Downvoted because it is a hackjob. – kinokijuf – 2015-06-11T10:25:09.480

2Upvoted because it's the only solution I've found that actually works in Windows 10. – willus – 2015-08-07T17:52:13.700

@willus You should check mine. It’s much cleaner. – kinokijuf – 2015-08-11T08:41:20.590

@kinokijuf Agreed, yours is cleaner. At the time, I couldn't figure out what value this "TreatAsInternalPort" key needed to have as everything I tried would not work. – Jonas M. Hunziker – 2015-11-02T15:35:02.603

@willus the solution from kinokijuf worked for me in windows 10. Mine has the XX 00 00 00 format, not the XX 00 format – Roger Willcocks – 2017-06-09T02:33:27.117

Upvoted because this is the only solution for an SD card slot on a Windows 10 tablet. – iBug – 2017-12-16T11:31:12.400