Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Windows 10 / Internal SSD/SATA Drive Shows as a Removable in Windows

March 13, 2020 Windows 10Windows 7Windows 8

Internal SSD/SATA Drive Shows as a Removable in Windows

In some cases Windows 10, 8.1 and 7 may recognize an internal SSD or SATA drive as a removable device (media). Consequently, the safe removal icon appears for the disk in the system tray (as if it is a common USB flash drive).

Internal hard drives showing as removable in Windows 10

Of course, you won’t be able to eject the SATA drive, on which Windows is installed, on the fly, but you may accidentally remove the additional SATA disk. Another disadvantage of such “Removable” drives is that in Windows 7 and 8.1 you cannot create a multiple partitions on it (this is possible only in Windows 10 1703 or newer).

This problem is related to the using of common driver both for internal SATA and external eSATA hard drives in Windows — Standard SATA AHCI controller. When connecting these drives, the operating system checks if HotPlug mode (hot drive removal) is supported. This feature is always supported if the controller works in the AHCI mode. Theoretically, SATA drives working in this mode are to be displayed in the Safely Remove Hardware icon on the taskbar. However, most chipset vendors integrate the feature of automatic hiding of internal SATA drives either in their drivers or in the additional software.

Installing SATA Controller Driver

If your internal SATA/SSD is displayed in the Safely Remove Hardware list, you should try to install a more suitable controller driver. Try to find the latest version of a hard drive controller driver on the website of your motherboard or computer manufacturer. Also install the native driver for you motherboard chipset (Intel Rapid, RST and AHCI Driver, Intel Matrix Storage Manager, etc.).

SATA Controller Settings in BIOS

In the advanced settings of some BIOS/UEFI versions, you can disable HotSwap or HotPlug mode for the controller. Make sure if this feature is available for your computer. Also, you can change the controller mode from AHCI to IDE, but then you will lose all the AHCI advantages.

TreatAsInternalPort: How to Configure SATA Mode via the Registry?

You can disable Safe Removal of the internal drives on the NVidia controllers through the registry. Run the regedit.exe and go to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata. Create a DWORD parameter with the name DisableRemovable and the value 1 (note that instead the nvata there may be the nvatabus reg key).

Also, there is an universal way to set the “Internal Port” disk attribute for the specific controller port in the registry.

First of all, you have to detect the bus number of the controller that uses your hard drive. To do it, open the Device Manager (devmgmt.msc), find your drive in the list of Disk drives and open its properties. Remember the Bus Number and port number of your disk (Target ID). In my example, the bus and port numbers is 0.

get controller and port number for the sata drive

In Windows 7, you can mark the controller port as internal using the TreatAsInternalPort registry parameter. To do it, run the regedit.exe and go to the reg key HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller(n)\Channel(N), where (n) is the number of the controller the drive is connected through and (N) is the number of the controller channel (port).

In this registry key, create a DWORD parameter with the name TreatAsInternalPort and value 1.

This should be done for all SATA drives that you want to mark as internal ones. For example, you have 2 drive controllers in your computer. The first one has two SATA drives connected, and one more SATA drive is connected to the second controller. To mark them as internal drives, run these commands:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel1" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller1\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001

After making the changes, you need to restart the computer.

Please note that the numbers assigned to the disks (which you see in diskpart or diskmgmt.msc) do not always correspond to SATA or RAID channel numbers.

In Windows 10/8.1, the StorAHCI driver is used instead of MSAHCI, so the location of TreatAsInternalPort parameter in registry is different. Go to the key HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device, create a multi-string parameter (REG_MULTI_SZ) TreatAsInternalPort and in each string specify the port number of your SATA controller you want to mark as internal. For example, to mark all drives from 0 to 3 as internal, set the following value of the TreatAsInternalPort parameter:

0
1
2
3

set TreatAsInternalPort registry parameter on windows 10

Then restart your computer and all SATA/SSD drives with port numbers from 0 to 3 will be hidden from the Safe Removal list and will no longer be displayed as removable.

 

1 comment
2
Facebook Twitter Google + Pinterest
previous post
VMWare: How to Find VMs by IP or MAC Address?
next post
Get-MessageTrackingLog: Search Message Tracking Logs on Exchange Server

Related Reading

How to Connect VPN Before Windows Logon

November 14, 2023

Using WPAD (Web Proxy Auto-Discovery Protocol) on Windows

November 7, 2023

Zabbix: How to Get Data from PowerShell Scripts

October 27, 2023

Tracking Printer Usage with Windows Event Viewer Logs

October 19, 2023

How to Use Ansible to Manage Windows Machines

September 25, 2023

1 comment

Jaime Bainbridge February 18, 2020 - 9:45 pm

Great Tutorial But. I just reinstalled W10 Pro on an SSD in RAID not ahci because I also have 2 Single TB HDD in RAID 1 for storage.
Tried the above solution but NOJOY using the W10 ……storahci method. Is there a different Regedit location for RAID than storahci?
I do have an OLD Motherboard with only BIOS not UEFI (ASUS P6T Deluxe). Greatly appreciate any comments on a rather COMPLICATED issue. Jaime

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • How to Connect VPN Before Windows Logon

    November 14, 2023
  • Removing Azure Arc Setup Feature on Windows Server 2022

    November 9, 2023
  • Using WPAD (Web Proxy Auto-Discovery Protocol) on Windows

    November 7, 2023
  • Send Emails with Microsoft Graph API and PowerShell

    November 6, 2023
  • Zabbix: How to Get Data from PowerShell Scripts

    October 27, 2023
  • Tracking Printer Usage with Windows Event Viewer Logs

    October 19, 2023
  • PowerShell: Configure Certificate-Based Authentication for Exchange Online (Azure)

    October 15, 2023
  • Reset Root Password in VMware ESXi

    October 12, 2023
  • How to Query and Change Teams User Presence Status with PowerShell

    October 8, 2023
  • How to Increase Size of Disk Partition in Ubuntu

    October 5, 2023

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • Booting Windows 7 / 10 from GPT Disk on BIOS (non-UEFI) systems
  • Removable USB Flash Drive as Local HDD in Windows 10 / 7
  • How to increase KMS current count (count is insufficient)
  • How to Disable UAC Prompt for Specific Applications in Windows 10?
  • How to Connect L2TP/IPSec VPN Server From Windows
  • Managing Printers and Drivers with PowerShell in Windows 10 / Server 2016
  • Managing Printers from the Command Prompt in Windows 10 / 8.1
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top