BIOS bug fix: Internal SATA Drives show up as removeable media


Applies to: Windows 11 Windows 10 Windows 8 Windows 8.1 Windows 7 Enterprise Windows 7 Home Premium Windows 7 Home Basic Windows 7 Professional Windows 7 Ultimate Less

Symptoms​

Internal SATA devices (HDDs or SSDs) may show as removable media in your task bar.

93ef66e2-cda2-f6eb-61fc-1c0ffe64d84e.png


Cause​

Whether or not a device is considered removable is determined by your system’s BIOS and how it marks the various SATA ports on the motherboard. The inbox driver directly inspects SATA ports and considers devices connected to those ports marked “external” as removable devices. Not all storage drivers do this, which can be a potential cause for corruption or data loss.

Resolution​

First, check for and install available BIOS updates from your PC manufacturer. If none are available, you can follow these steps to override the way the inbox driver surfaces devices on certain ports:
  1. Open a command prompt with administrator privileges.
  2. In the command prompt window, type the following command in hit Enter: devmgmt.msc
  3. Under Disk Drives, identify the SATA device you would like the inbox driver to consider internal and open properties for this device by right-clicking and selecting Properties.
  4. Note the bus number from the properties overview (“1” in the below example).
    11d9c144-b2b9-b701-79e4-94507e8847a5.png
  5. For Windows 7:
    1. Type the following command in the previously opened command prompt and hit Enter:

      reg add “HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channelx\” /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001

      Where x corresponds to the Bus Number you noted in step 4.
  6. For Windows 8 and later:
    1. Type the following command in the previously opened command prompt and hit Enter:

      reg add “HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device” /f /v TreatAsInternalPort /t REG_MULTI_SZ /d x

      Where x corresponds to the Bus Number you noted in step 4.

Source:
 
If you want to add multiple drives, it only seems to remember the last bus number used.

For multiple drives, manually edit the entry in the registry (not too sure how to do this from the command prompt)

1684537450777.png
 

My Computer

System One

  • OS
    Windows 11
    Computer type
    PC/Desktop
    Manufacturer/Model
    Custom Built
    CPU
    Intel i9 14900KF
    Motherboard
    Asus z790 ProArt Creator WiFi
    Memory
    64GB Corsair Vengeance RGB
    Graphics Card(s)
    MSI 4090 Suprim X
    Sound Card
    Onboard
    Monitor(s) Displays
    1 x Asus 24". 1 x Asus 32"
    Screen Resolution
    1920x1080 & 2560 x 1440
    Hard Drives
    Multiple
    PSU
    Corsair 1200HX
    Case
    Corsair 7000D RGB
    Cooling
    Corsair H150I Capellix XT
    Keyboard
    Corsair K70 RGB MK.2
    Mouse
    Corsair M55 RGB Pro
    Internet Speed
    1000Mb/s
    Browser
    Edge
    Antivirus
    Windows Default
Microsoft is losin' it. ^^

You can't fix a "BIOS bug" with a registry edit.
You CAN fix a driver or Windows bug with a registry edit.
 

My Computers

