AHCI режим поддерживается в ОС семейства Windows, начиная с Windows Vista. В старых версиях ОС (таких как Windows XP и т.д.), встроенная поддержка режима AHCI отсутствует и для работы этого режима необходимо устанавливать дополнительные вендоро-зависимые драйвера.
Однако не все было гладко с активацией режима AHCI и в новых ОС Microsoft. В том случае, если система была установлена в обычном (IDE) режиме, драйвер AHCI в системе находится в отключенном состоянии. Это приводит к тому, что на таких системах при включении в BIOS-е режима AHCI на SATA-контроллере, система перестает видеть sata диск (отсутствует необходимый ahci-драйвер) и падает в BSOD (INACCESSIBLE_BOOT_DEVICE). По этой причине производители чипсетов контроллеров (в первую очередь Intel), рекомендуют включать AHCI режим ДО установки ОС, в этом случае установщик понимает, что чипсетом поддерживается режим AHCI и устанавливает необходимые драйвера (для некоторых чипсетов иногда приходится загружать специфичные AHCI/RAID драйверы непосредственно в процессе установки Windows, например, с usb-флешки или cd/dvd привода).
В Windows 8 ситуация с активацией AHCI не поменялась, и если попробовать изменить режима контроллера SATA на AHCI без внесения изменений в саму Windows, это приведет к невозможности загрузится с системного диска. Дело в том, что Windows 8 тоже автоматически не загружает драйвер AHCI для контроллера, который в момент установки системы не находился в AHCI-режиме.
Статья предназначена для тех, кто установил Windows 8 в режиме IDE и хотел бы переключится в режим AHCI без переустановки операционной системы. В том случае, если в BIOS-е (или среде UEFI) уже выставлен режим AHCI, то нет необходимости что-то дополнительно предпринимать — ваша Windows 8 уже поддерживает режим AHCI.
Мы уже описывали как включить поддержку AHCI в Windows 7 без переустановки. Согласно этой статьи необходимо на работающей в обычном (ide) режиме Windows 7 перевести в режим автоматической загрузки стандартный драйвер AHCI (драйвер называется msahci) и лишь затем активировать AHCI в BIOS. Процедура происходила достаточно гладко и в подавляющем большинстве случаев безболезненно.
В Windows 8 (и Windows Server 2012) при попытке включить AHCI режим подобным способом пользователь столкнется с проблемой: ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci в реестре просто-напросто отсутствует. И попытки создать ее вручную ни к чему не приведут.
Дело в том, что Microsoft решило поменять название драйвера, отвечающего за поддержку режима AHCI для SATA контроллеров, заменив его новым драйвером под названием StorAHCI. Стоит отметить, что данный драйвер обладает тем же функционалом и поддерживает те же устройства, что и MSAHCI.
Нам удалось обнаружить два способа активации AHCI после установки Windows 8. Один из которых связан с модификацией реестра, второй – с загрузкой в безопасном режиме.
Включаем AHCI в Windows 8 с помощью реестра
Чтобы в Windows 8 включить режим AHCI без переустановки системы (которая была установлена в режиме IDE), необходимо внести изменения в системный реестр.
- Откройте редактор реестра (из под учетной записью с правами администратора): нажмите WIN+R и введите regedit
- На запрос системы UAC, ответьте Continue/Yes
- В редакторе реестра найдите и разверните ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\
- Найдите ключ ErrorControl (его значение будет равно 3), щелкните по нему правой клавишей и выберите Modify (Изменить) и измените его на 0. Нажмите ОК.
- Перейдите в ветку StartOverride, найдите ключ с именем 0 (значение по-умолчанию 3). Измените его значение на 0.
- Перезагрузите компьютер, во время загрузки системы зайдите в BIOS/UEFI, включите режим AHCI и сохраните изменения. В зависимости от версии BIOS местоположение пункта с настройками контроллера, позволяющего переключаться между режимами IDE – AHCI – (и иногда RAID) может отличаться.
- При следующей загрузке система должна активировать AHCI драйвер и использовать его для работы с SATA диском. Убедится в том, что система теперь использует режим AHCI можно с помощью диспетчера устройств, в котором в разделе IDE ATA/ATAPI controllers должен появится AHCI контроллер (в нашем случае это Standard SATA AHCI Controller).
К сожалению, указанная методика активации драйвера ahci в Windows 8 не всегда работает (не срабатывает примерно в 10-20% случаев). В этом случае рекомендуется воспользоваться официальной инструкцией от Microsoft, доступной в статье базы знаний KB2751461 (http://support.microsoft.com/kb/2751461).
Альтернативный способ включений AHCI в Windows 8
В том случае, если указанная выше методика не сработала, и Windows 8 не грузится в режиме AHCI, уходя в BSOD или бесконечные попытки восстановить Windows (Attempting repair). Необходимо
- Отключить режим AHCI в BIOS
- Отменить изменения в системном реестре, задав ErrorControl = 3 и StartOverride\0 = 3
- С помощью следующей команды выставим загрузку Windows 8 в безопасном режиме — Safe Mode (как вариант, можно добавить возможность выбора безопасного режима непосредственно в диспетчер загрузки Windows 8).
bcdedit /set {current} safeboot minimal
- Затем систему нужно перезагрузить, вновь зайти в BIOS, переключится в AHCI Mode и сохранить изменения.
- В результате Windows 8 должна загрузится в безопасном режиме и автоматически установить драйвер AHCI.
- Затем нужно отключить загрузку в SafeMode:
bcdedit /deletevalue {current} safeboot
- И перезагрузить Windows
- При следующей загрузке системы система должна загрузится нормально. Осталось убедиться в том, что в диспетчере устройств появился AHCI контроллер.
Чтобы убедиться в том, что производительность дисковой подсистемы Windows 8 за счет режима AHCI увеличилась, запустите обновление индекса производительности Windows (WEI) и проверьте, что значение Disk data transfer rate (скорость обмена информации с диском) повысилось. В нашем примере с 5.2 до 8.1 единиц (хотя если быть откровенным существуют и более радикальные способы повышения индекса производительности 🙂 ).
Спасибо, всё получилось через реестр, с первого раза.
Standard SATA AHCI Controller появился в диспетчере.
Но эффекта не дало никакого… 🙁
Как была минимальная оценка по эффективности дисковой подсистемы 5,8, так она и осталась после включения режима AHCI. Все остальные компоненты от 7,8 до 7,4, дисковая — 5,8.
Отлично! Все просто и понятно: включил AHCI через реестр: такое ощущение, что система даже грузится стала немного быстрее. Оценка диска в win 8 выросла с 5 до 6.9 баллов!
Большое спасибо! Включил AHCI с помощью реестра, Win 8, х64. Оценка диска не изменилась, появился значек в области уведомлений «Безопасное извлечение устройств» (извлечение моих 2-х винчестеров).
Большое спасибо на Win 8.1×64, включил режим через реестр с первого раза. Проверил скорость накопителя скорость увеличилась примерно на 100 пунктов с предыдущего сканирования. была 279 мб в с. стала 375.
А чем вы замеряли производительность диска?
Спасибо большое Win 8.1 через реестр всё прокатило. 2 дня искал средство пока на эту статью не наткнулся.
Спасибо win 8.1 pro 64 bit — через реестр все работает
Помогите пожалуйста (,AHCI подключение через реестр) . два винчестера теперь весят в «Безопасное извлечение устройства,» как сделать что-бы их там небыло ? а то так можно и выключить случайно диски
А что диски так извлекаются??
Можно скрыть значок в области уведомлений, а можно :
Для удаления значка из трея, нужно выполнить следующее:
Не выходя из той же самой веточки HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\msahci Создаем в msahci папку с именем Controller0 Затем внутри этой папки создаем папки Channel#, где # — номер саташного порта, у меня это от 0 до 5, всего получается 6 папок. Теперь в каждой из этих 6 папок создаем параметр DWORD под названием TreatAsInternalPort и его значение ставим в единичку (1), по умолчанию 0. Перезагружаемся — значок пропал, на флешки (Mass Storage) это не повлияет.
После установки этого драйвера диски исчезли из» безопасного извлечения»
Intel® Matrix Storage Manager
Я понимаю что статья старая.. но что ни у кого не возник вопрос про п.2 для альтернативного включения режима?
Про авторов описать что имеется ввиду под:
«2. Отменить изменения в системном реестре, задав ErrorControl = 3 и StartOverride = 3»
Это как сделать? И где?
Что не понятно-то? В статье вроде все подробно описано: ErrorControl и StartOverride это ключи в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\
Автору спасибо!
Нужно ли возвращать измененные значения в реестре к значениям по умолчанию?
а зачем возвращать-то? AHCI включили — все работает. Весь смысл телодвижений с реестром — заставить систему понять что она должна при следующей загрузке загрузиться с поддержкой AHCI, а не падать в синий экран
Я не спец в работе с реестром, но например обычно, когда я достаю что-нибудь из холодильника, я его закрываю после этого.
Я имел в виду, не нужно ли здесь «закрыть холодильник» от греха подальше? Еду уже достали и больше он нам открытым не нужен.
Или этот пример не имеет смысла?
Наверно не совсем хорошая аналогия. Редактор реестра можно закрыть в любой момент, но вот менять обратно в нем значения не нужно.
На Win 8 и 8.1 всё из IDE в AHCI прошло как надо… Но вот вопрос: а как обратно в IDE вернуться? 7-ка после изменений в реестре грузилась прекрасно и так и так, а 8-ки, при возврате в IDE… синий экран. Кто что подскажет?
Здесь немного поподробнее…
Т.е. вы по этому мануалу включили поддержку режима AHCI. Затем вы решили отключили режим в BIOS и система падает в BSOD? Я правильно понимаю? Какой тогда код ошибки?
У меня аналогичная проблема — назад поменял все по мануалу а система перестала грузиться.. вин8, незнаю что за ошибка, циклическая перезагрузка идет
Порядок переключения с AHCI на IDE должен быть таким:
Открываем Regedit и переходим в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\StorAHCI
Меняем значение «start» на 3
Перезагружаемся
Заходим в BIOS и меняем режим на IDE.
Грузим Windows как обычно..
Если не помогло то же самое делаем для раздела HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\msahci
Вот только вопрос зачем вам это понадобилось?
Windows 8 — все получилось через реестор. индекс производительности не изменился, но компьютер стал заметно быстрее работать, очень заметно ! :)) Большое спасибо .
Спасибо! Работает методом изменения значения в реестре. А то блин год назад установил windows 8.1 , и вот на днях изза загрузочного диска с Windows XP пришлось перевести режим работы в IDE, но вот назад ,уже, Windows 8.1 в режиме AHCI не грузился — падало в синий экран.Я загрузился в режиме IDE в итоге и сделал как вы написали .Все работает теперь. Спасибо, выручили!
включить AHCI с помощью реестра не помогло(пробовал с помощью командной строки пишет отказано в доступе, то есть командная стока должна быть запущена с правами админа? Но почему она у меня запускается только С:\Users\Alex ??? За ранее благодарен за ответ
Run as Administrator не делали?
PS. Проверьте настройки UAC
Эпическое спасибо, через безопасный режим получилось с первого раза.
Спасибо! Помогло методом изменения значений в реестре.
Просто и эффективно.
Отличная статья! Помогло методом изменения значений в реестре.
Просто, понятно и эффективно.
А как Windows XP перевести на ACHI, если система установлена в режиме IDE?
В XP насколько я помню, для подержки AHCI нужно было руками редактировать inf файл драйвера контроллера. Еще то приключение….
В общем, ищите в сети. В рамках этого сайта инструкцию по переключению на AHCI с IDE в Windows XP делать не планирую, т.к. система уже устарела.
У меня получилось намного короче: в режиме IDE, нажимаем win+R вводим msconfig, дальше выполнить, вкладка «Загрузка», внизу слева ставим галочку «Безопасный режим», далее жмём Применить > ок > перезагрузка. Сразу заходим в bios, меняем режим на AHCI, сохраняемся, перезагружаемся. windows сам загрузиться в безопасный режим, далее опять повторяем процедуру в команде msconfig в обратном порядке снимаем галочку и перезагружаемся. Всё встаёт на свои места, думаю можно добавить в статью.
itpro, скажите, а правда что именно для корректной работы SSD, а именно функции Trim, и нужно включать режим AHCI?
Верно, без AHCI TRIM не будет работать
Ясно, спасибо, вот только не то чтоб я пытался спорить, но в моем случае, даже без вкл. AHCI, программа HD Sentinel указала что «функция TRIM поддерживается SSD и включена«, почему у меня и закрались сомнения.