Можно ли отключить функцию горячей замены жестких дисков при использовании AHCI?

Можно ли отключить функцию горячей замены жестких дисков при использовании AHCI?

У меня 3 диска SATA - 1 SSD и 2 обычных HDD. После изменения режима контроллера HDD на AHCI и установки Windows 7 у меня все еще есть возможность безопасного извлечения HW-устройств - дисков. Каждый раз, когда я собираюсь извлечь USB-флеш-карту, я беспокоюсь, что случайно отключу системный диск (возможно ли это вообще?). Можно ли отключить эту функцию для этих 3 HDD?

решение1

http://www.eggheadcafe.com/software/aspnet/30495127/remove-hardware-from-safely-remove-hardware-list.aspx

Не уверен, можно ли адаптировать этот метод к не-USB устройствам. Дисковые накопители должны отображаться в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE .

Этого можно добиться, изменив значение реестра. Пока у меня не было времени написать небольшой инструмент для этого...

Устройства отображаются там, если они помечены как съемные и если у них нет флага 'surprise removal ok'. Это бит-кодированные флаги:

Из cfgmgr32.h:

Возможности устройства находятся в реестре в параметре с именем «Возможности» в разделе (пример для одного из моих USB-накопителей): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_058f&Pid_6331\058F091111B

Если вы отнимете 4 от значения или добавите 80h, а затем обновите диалоговое окно сохранения и удаления, установив флажок, то диск исчезнет. Но значение сбрасывается, когда вы подключаете диск в следующий раз. Это жестко закодировано в драйвере и считывается каждый раз при загрузке диска. Если вы экспортируете измененное значение в reg-файл, то вы можете молча загрузить его при запуске с помощью regedit /s hidecardreader.reg

Строка идентификатора устройства вашего картридера (этот Vid_058f&Pid_6331\058F091111B) находится в свойствах USB-устройства в диспетчере устройств. Мой инструмент ListUsbDrives тоже его показывает ('Ctrl DevID'): http://www.uwe-sieber.de/files/listusbdrives.zip

Связанный контент