В некоторых случаях Windows 10, 8.1 и 7 может распознавать внутренний жесткий диск (SATA или SSD) как съемное устройство. В результате в системном трее для такого локального диска отображается значок безопасного извлечения устройства (как у обычной USB флешки).
Конечно, вы не сможете извлечь на лету SATA диск, на котором установлена Windows, но запросто сможете случайно извлечь дополнительный SATA диск. Еще один недостаток таких “Removable” дисков — в Windows 7 нельзя было разбить такой жесткий диск на разделы (в Windows 10 1703 и выше это возможно).
Эта проблема связан с тем, что в Windows по-умолчанию использует универсальный драйвер как для SATA (внутренних), так и для eSATA (внешних) жестких дисков — Standard SATA AHCI controller. Операционная система при подключении таких дисков проверяет поддержку режима HotPlug (извлечения диска “на-горячую”). Данный функционал всегда поддерживается при работе контроллера в режиме AHCI, поэтому в теории, подключенные в таком режиме SATA диски, всегда должны отображаться в списке “Безопасное извлечение устройств”. Однако большинство производителей чипсетов встраивают в драйвер своих устройств или дополнительное ПО функционал автоматического скрытия внутренних SATA дисков.
Установка драйвера SATA контроллера
Если у вас внутренний SATA/SSD диск отображаются в списке безопасного извлечения, скорее всего стоит попробовать установить более подходящий драйвер. Попытайтесь найти последнюю версию драйвер контроллера жесткого диска на сайте производителя вашей материнской платы или компьютера. Также установите родной драйвер чипсета, через который подключен ваш жесткий диск (Intel Rapid, RST and AHCI Driver and GUI, Intel Matrix Storage Manager и т.д.)
Настройки SATA контроллера в BIOS
В некоторых версиях BIOS/UEFI в расширенных настройках возможно отключить горячее подключение (HotSwap или HotPlug) для разъёма, через который подключается жесткий диск. Проверьте, доступна ли у вас эта функция. Также можно изменить режим работы контролера с AHCI на IDE, но вы лишитесь всех преимуществ AHCI.
TreatAsInternalPort: Настройка режима работы SATA дисков через реестр
Для NVIdia контроллеров можно отключить безопасное извлечение на внутренних дисках через реестр. Перейдите в ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata и создайте DWORD параметр с именем DisableRemovable и значением 1 (обратите внимание, что вместо раздела nvata может быть ключ nvatabus).
Также есть универсальный способ выставить для конкретного порта контроллера атрибут диска “внутренний порт” через реестр.
Сначала нужно определить номер шины контроллера, через который подключен жесткий диск. Для этого откройте диспетчер устройств devmgmt.msc, найдите в разделе дисков свой диск, откройте его свойства. Запомните номер шины (Bus Number) и номер порта (канала) диска (Target ID). В моем примере номер шины и порта — 0.
В Windows пометить порт контроллера как внутренний можно с помощью параметр реестра TreatAsInternalPort. Для этого перейдите в HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller(n)\Channel(N), где (n) – номер контроллера, через который подключен диск, а (N) номер канала контроллера.
Создайте в данном ключе реестра DWORD параметр с именем TreatAsInternalPort и значением 1.
Это действие нужно выполнить для всех SATA дисков, которые вы хотите пометить внутренними. Например, у вас на компьютере 2 контроллера, к первому подключено 2 SATA диска, а ко второму еще 1. Чтобы пометить их внутренними, нужно выполнить команды:
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
После внесения изменений нужно перезагрузить компьютер.
В Windows 10 и 8.1 вместо MSAHCI используется драйвер StorAHCI, поэтому местоположение параметра реестра TreatAsInternalPort другое. Перейдите в ветку реестра HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device, создайте мультистроковый (REG_MULTI_SZ) параметр TreatAsInternalPort, в каждой строке которого нужно указать номер порта SATA контроллера, который нужно пометить “внутренним”. Например, чтобы пометить внутренними все диски с 0 до 3, в качестве значения TreatAsInternalPort нужно указать:
0
1
2
3
Осталось перезагрузить компьютер, и все SATA/SSD диски с портами от 0 до 3 пропадут из безопасного извлечения и перестанут отображаться как removable.
Вот решение от MS https://support.microsoft.com/ru-ru/help/3083627/internal-sata-drives-show-up-as-removeable-media
Лично у меня, такая хрень случилась, когда я поменял процессор(intel на amd) с материнской платой(asus на gigabyte). Так вот, чтоб всё стало, как было прежде, нужно заменить драйвер: через Диспечер устройств (нажмите одновременно на клавиши клавиатуры «Win» + «R». В поле «Открыть» введите команду: «devmgmt.msc» (без кавычек), а затем нажмите на кнопку «ОК».)
Контроллеры IDE ATA/ATAPI :
amd сата контроллер
на
Стандартный контроллер SATA AHCI
Прописал в реестре, помогло! Спасибо!
Помогла вот эта часть статьи, цитирую:
===============================
Настройки SATA контроллера в BIOS
В некоторых версиях BIOS/UEFI в расширенных настройках возможно отключить горячее подключение (HotSwap или HotPlug) для разъёма, через который подключается жесткий диск. Проверьте, доступна ли у вас эта функция.
===============================
Спасибо!
Спасибо большое. метод с реестром для винды работает отлично.
Windows 10 20h2 через реестр все сделал как написано, но ничего не изменилось, что я делаю не так?
Нужно номер шины прописывать, тогда отключает горячее подключение.
Подключено 3 диска: 2 одинаковых жестких и 1 ssd
При просмотре шины показывает
Жесткий диск №1 «Размещение: Bus Number 0, Target Id 0, LUN 0″
Жесткий диск №2 «Размещение: Размещение 1 (Bus Number 0, Target Id 0, LUN 0)»
Как узнать где (n) – номер контроллера, через который подключен диск, а где (N) номер канала контроллера?
Нормально ли если у двух жестких дисков вот это «Bus Number 0, Target Id 0, LUN 0» одинаковое?
Если нужно пометить только один диск, как внутренний, то нужно ли помечать еще и другие тоже?
Какая у вас ОС? Если Windows 10, то нужно использовать параметр реестра TreatAsInternalPort. Там просто указывается номер диска (нумерация начинается с 0).
Если старая ОС, то когда Bus Number 0, Target Id 0 одинаковые, значит диски подключены через разные контроллеры.
У меня после этого способа, комп перестал загружаться(( как будто ссд диск совсем не видит
…создайте DMORD параметр с именем DisableRemovable
Надо бы поправить, не бывает параметра DMORD.
Ну подумаешь, буква перевернулась.
Спасибо, через реестр win11 помогло.
Спасибо, помогло через реест, windows 10
а как nvme отключить? обновил какой то драйвер, уже не известно какой и появилась эта фигня.
винда 11
Добавил параметр в реестр — помогло. Спасибо большое!
SSD NVME M.2 отображался как внешний scsi дисковое устройство. Перепробовал все советы — не помогло. Потом посмотрел в диспетчере устройств/контроллеры запоминающих устройств -стоит драйвер Silicom NVME. Удалил полностью, включая копии драйвера в скрытых устройствах. Перезагрузил, комп несколько раз рестартовал, неудачно. Загрузил в safe mode. Window установил стандартный драйвер контроллера NVM. Перезагрузил — всё отлично, диск — как внутренний!!!
Добрый день друзья мои! Поделюсь, как у меня получилось убрать из быстрого извлечение NVMe диски, вдруг кому пригодится: Диспетчер устройств-Контроллеры запоминающих устройств-там у меня было две строки Phison NVMe 1.2 Storport miniport. Я нажал: Обновить драйвер — Найти драйверы на этом компьютере — Выбрать драйвер из списка доступных драйверов на компе — Стандартный контроллер NVM Express-Перезагрузка — и все получилось! Всем бесконечного терпения:)
Windows 10, контроллер «Asmedia 106x SATA Controller», диск самый простой: ST1000NM0011.
Везде где можно, для «TreatAsInternalPort» поставил «0 1 2 3», «как советуют лучшие гуру» администрирования.
Диск все-равно отображается как съемный.
Вопрос остается открытым….