Как удалить опцию извлечения внутренних дисков SATA из иконки в трее Windows 8?

Значок "Безопасное извлечение устройства" в Windows 8 (и 8.1) позволяет извлечь мои внутренние диски SATA, включая загрузочный диск (см. Пример):

Я не вижу себя когда-либо нуждающимся в этом, особенно из-за удобства иконки в трее.

Для Windows 7 существует хорошо известное решение ( ответ 1, ответ 2 и т. Д.). Но в Windows 8 драйвер msahci был заменен на storahci. К сожалению, обходной путь TreatAsInternalPort больше не работает.

5 ответов

Решение

TreatAsInternalPort значение все еще существует в Windows 8 storahci драйвер, но его синтаксис изменился.

Теперь в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device и является REG_MULTI_SZ список номеров портов для принудительной обработки как внутренний.

Например, чтобы отключить съемность на портах 0 и 1, вы должны использовать

 Редактор реестра Windows, версия 5.00

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ storahci \ Параметры \Device]
"TreatAsInternalPort"= гекс (7):30,00,00,00,31,00,00,00,00,00 

К сожалению, я понятия не имею, как эти порты пронумерованы.

У меня была та же проблема в Windows 8.1 с жесткими дисками, подключенными к встроенному чипу ASMedia 106x и использованием драйвера storahci вместо драйвера ASMedia (яростно заморозил бы мою коробку!).

Я закончил тем, что решил, используя предложение Райдинна, найденное здесь.

По сути, я создал запланированное задание, которое запускается при запуске системы и импортирует следующий файл реестра, изменяя ключ "Возможности" на двух устройствах HDD:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_WDC&Prod_WD6400AAKS-22A7B\5&288c89f1&2&000000]
"Capabilities"=dword:000000e0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_WDC&Prod_WD6401AALS-00L3B\5&1272cb31&2&000000]
"Capabilities"=dword:000000e0

Проблема заключается в том, что вы можете отследить вышеуказанные ключи для вашей настройки, так как они немного отличаются для каждой установки. Однако, если вы найдете нужный диск в "Диспетчере устройств", а затем посмотрите на свойства, в частности "Путь к экземпляру устройства" на вкладке "Сведения", вы найдете место в реестре, где находится запись (всегда ниже HKLM\SYSTEM\CurrentControlSet\Enum\, Таким образом, объединяя HKLM\SYSTEM\CurrentControlSet\Enum\ с помощью "Путь к экземпляру устройства" вы должны найти правильное местоположение, которое содержит значение "Возможности".

Я надеюсь, что это несколько полезно.

Или Windows 10:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci\Parameters\Device]
"TreatAsInternalPort"=hex(7):30,00,31,00,32,00,33,00,34,00,35,00,00

(Спасибо kinokijuf за быстрый старт, но его код отключил только 1 диск для меня (диск 0 на моем втором контроллере).
Этот работал для всех 5 дисков, которые у меня есть. (и, вероятно, 6-й тоже).
Я думаю, это произошло потому, что между его значениями была пустая новая строка (00 в гексах - новая строка), (30 в гексах - 0, 31 - 1 и т. Д.).

Этот работал на всех 4 моих портах:

Текстовое изображение инструкций Чтобы прояснить предыдущие сообщения о том, как запретить отображение дисков в разделе «Безопасное извлечение устройства и извлечение носителя»; диалоговое окно.

Ни один из методов, которые я видел в Интернете, не работал с моей настройкой amd x570. Частично потому, что никто не объясняет, как узнать, какой драйвер используется; и, следовательно, какой ключ реестра требует внимания.

Итак, начнем с Windows 10:

  1. В диспетчере устройств разверните:

    • Контроллеры IDE ATA/ATAPI
    • Контроллеры хранения данных

  2. Здесь вы можете открыть вкладку «Свойства» -> «События» для любого контроллера, который вы используете:

    • Найдите имя ключа реестра после запуска устройства.
    • AMD Сата ()

    • Интел РСТ ()

  3. Благодаря этим именам мы теперь знаем, в каком ключе реестра искать.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

    • ,iaStorAC, ,secnvme,spaceport, и т. д...
    • вы можете сказать, что драйвер используется, если внутри него есть ключ
    • для меняstorahciне имеетEnumключ, поэтому добавлениеTreatAsInternalPortни на что не повлияет
  4. Теперь это сложная часть, поскольку каждый драйвер ищет разные настройки реестра.

    • amd_sata, чтобы скрыть 2 диска на портах 0 и 1, требуется настройка 3:
             [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\amd_sata\Parameters\Device]
    "AmdSataInternal"=dword:00000003
    
    • ИспользоватьAmdSataExternal, в качестве альтернативы, чтобы принудительно показать извлечение дисков
  5. А как насчет настроек реестра моих контроллеров?

    • Мне жаль, что я не знаю других.
    • Возможно, вы сможете найти некоторые подсказки или настройки реестра в разных версиях инф-файла драйвера.
    • Если кто-то знает, как заставить драйвер перечислить возможные параметры и значения реестра, это было бы здорово. (Я полагаю, это включает в себя анализ системных файлов драйвера?)

Надеюсь, это поможет кому-то еще застрять в этом.

Другие вопросы по тегам