Безопасное извлечение USB в Windows Vista+

Взято здесь: http://juick.com/Umnik/2519402

Все обращали внимание, что при использовании функции безопасного извлечения устройств в WinXP светодиод на флешки/диске гас, а начиная с Vista — светится по-прежнему. Причина описана здесь: http://support.microsoft.com/kb/2401954/en-us

Это так называемый Soft Removal. Казалось бы, ну и что. В Vista+ эта функция гарантирует, что данные на флешку/диск уже не записываются и не считываются, можно без проблем выдернуть, на то он и USB с hot-plug.

Но нет. Чувак на технете провел эксперимент. И без правки реестра показатель S.M.A.R.T. /192 C0 Power-off retract count Число циклов выключений или аварийных отказов (включений/выключений питания накопителя)/ увеличивался на его WD на единицу каждый раз. После правки реестра, либо при ручном отключении USB hub в диспетчере устройств (то есть тоже самое, что делает правка реестра) счетчик замирает. Как не растет он в WinXP изначально.

Такие дела. Фикса нет и не будет. MS не считает это проблемой. Полагаю, они исходят из того, что флешки устареют морально раньше, чем будут выведены из строя из-за того, что питалово вовсю подается на устройство, когда его выдергивают. А в случае HDD, возможно, исходили из того, что все производители давно научились парковать головки аварийно.

Как вернуть поведение WinXP? Создать DWORD (32-bit) DisableOnSoftRemove в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub\HubG
Это глобальная настройка. Вот статья http://support.microsoft.com/kb/2401954/en-us Тут описано, как сделать это поведение и для отдельных устройств, если нужно.

usb_safe_remove_vista_and_other.reg