Как включить AHCI в Windows 8 без переустановки системы | Windows для системных администраторов

Как включить AHCI в Windows 8 без переустановки системы

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 привода).

Примечание. Режим AHCI (Advance Host Controller Interface) позволяет задействовать расширенные возможностей SATA, такие как горячее подключение (Hot-Plugging) и NCQ (native command queuing), позволяющая повысить производительность дисковых операций.

В 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), необходимо внести изменения в системный реестр.

Примечание: еще раз напомним указанную модификацию реестра Windows 8 необходимо производить ДО включения AHCI в BIOS.
  1. Откройте редактор реестра (из под учетной записью с правами администратора): нажмите WIN+R и введите regedit
  2. На запрос системы UAC, ответьте Continue/Yes
  3. В редакторе реестра найдите и разверните ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\
  4. Найдите ключ ErrorControl (его значение будет равно 3), щелкните по  нему правой клавишей и выберите Modify (Изменить) и измените его на 0. Нажмите ОК.
  5. Перейдите в ветку StartOverride, найдите ключ с именем 0 (значение по-умолчанию 3). Измените его значение на 0. Включаем поддержку ahci в windows 8 через реестр
  6. Перезагрузите компьютер, во время загрузки системы зайдите в BIOS/UEFI,  включите режим AHCI и сохраните изменения. В зависимости от версии BIOS местоположение пункта с настройками контроллера, позволяющего переключаться между режимами IDE – AHCI – (и иногда RAID) может отличаться. Где в BIOS включить ahci - windows 8
  7. При следующей загрузке система должна активировать 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). Необходимо

  1. Отключить режим AHCI в BIOS
  2. Отменить изменения в системном реестре, задав ErrorControl = 3 и StartOverride\0 = 3
  3. С помощью следующей команды выставим загрузку Windows 8 в безопасном режиме — Safe Mode (как вариант, можно добавить возможность выбора безопасного режима непосредственно в диспетчер загрузки Windows 8).
    bcdedit /set {current} safeboot minimal
  4. Затем  систему нужно перезагрузить, вновь зайти в BIOS,  переключится в AHCI Mode и сохранить изменения.
  5. В результате Windows 8 должна загрузится в безопасном режиме и автоматически установить  драйвер AHCI.
  6. Затем нужно отключить загрузку в SafeMode:
    bcdedit /deletevalue {current} safeboot
  7. И перезагрузить Windows
  8. При следующей загрузке системы система должна загрузится нормально. Осталось убедиться в том, что в диспетчере устройств появился AHCI контроллер.

Чтобы убедиться в том, что производительность дисковой подсистемы Windows 8 за счет режима AHCI увеличилась, запустите обновление индекса производительности Windows (WEI) и проверьте, что значение Disk data transfer rate (скорость обмена информации с диском) повысилось. В нашем примере с 5.2 до 8.1 единиц (хотя если быть откровенным существуют и более радикальные способы повышения индекса производительности :) ). Увеличение дисковой поризводительнсть за счет ahci в windows 8

Еще записи по теме: Windows 8
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 27

