[11:49]
[🔒]
✪
Статья
Локальный SATA/SSD диск отображается как съемное устройство в Windows
Категории: Опер.системы;
оригинал статьи можно найти по этой ссылке.
В некоторых случаях 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/SSD диск отображаются в списке безопасного извлечения, скорее всего стоит попробовать установить более подходящий драйвер. Попытайтесь найти последнюю версию драйвер контроллера жесткого диска на сайте производителя вашей материнской платы или компьютера. Также установите родной драйвер чипсета, через который подключен ваш жесткий диск (Intel Rapid, RST and AHCI Driver and GUI, Intel Matrix Storage Manager и т.д.)
В некоторых версиях BIOS/UEFI в расширенных настройках возможно отключить горячее подключение (HotSwap или HotPlug) для разъёма, через который подключается жесткий диск. Проверьте, доступна ли у вас эта функция. Также можно изменить режим работы контролера с AHCI на IDE, но вы лишитесь всех преимуществ AHCI.
Для 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 0x00000001reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel1" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller1\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
После внесения изменений нужно перезагрузить компьютер.
Обратите внимание, что номера, назначенные дискам (которые вы видите в diskpart или diskmgmt.msc), не всегда соответствуют номерам каналов SATA или RAID
В Windows 10 и 8.1 вместо MSAHCI используется драйвер StorAHCI, поэтому местоположение параметра реестра TreatAsInternalPort другое. Перейдите в ветку реестра HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device, создайте мультистроковый (REG_MULTI_SZ) параметр TreatAsInternalPort, в каждой строке которого нужно указать номер порта SATA контроллера, который нужно пометить “внутренним”. Например, чтобы пометить внутренними все диски с 0 до 3, в качестве значения TreatAsInternalPort нужно указать:
0123
Осталось перезагрузить компьютер, и все SATA/SSD диски с портами от 0 до 3 пропадут из безопасного извлечения и перестанут отображаться как removable.
Дополнение от человека, проверившего этот способ на практике. У меня установлена Winsows 10, поэтому в реестре я создал (REG_MULTI_SZ) параметр TreatAsInternalPort, в котором нужный SATA диск был под нулевым номерм ,но я указал два параметра - 0 и 1. (у меня установлено два SSD дска - NVME и SATA и еще один диск - HDD, на 2Tb, который находится в съемном боксе) После того, как сделал вышеизложенные действия и перезагрузил ком, у меня из трея пропали оба диска - и несъемный SSD и съемный HDD. Я понял ,что ошибся с номерами. Дело в том, что в BIOS с помощью опции Hot Plug я могу произвольно включать и выключать контроль извлечения ВСЕХ съемных дисков, не каждого по отдельности. А мне нужно было, чтобы пропал из отображения только несъемный SSD. Поэтому я вернул строки реестра в исходный вид, но после перезагрузки оба диска в списке съемных устройств в трее у меня не появились. Чтобы все вернулось в первоначальный вид, потребовалось принудительно из диспетчера устройств удалить оба этих диски и дать системе заново их обнаружить и установить драйверы. После этого я проделал описываемые в статье процедуры еще раз - создал переменную в реестре, только теперь уже оставил в ней только один параметр - ноль, после чего удалил в диспетчере устройств этот диск и перезагрузил компьютер. И все стало так, как мне и нужно было - из трея исчез только SSD диск и остался съемным диск HDD, который можно было отключать. К чему я это все - если вдруг после вышеописанных манипуляций не получаете нужный результат, попробуйте в дополнении своих действий удалить само устройство из списка установленного оборудовакния и установить его заново. Ну и перезагрузить компьютер, конечно. А так - способ работает, по крайней мере что касается Windows 10.
Чтобы написать комментарий нужно, зарегистрироваться
Голосования и тесты: 0