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.- Відкрийте редактор реєстру (з під обліковим записом з правами адміністратора): натисніть 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 одиниць (хоча якщо бути відвертим існують і більш радикальні способи підвищення індексу продуктивності 🙂).