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

25,970

Solution 1

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. πŸ˜•

Solution 2

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

Solution 3

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.

Share:
25,970

Related videos on Youtube

Anton
Author by

Anton

Updated on September 18, 2022

Comments

  • Anton
    Anton almost 2 years

    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.

    • Admin
      Admin almost 10 years
      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)
    • Admin
      Admin almost 10 years
      @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
    Anton over 9 years
    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")
  • kinokijuf
    kinokijuf about 9 years
    Downvoted because it is a hackjob.
  • willus
    willus almost 9 years
    Upvoted because it's the only solution I've found that actually works in Windows 10.
  • kinokijuf
    kinokijuf almost 9 years
    @willus You should check mine. It’s much cleaner.
  • Jonas M. Hunziker
    Jonas M. Hunziker over 8 years
    @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.
  • omni
    omni about 8 years
    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.
  • Sasha
    Sasha almost 8 years
    This worked for me, but the location of was slightly different. I found it at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahc‌​i\Parameters\Device
  • Nauf_M
    Nauf_M over 7 years
    Worked for me on fossilized ATI/AMD X1200 with Windows 10. Thanks!
  • Roger Willcocks
    Roger Willcocks about 7 years
    @willus the solution from kinokijuf worked for me in windows 10. Mine has the XX 00 00 00 format, not the XX 00 format
  • iBug
    iBug over 6 years
    Upvoted because this is the only solution for an SD card slot on a Windows 10 tablet.