Оставить комментарий
  1. Роман | 05.06.2013

    Спасибо, всё получилось через реестр, с первого раза.
    Standard SATA AHCI Controller появился в диспетчере.
    Но эффекта не дало никакого… :(
    Как была минимальная оценка по эффективности дисковой подсистемы 5,8, так она и осталась после включения режима AHCI. Все остальные компоненты от 7,8 до 7,4, дисковая — 5,8.

    Ответить
  2. Semen | 05.06.2013

    Отлично! Все просто и понятно: включил AHCI через реестр: такое ощущение, что система даже грузится стала немного быстрее. Оценка диска в win 8 выросла с 5 до 6.9 баллов!

    Ответить
  3. Руслан | 15.07.2013

    Большое спасибо! Включил AHCI с помощью реестра, Win 8, х64. Оценка диска не изменилась, появился значек в области уведомлений «Безопасное извлечение устройств» (извлечение моих 2-х винчестеров).

    Ответить
  4. Николай | 09.11.2013

    Большое спасибо на Win 8.1×64, включил режим через реестр с первого раза. Проверил скорость накопителя скорость увеличилась примерно на 100 пунктов с предыдущего сканирования. была 279 мб в с. стала 375.

    Ответить
    • Valeriy | 12.11.2013

      А чем вы замеряли производительность диска?

      Ответить
  5. Oleg | 31.01.2014

    Спасибо большое Win 8.1 через реестр всё прокатило. 2 дня искал средство пока на эту статью не наткнулся.

    Ответить
  6. Александр | 03.02.2014

    Спасибо win 8.1 pro 64 bit — через реестр все работает

    Ответить
  7. Александр | 03.02.2014

    Помогите пожалуйста (,AHCI подключение через реестр) . два винчестера теперь весят в «Безопасное извлечение устройства,» как сделать что-бы их там небыло ? а то так можно и выключить случайно диски

    Ответить
    • drBond | 04.02.2014

      А что диски так извлекаются??
      Можно скрыть значок в области уведомлений, а можно :
      Для удаления значка из трея, нужно выполнить следующее:
      Не выходя из той же самой веточки HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\msahci Создаем в msahci папку с именем Controller0 Затем внутри этой папки создаем папки Channel#, где # — номер саташного порта, у меня это от 0 до 5, всего получается 6 папок. Теперь в каждой из этих 6 папок создаем параметр DWORD под названием TreatAsInternalPort и его значение ставим в единичку (1), по умолчанию 0. Перезагружаемся — значок пропал, на флешки (Mass Storage) это не повлияет.

       

      Ответить
  8. Александр | 03.02.2014

    После установки этого драйвера  диски исчезли из» безопасного извлечения»
    Intel® Matrix Storage Manager

    Ответить
  9. Макс им | 09.04.2014

    Я понимаю что статья старая.. но что ни у кого не возник вопрос про п.2 для альтернативного включения режима?
    Про авторов описать что имеется ввиду под:
    «2. Отменить изменения в системном реестре, задав ErrorControl = 3 и StartOverride = 3″
    Это как сделать? И где?

    Ответить
    • Серега | 16.04.2014

      Что не понятно-то? В статье вроде все подробно описано: ErrorControl и StartOverride это ключи в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\
      Автору спасибо!

      Ответить
  10. Рус | 27.06.2014

    Нужно ли возвращать измененные значения в реестре к значениям по умолчанию?

    Ответить
    • drBond | 27.06.2014

      а зачем возвращать-то? AHCI включили — все работает. Весь смысл телодвижений с реестром — заставить систему понять что она должна при следующей загрузке загрузиться с поддержкой AHCI, а не падать в синий экран

      Ответить
      • Рус | 27.06.2014

        Я не спец в работе с реестром, но например обычно, когда я достаю что-нибудь из холодильника, я его закрываю после этого.
        Я имел в виду, не нужно ли здесь «закрыть холодильник» от греха подальше? Еду уже достали и больше он нам открытым не нужен.
        Или этот пример не имеет смысла?

        Ответить
        • drBond | 01.07.2014

          Наверно не совсем хорошая аналогия. Редактор реестра можно закрыть в любой момент, но вот менять обратно в нем значения не нужно.

          Ответить
  11. Zloy J. | 06.07.2014

    На Win 8 и 8.1 всё из IDE в AHCI прошло как надо… Но вот вопрос: а как обратно в IDE вернуться? 7-ка после изменений в реестре грузилась прекрасно и так и так, а 8-ки, при возврате в IDE… синий экран. Кто что подскажет?

    Ответить
    • itpro | 07.07.2014

      Здесь немного поподробнее…
      Т.е. вы по этому мануалу включили поддержку режима AHCI. Затем вы решили отключили режим в BIOS и система падает в BSOD? Я правильно понимаю? Какой тогда код ошибки?

      Ответить
      • Lexa | 22.12.2014

        У меня аналогичная проблема — назад поменял все по мануалу а система перестала грузиться.. вин8, незнаю что за ошибка, циклическая перезагрузка идет

        Ответить
        • itpro | 22.12.2014

          Порядок переключения с AHCI на IDE должен быть таким:

          Открываем Regedit и переходим в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\StorAHCI
          Меняем значение «start» на 3
          Перезагружаемся
          Заходим в BIOS и меняем режим на IDE.
          Грузим Windows как обычно..
          Если не помогло то же самое делаем для раздела HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\msahci

          Вот только вопрос зачем вам это понадобилось?

          Ответить
  12. Виктор | 11.09.2014

    Windows 8 — все получилось через реестор. индекс производительности не изменился, но компьютер стал заметно быстрее работать, очень заметно ! :))  Большое спасибо .

    Ответить
  13. Вылупок | 10.10.2014

    Спасибо! Работает методом изменения значения в реестре. А то блин год назад установил windows 8.1 , и вот на днях изза загрузочного диска с Windows XP пришлось перевести режим работы в IDE, но вот назад ,уже, Windows 8.1 в режиме AHCI не грузился — падало в синий экран.Я загрузился в режиме IDE в итоге и сделал как вы написали .Все работает теперь. Спасибо, выручили!

    Ответить
  14. Александр | 27.11.2014

    включить AHCI с помощью реестра не помогло(пробовал с помощью командной строки пишет отказано в доступе, то есть командная стока должна быть запущена с правами админа? Но почему она у меня запускается только С:\Users\Alex ??? За ранее благодарен за ответ

    Ответить
    • itpro | 01.12.2014

      Run as Administrator не делали?
      PS. Проверьте настройки UAC

      Ответить
  15. DeN | 01.12.2014

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

    Ответить
  16. IVAN | 17.10.2015

    Спасибо! Помогло методом изменения значений в реестре.
    Просто и эффективно.

    Ответить
  17. Виктор | 13.02.2016

    Отличная статья! Помогло методом изменения значений в реестре.
    Просто, понятно и эффективно.

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.28MB/0.00126 sec