Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • 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 2012
    • 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

December 16, 2019 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

Configure User’s Folder Redirection with Group Policy

February 3, 2023

Disable Built-in PDF Viewer in Microsoft Edge

February 3, 2023

Join a Windows Computer to an Active Directory...

February 2, 2023

Using Previous Command History in PowerShell Console

January 31, 2023

How to Install the PowerShell Active Directory Module...

January 31, 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

  • Configure User’s Folder Redirection with Group Policy

    February 3, 2023
  • Using Previous Command History in PowerShell Console

    January 31, 2023
  • How to Install the PowerShell Active Directory Module and Manage AD?

    January 31, 2023
  • Finding Duplicate E-mail (SMTP) Addresses in Exchange

    January 27, 2023
  • How to Delete Old User Profiles in Windows?

    January 25, 2023
  • How to Install Free VMware Hypervisor (ESXi)?

    January 24, 2023
  • How to Enable TLS 1.2 on Windows?

    January 18, 2023
  • Allow or Prevent Non-Admin Users from Reboot/Shutdown Windows

    January 17, 2023
  • Fix: Can’t Extend Volume in Windows

    January 12, 2023
  • Wi-Fi (Internet) Disconnects After Sleep or Hibernation on Windows 10/11

    January 11, 2023

Follow us

woshub.com
  • Facebook
  • Twitter
  • RSS
Popular Posts
  • Booting Windows 7 / 10 from GPT Disk on BIOS (non-UEFI) systems
  • Error Code: 0x80070035 “The Network Path was not found” after Windows 10 Update
  • Removable USB Flash Drive as Local HDD in Windows 10 / 7
  • How to Disable UAC Prompt for Specific Applications in Windows 10?
  • How to increase KMS current count (count is insufficient)
  • Configuring L2TP/IPSec VPN Connection Behind a NAT, VPN Error Code 809
  • Managing Printers and Drivers with PowerShell in Windows 10 / Server 2016
Footer Logo

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


Back To Top