12

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.

  • 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 Aug 5 '14 at 17:22
  • @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 Aug 7 '14 at 23:41
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. 😕

  • 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 Apr 4 '16 at 16:07
  • Worked for me on fossilized ATI/AMD X1200 with Windows 10. Thanks! – LogicDaemon Oct 6 '16 at 11:54
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

  • 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 Sep 19 '16 at 5:27
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.

  • 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 Apr 1 '15 at 13:52
  • 1
    Downvoted because it is a hackjob. – kinokijuf Jun 11 '15 at 10:25
  • 2
    Upvoted because it's the only solution I've found that actually works in Windows 10. – willus Aug 7 '15 at 17:52
  • @willus You should check mine. It’s much cleaner. – kinokijuf Aug 11 '15 at 8:41
  • @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 Nov 2 '15 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.