System One System Two

  • OS
    Win 11 Home ♦♦♦26100.3037 ♦♦♦♦♦♦♦24H2 ♦♦♦non-Insider
    Computer type
    PC/Desktop
    Manufacturer/Model
    Built by Ghot® [May 2020]
    CPU
    AMD Ryzen 7 3700X
    Motherboard
    Asus Pro WS X570-ACE (BIOS 4702)
    Memory
    G.Skill (F4-3200C14D-16GTZKW)
    Graphics Card(s)
    EVGA RTX 2070 (08G-P4-2171-KR)
    Sound Card
    Realtek ALC1220P / ALC S1220A
    Monitor(s) Displays
    Dell U3011 30"
    Screen Resolution
    2560 x 1600
    Hard Drives
    2x Samsung 860 EVO 500GB,
    WD 4TB Black FZBX - SATA III,
    WD 8TB Black FZBX - SATA III,
    DRW-24B1ST CD/DVD Burner
    PSU
    PC Power & Cooling 750W Quad EPS12V
    Case
    Cooler Master ATCS 840 Tower
    Cooling
    CM Hyper 212 EVO (push/pull)
    Keyboard
    Ducky DK9008 Shine II Blue LED
    Mouse
    Logitech Optical M-100
    Internet Speed
    300/300
    Browser
    Firefox (latest)
    Antivirus
    Bitdefender Internet Security
    Other Info
    Speakers: Klipsch Pro Media 2.1
  • Operating System
    Windows XP Pro 32bit w/SP3
    Computer type
    PC/Desktop
    Manufacturer/Model
    Built by Ghot® (not in use)
    CPU
    AMD Athlon 64 X2 5000+ (OC'd @ 3.2Ghz)
    Motherboard
    ASUS M2N32-SLI Deluxe Wireless Edition
    Memory
    TWIN2X2048-6400C4DHX (2 x 1GB, DDR2 800)
    Graphics card(s)
    EVGA 256-P2-N758-TR GeForce 8600GT SSC
    Sound Card
    Onboard
    Monitor(s) Displays
    ViewSonic G90FB Black 19" Professional (CRT)
    Screen Resolution
    up to 2048 x 1536
    Hard Drives
    WD 36GB 10,000rpm Raptor SATA
    Seagate 80GB 7200rpm SATA
    Lite-On LTR-52246S CD/RW
    Lite-On LH-18A1P CD/DVD Burner
    PSU
    PC Power & Cooling Silencer 750 Quad EPS12V
    Case
    Generic Beige case, 80mm fans
    Cooling
    ZALMAN 9500A 92mm CPU Cooler
    Mouse
    Logitech Optical M-BT96a
    Keyboard
    Logitech Classic Keybooard 200
    Internet Speed
    300/300
    Browser
    Firefox 3.x ??
    Antivirus
    Symantec (Norton)
    Other Info
    Still assembled, still runs. Haven't turned it on for 13 years?
Drive - Samsung 970 EVO Pro 500g
Location - Bus Number 0, Target Id 0, LUN 0

Tried both the W7 and the W8+ commands - no change......
 

My Computer

System One

  • OS
    Windows 11 Pro 23H2 (22631.4751 - using GRC InControl)
    Computer type
    PC/Desktop
    Manufacturer/Model
    Pre-built
    CPU
    AMD Ryzen 7 7800X3D
    Motherboard
    MSI Pro B650-VC WiFi
    Memory
    32gb Team Group (T-Force) DDR5-6000
    Graphics Card(s)
    Zotac nVidia GeForce RTX 4070 SUPER - 12gb
    Sound Card
    Sound BlasterX G6
    Monitor(s) Displays
    BenQ XL2411P and ViewSonic VX2453
    Screen Resolution
    1920x1080
    Hard Drives
    WD Blue SN5000 - 500gb NVME
    WD Blue SN580 - 2TB NVME
    Keyboard
    Mountain Everest
    Mouse
    Logitech G502 Hero
    Internet Speed
    T-Mobile Home Internet
    Browser
    Firefox
    Other Info
    QNAP TS-469 Pro NAS
Not working for me...
1684552074267.png
1684552005956.png
1684601307292.png
Got it working using Admin level Powershell, just not Admin level Command Prompt.
PS C:\Users\vince> reg.exe add “HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device” /f /v TreatAsInternalPort /t REG_MULTI_SZ /d 1
The operation completed successfully.
 
Last edited:

My Computer

System One

  • OS
    Windows XP/7/8/8.1/10/11, Linux, Android, FreeBSD Unix
    Computer type
    Laptop
    Manufacturer/Model
    Dell XPS 15 9570
    CPU
    Intel® Core™ i7-8750H 8th Gen Processor 2.2Ghz up to 4.1Ghz
    Motherboard
    Dell XPS 15 9570
    Memory
    32GB using 2x16GB modules
    Graphics Card(s)
    Intel UHD 630 & NVIDIA GeForce GTX 1050 Ti with 4GB DDR5
    Sound Card
    Realtek ALC3266-CG
    Monitor(s) Displays
    15.6" 4K Touch UltraHD 3840x2160 made by Sharp
    Screen Resolution
    3840x2160
    Hard Drives
    Toshiba KXG60ZNV1T02 NVMe 1024GB/1TB SSD
    PSU
    Dell XPS 15 9570
    Case
    Dell XPS 15 9570
    Cooling
    Stock
    Keyboard
    Stock
    Mouse
    SwitftPoint ProPoint
    Internet Speed
    Comcast/XFinity 1.44Gbps/42.5Mbps
    Browser
    Microsoft EDGE (Chromium based) & Google Chrome
    Antivirus
    Windows Defender that came with Windows
Firstly, if you need to specify multiple bus numbers in the 'reg' command, you can do it as follows

reg.exe add “HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device” /f /v TreatAsInternalPort /t REG_MULTI_SZ /d 1\02\03\0

i.e. it's 1\02\03\0, where 1, 2, 3... are the bus numbers and \0 are separators/terminators after each number.

Secondly (and more importantly), most of the time it is not a "bug" at all. SATA standard is initially designed as hotswappable. And an internal SATA port can be perfectly useful for hotswapping as well. There's nothing unusual about it.

These ports are reported by BIOS to Windows as "removable" because in your BIOS settings hotswapping is explicitly enabled for these ports (which is often the default). So, it is not a "bug", it is technically you who requested removability for these drives by failing to adjust your BIOS settings from their default values. Go to your BIOS, find SATA controller configuration and see whether it is possible to disable hotswapping for your internal SATA ports. Most BIOSes have individual per-port settings for this. Once you disable hotswapping for your SATA ports, the corresponding drives will no longer appear as "removable" in Windows.

And only if this is not possible for some reason (no setting in BIOS, genuine BIOS bug, etc.) you will need the above workaround through registry.
 

My Computer

System One

  • OS
    Windows 11 Pro
    Computer type
    PC/Desktop
    CPU
    Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz
    Motherboard
    EVGA X99 Micro
    Graphics Card(s)
    NVIDIA GeForce GTX 970
Not working for me...
It is not working for you because you used some strange fancy quotation marks around the key name in your command. Apparently, you copy-pasted it from some other location that used the same kind of quotes. You have to use plain " in command-line for it to work.
 

My Computer

System One

  • OS
    Windows 11 Pro
    Computer type
    PC/Desktop
    CPU
    Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz
    Motherboard
    EVGA X99 Micro
    Graphics Card(s)
    NVIDIA GeForce GTX 970

My Computer

System One

  • OS
    Windows 11 Stable, Release Preview, Beta, Dev, Canary
    Computer type
    PC/Desktop
    Manufacturer/Model
    Micro-Star International Co., Ltd. MS-7D54
    CPU
    AMD Ryzen 9 PRO 5950X
    Motherboard
    MSI MAG X570S Tomahawk Max WiFi (MS-7D54) (2 PCI-E x1, 2 PCI-E x16, 2 M.2, 4 DDR4 DIMM, Audio, Video, 2.5GbE LAN, WiFi)
    Memory
    128 Gb
    Graphics Card(s)
    Intel(R) Arc(TM) A380 Graphics (2 ГБ)
    Sound Card
    Устройство с поддержкой High Definition Audio
    Monitor(s) Displays
    HP X34 [34" LCD] (6CM1300J5J) {2021}
    Screen Resolution
    3440x1440
    Hard Drives
    KINGSTON SFYRD2000G (2000 ГБ, PCI-E 4.0 x4)
    PSU
    Be Quiet! Dark Rock Pro 4
    Case
    Cooler Master HAF XB EVO
    Internet Speed
    1000 Mb/s
    Browser
    Chrome
    Antivirus
    Windows Defender
It is not working for you because you used some strange fancy quotation marks around the key name in your command. Apparently, you copy-pasted it from some other location that used the same kind of quotes. You have to use plain " in command-line for it to work.

Just noticed that the original location that used incorrect quotation marks (thus preventing these commands from working) is the Microsoft's support article itself, quoted verbatim here :D Quotation marks in post #1 as well as in my post #6 are incorrect.

Let me try it again:

reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device" /f /v TreatAsInternalPort /t REG_MULTI_SZ /d 1\02\03\0

This command should work properly, provided one specified the correct bus numbers. Although, as @Dronix noted above, the quotation marks are not necessary at all for this key.
 
Last edited:

My Computer

System One

  • OS
    Windows 11 Pro
    Computer type
    PC/Desktop
    CPU
    Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz
    Motherboard
    EVGA X99 Micro
    Graphics Card(s)
    NVIDIA GeForce GTX 970

Latest Support Threads

Back
Top Bottom