qx87
02-11-2013, 03:45
В меню безопасного отключения флешек висят накопители, подключенные через SATA 3 и работающие в режиме AHCI. Хотелось бы их оттуда убрать, чтобы когда-нибудь случайно не отключить.
Поковырявшись в проблеме, я нашёл 5 основных способов решения проблемы.
1. Ветка реестра msahci
Описан здесь (http://www.overclock.net/t/974023/fix-ahci-sata-drives-showing-in-safely-remove-hardware). Вкратце: для каждого устройства нужно добавить в реестр запись
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller(N)\Channel(n)]
"TreatAsInternalPort"=dword:00000001
где N и n — номера контроллера и канала, на котором висит жёсктий диск. Как их точно определить, я найти так и не смог. Поэтому добавил такую запись 30 раз для контроллеров 0-4 и каналов 0-5. На форумах люди пишут, что после перезагрузки диски действительно пропадают. Мне этот способ не помог.
2. Ветка реестра nvata
Описан здесь (http://www.tech-recipes.com/rx/1794/sata_drives_safely_remove_hardware_notification/). Вкратце: нужно добавить в реестр запись
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata]
"DisableRemovable"=dword:00000001
и перезагрузиться. В некоторых вариантах вместо ...\nvata говорят про ...\nvatabus. У меня вообще нет таких веток, потому что на материнке нет контроллеров NVidia.
3. Ветка реестра Enum
Описан здесь (http://forum.ixbt.com/topic.cgi?id=22:76622:6#6). Вкратце: для каждого устройства изменить параметр Capabilities на его же значение минус четыре. При этом, правда, в Windows 7 возникнут проблемы с правами на ветви реестра, и драйвер после каждой перезагрузки будет перезаписывать старое значение, так что нужно будет ещё создать bat-файл и поместить его в автозагрузку. Способ описывается как универсальный, но встречается на форумах гораздо реже, и вроде как тоже помогает людям. У меня же никакой реакции в системе, и даже драйвер не перезаписывает это значение после перезагрузки.
4. Установка Intel Matrix Storage Manager
Описан там же, где и третий (следующий пост). Способ интересен тем, что его нужно применять при установке (переустановке) ОС, чего делать обычно не хочется. Однако и на сайте Intel, и на сайте (http://www.asrock.com/mb/Intel/X58%20Extreme6/?cat=Download&os=Win764) производителя моей, например, материнки есть возможность скачать обычный виндовый установщик. Который, конечно же, дружелюбно погружает систему в синий экран смерти, причём у меня даже не пишется дамп. Только на видеозаписи сего действа удалось увидеть код BSoD: 0x0000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (http://bsodstop.ru/0x0000007e-system-thread-exception-not-handled) (общая ошибка) с первым параметром 0xC0000005: STATUS_ACCESS_VIOLATION (указывает на нарушение доступа к памяти), что лично мне не даёт ничего. На форумах сообщают, что происходит это оттого, что пытаешься обновить драйвер AHCI, находясь в режиме AHCI. Там же хитрые ребята предлагают перевести в BIOS'е жёсткие диске в режим IDE, установить драйвер, а потом вернуться в режим AHCI. Но драйвер в таком случае вообще отказывается устанавливаться, ссылаясь на несоответсвие системным требованиям.
5. Программа USB Safely Remove (http://safelyremove.com/)
Заменяет стандартный функционал отключения устройств на свой, с пряниками и печенюхами, просто скрывая системный значок из трея. Этот способ у меня, конечно же, заработал, но дополнительных программ мне ставить не хочется.
===========
Моя система: материнская плата ASRock X58 Extreme6 (http://www.asrock.com/mb/Intel/X58%20Extreme6/?cat=Specifications), в порты SATAIII_1 и SATAIII_2 подключены соответственно SSD OCZ Vertex 3, на котором установлена ОС, и ЖД Seagate Barracuda ST3000DM001 (если это важно, он вместо Master Boot Record использует GPT (http://ru.wikipedia.org/wiki/Таблица_разделов_GUID), т. к. у него большая ёмкость — 3 ТБ). Компьютер домашний, горячая замена мне не нужна.
Как быть? Как убрать эти злочастные записи о вмурованных накопителях?
P. S. Программой Alcohol 52% создан виртуальный дисковод. Когда в нём находится диск, он тоже показывается в этом же меню. Его наличие не так критично, но всё же тоже хотелось бы убрать и видеть там только флешки.
Поковырявшись в проблеме, я нашёл 5 основных способов решения проблемы.
1. Ветка реестра msahci
Описан здесь (http://www.overclock.net/t/974023/fix-ahci-sata-drives-showing-in-safely-remove-hardware). Вкратце: для каждого устройства нужно добавить в реестр запись
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller(N)\Channel(n)]
"TreatAsInternalPort"=dword:00000001
где N и n — номера контроллера и канала, на котором висит жёсктий диск. Как их точно определить, я найти так и не смог. Поэтому добавил такую запись 30 раз для контроллеров 0-4 и каналов 0-5. На форумах люди пишут, что после перезагрузки диски действительно пропадают. Мне этот способ не помог.
2. Ветка реестра nvata
Описан здесь (http://www.tech-recipes.com/rx/1794/sata_drives_safely_remove_hardware_notification/). Вкратце: нужно добавить в реестр запись
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata]
"DisableRemovable"=dword:00000001
и перезагрузиться. В некоторых вариантах вместо ...\nvata говорят про ...\nvatabus. У меня вообще нет таких веток, потому что на материнке нет контроллеров NVidia.
3. Ветка реестра Enum
Описан здесь (http://forum.ixbt.com/topic.cgi?id=22:76622:6#6). Вкратце: для каждого устройства изменить параметр Capabilities на его же значение минус четыре. При этом, правда, в Windows 7 возникнут проблемы с правами на ветви реестра, и драйвер после каждой перезагрузки будет перезаписывать старое значение, так что нужно будет ещё создать bat-файл и поместить его в автозагрузку. Способ описывается как универсальный, но встречается на форумах гораздо реже, и вроде как тоже помогает людям. У меня же никакой реакции в системе, и даже драйвер не перезаписывает это значение после перезагрузки.
4. Установка Intel Matrix Storage Manager
Описан там же, где и третий (следующий пост). Способ интересен тем, что его нужно применять при установке (переустановке) ОС, чего делать обычно не хочется. Однако и на сайте Intel, и на сайте (http://www.asrock.com/mb/Intel/X58%20Extreme6/?cat=Download&os=Win764) производителя моей, например, материнки есть возможность скачать обычный виндовый установщик. Который, конечно же, дружелюбно погружает систему в синий экран смерти, причём у меня даже не пишется дамп. Только на видеозаписи сего действа удалось увидеть код BSoD: 0x0000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (http://bsodstop.ru/0x0000007e-system-thread-exception-not-handled) (общая ошибка) с первым параметром 0xC0000005: STATUS_ACCESS_VIOLATION (указывает на нарушение доступа к памяти), что лично мне не даёт ничего. На форумах сообщают, что происходит это оттого, что пытаешься обновить драйвер AHCI, находясь в режиме AHCI. Там же хитрые ребята предлагают перевести в BIOS'е жёсткие диске в режим IDE, установить драйвер, а потом вернуться в режим AHCI. Но драйвер в таком случае вообще отказывается устанавливаться, ссылаясь на несоответсвие системным требованиям.
5. Программа USB Safely Remove (http://safelyremove.com/)
Заменяет стандартный функционал отключения устройств на свой, с пряниками и печенюхами, просто скрывая системный значок из трея. Этот способ у меня, конечно же, заработал, но дополнительных программ мне ставить не хочется.
===========
Моя система: материнская плата ASRock X58 Extreme6 (http://www.asrock.com/mb/Intel/X58%20Extreme6/?cat=Specifications), в порты SATAIII_1 и SATAIII_2 подключены соответственно SSD OCZ Vertex 3, на котором установлена ОС, и ЖД Seagate Barracuda ST3000DM001 (если это важно, он вместо Master Boot Record использует GPT (http://ru.wikipedia.org/wiki/Таблица_разделов_GUID), т. к. у него большая ёмкость — 3 ТБ). Компьютер домашний, горячая замена мне не нужна.
Как быть? Как убрать эти злочастные записи о вмурованных накопителях?
P. S. Программой Alcohol 52% создан виртуальный дисковод. Когда в нём находится диск, он тоже показывается в этом же меню. Его наличие не так критично, но всё же тоже хотелось бы убрать и видеть там только флешки.