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_MACHINESYSTEMCurrentControlSetservicesmsahci в реестре просто-напросто отсутствует. И попытки создать ее вручную ни к чему не приведут.
Дело в том, что Microsoft решило поменять название драйвера, отвечающего за поддержку режима AHCI для SATA контроллеров, заменив его новым драйвером под названием StorAHCI . Стоит отметить, что данный драйвер обладает тем же функционалом и поддерживает те же устройства, что и MSAHCI .
Нам удалось обнаружить два способа активации AHCI после установки Windows 8. Один из которых связан с модификацией реестра, второй – с загрузкой в безопасном режиме.
Включаем AHCI в Windows 8 с помощью реестра
Чтобы в Windows 8 включить режим AHCI без переустановки системы (которая была установлена в режиме IDE), необходимо внести изменения в системный реестр.
- Откройте редактор реестра (из под учетной записью с правами администратора): нажмите WIN+R и введите regedit
- На запрос системы UAC, ответьте Continue/Yes
- В редакторе реестра найдите и разверните ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesstorahci
- Найдите ключ ErrorControl (его значение будет равно 3), щелкните по нему правой клавишей и выберите Modify (Изменить) и измените его на 0 . Нажмите ОК.
- Перейдите в ветку StartOverride , найдите ключ с именем 0 (значение по-умолчанию 3). Измените его значение на 0 .
- Перезагрузите компьютер, во время загрузки системы зайдите в BIOS/UEFI, включите режим AHCI и сохраните изменения. В зависимости от версии BIOS местоположение пункта с настройками контроллера, позволяющего переключаться между режимами IDE – AHCI – (и иногда RAID) может отличаться.
- При следующей загрузке система должна активировать AHCI драйвер и использовать его для работы с SATA диском. Убедится в том, что система теперь использует режим AHCI можно с помощью диспетчера устройств, в котором в разделе I DE ATA/ATAPI controller s должен появится 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 = 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 единиц (хотя если быть откровенным существуют и более радикальные способы повышения индекса производительности ).