Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

Редагувати користувачем Abudyak, Lchyipesh, InterwikiBot і ще одним іншим

SATA - новий послідовний інтерфейс обміну даними з накопичувачами інформації, тобто жорсткими дисками, CD і DVD приводами і так далі, який змінив застарілий стандарт IDE (PATA). Багато хто не знає, що існують два режиму SATA: режим AHCI, або "справжній" SATA, і режим емуляції IDE по шині SATA. У Windows XP немає вбудованої підтримки AHCI. Спроба завантаження Windows XP Professional x64 з CD призведе до аварійної зупинки ("синього екрану") якщо в BIOS буде включений режим AHCI.


Якщо відключити AHCI в BIOS, завантаження Windows пройде нормально, але якщо ви спробуєте встановити на чіпсет драйвера AHCI-нічого не вийде, оскільки AHCI відключений і пристрій не виявлено. Якщо перезавантажитися і включити підтримку AHCI в BIOS, Windows дасть збій на ранній стадії завантаження, оскільки без драйверів AHCI операційна система не зможе провести читання з інсталяційного розділу.


Ось і сувора правда життя: на багатьох чіпсетах, нормально встановити підтримку AHCI можна тільки за допомогою редагування реєстру. Фактично, ви вручну тимчасово встановіть драйвера, щоб Windows могла завантажитися і потім встановила драйвера належним чином.


Примітка: дане керівництво підходить для XP і Vista. Для Windows 7 потрібно інший підхід, принаймні для Win 7 x64 точно. Проблема у використанні описаного методу полягає в тому, що під Windows 7, AMD не створило драйвер ahcix64.sys для чіпсета SB600. AHCI драйвер називається amdsata.sys, але існує більш простий метод установки, ніж адаптація описаного методу під цей драйвер. Однак, ця процедура вимагає окремої статті.

Кроки

  1. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    1

    Створіть резервну копію (бекап) всіх важливих даних, особливо реєстру. Для цих цілей існує маса програм. Сподіваємося, що вам не доведеться скористатися своїм бекапи, але ... "попереджений, значить озброєний".

  2. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    2

    Перевірте, відключений чи режим AHCI в BIOS. Якщо він включений, а Windows нормально завантажується - можете закрити це керівництво.

  3. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    3

    Скачайте драйвер для чіпсета M3A / ATI SB600 звідси: https://support.asus.com/download/download.aspx?SLanguage=en-usmodel=M3A

  4. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    4

    Витягніть файли з ZIP архіву.

  5. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    5

    Скопіюйте потрібний файл.sys (в моєму випадку - ahcix64.sys) в директорію C: Windows System32 drivers .




  6. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    6

    Скопіюйте наступний текст в Блокнот (Notepad) і збережіть його у вигляді файлу з розширенням.reg (наприклад, ahci.reg)

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE SYSTEM ControlSet001 Control CriticalDeviceDatabase pci # ven_1002dev_4380subsys_82311043]"Service"="Ahcix64""ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services ahcix64]"Type"=dword: 00000001"Start"=dword: 00000000"Group"="SCSI miniport""ErrorControl"=dword: 00000001"ImagePath"="System32 drivers ahcix64.sys""Tag"=dword: 00000019"DisplayName"="ATI AHCI Compatible RAID Controller"[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services ahcix64 Parameters PnpInterface]"5"=dword: 0x00000001[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services ahcix64 Settings CAM]"EnableALPEDisableHotplug"=dword: 0"EnableCCC"=dword: 1"CCCTimeoutValue"=dword: 10"CCCCompletionValue"=dword: 32"NCQEnableDiskIDBits"=dword: 0"EnableHIPM"=dword: 0"EnableDIPM"=dword: 0[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services ahcix64 Enum]"0"="PCI VEN_1002DEV_4380SUBSYS_82311043 313c0b0c50FA""Count"=dword: 00000001"NextInstance"=dword: 00000001[/code]

  7. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    7

    Скачайте відповідний Linux "live CD" (або ще краще, Мультізагрузочний на Linux), завантажити з нього і запустіть команду
    sudo lspci -vvnn | lessщоб перевірити правильності нумерації пристроїв і підсистем.
    Ця команда видасть деталізований перелік PCI-пристроїв і їх властивостей. Ви повинні побачити ваш AHCI контролер, із зазначенням номера пристрою і підсистеми. Відредагуйте файл реєстру в разі потреби.

  8. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    8

    Двічі клікнувши на створений вами файл реєстру, додайте дані з нього до реєстру.

  9. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    9

    *[b]Після внесення змін до реєстру, при наступному перезавантаженні виконайте ці дії. Якщо їх не виконати, зроблені вами зміни не зберігатися і вам потрібно буде знову запустити .reg файл. При перезавантаженні зайдіть в BIOS і включіть режим AHCI. Зажмурте очі, помоліться і дочекайтеся завантаження Windows.

  10. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    10

    Якщо Windows знову випаде в "синій екран смерті", відключіть AHCI в BIOS і перезавантажте систему. Якщо з першої спроби не вийшло, відкоригуйте ваш файл реєстру і спробуйте знову.



  11. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    11

    Замініть саморобну установку драйвера "нормальними" драйверами, запустивши файл AsusSetup.exe (або щось подібне) з завантаженою папки з драйверами і дочекавшись установки драйверів на комп`ютер.

  12. Як встановити підтримку AHCI для SATA контролера ATI SB600 на комп'ютері зі встановленою Windows

    12

    Перезавантажте комп`ютер, щоб встановлений драйвер заробив.

Поради

  • Цей же метод працює з Windows XP Professional (32-біта) при заміні символів * 64 на * 86.
  • Спробуйте змінити реєстр, встановивши значення EnableHIPM і EnableDIPM на "1". HIPM і DIPM означають Host-Initiated Power Management (Управління харчуванням, що ініціюється хост-контролером) і Device-Initiated Power Management (Управління харчуванням, що ініціюється пристроєм), відповідно. Якщо це SATA контролер ноутбука, це може оптимізувати енергоспоживання і поведінку в режимі сну.
  • Цей метод спрацював з чіпсетом SB700 на материнке MSI KA790GX, єдине що - linux відображає підсистему в зворотному порядку. Наприклад, linux відображав номер як 1462: 7510, а у файлі реєстру номер повинен бути 75101462.
  • Можете звіритися з файлом txtsetup.oem в пакеті з драйверами. У моєму було зазначено наступне:
  • id = "PCI VEN_1002DEV_4391SUBSYS_75011462", "ahcix86"
  • Тільки коли я добився збігу номерів VEN DEV і SUBSYS, Windows ХР завантажилася. Довелося зробити 4 спроби. Спершу я вніс дані файлу реєстру в незмінному вигляді. У другій спробі і виправив ідентифікатори (номера) PCI пристрої, в третьому я виправив номер підсистеми, але вона була вказана в неправильному порядку, тому я подивився файл txtsetup.oem і знайшов номер підсистеми, який збігався з даними Linux. Дуже корисна інформація.

Попередження

  • Даний метод був перевірений на материнській платі Asus M3A під Windows XP Professional x64 і жорстким диском, що підтримує режими SATA / AHCI. Все спрацювало з першого разу. Гарантії, що це спрацює, ні, особливо якщо у вас інша комбінація заліза і операційної системи.