Главная » 2015 » Май » 19 » Как установить поддержку AHCI для SATA контроллера ATI SB600 на компьютере с установленной Windows
22:31
Как установить поддержку AHCI для SATA контроллера ATI SB600 на компьютере с установленной Windows

Как установить поддержку AHCI для SATA контроллера ATI SB600 на компьютере с установленной Windows

SATA — новый последовательный интерфейс обмена данными с накопителями информации, т.е. жесткими дисками, CD и DVD приводами и так далее, который сменил устаревший стандарт IDE (PATA). Многие не знают, что существуют 2 режима 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. 1 Создайте резервную копию (бекап) всех важных данных, особенно реестра. Для этих целей существует масса программ. Надеемся, что вам не придется воспользоваться своим бекапом, но... "предупрежден, значит вооружен".
  2. 2 Проверьте, отключен ли режим AHCI в BIOS. Если он включен, а Windows нормально загружается — можете закрыть это руководство.
  3. 3 Скачайте драйвер для чипсета M3A/ATI SB600 отсюда: http://support.asus.com/download/download.aspx?SLanguage=en-us&model=M3A
  4. 4 Извлеките файлы из ZIP архива.
  5. 5 Скопируйте нужный файл .sys (в моем случае — ahcix64.sys) в директорию C:WindowsSystem32drivers.
  6. 6Скопируйте следующий текст в Блокнот (Notepad) и сохраните его в виде файла с расширением .reg (например, ahci.reg)

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlCriticalDeviceDatabasepci#ven_1002&dev_4380&subsys_82311043] "Service"="ahcix64" "ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}" [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesahcix64] "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_MACHINESYSTEMCurrentControlSetServicesahcix64ParametersPnpInterface] "5"=dword:0x00000001 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesahcix64SettingsCAM] "EnableALPEDisableHotplug"=dword:0 "EnableCCC"=dword:1 "CCCTimeoutValue"=dword:10 "CCCCompletionValue"=dword:32 "NCQEnableDiskIDBits"=dword:0 "EnableHIPM"=dword:0 "EnableDIPM"=dword:0 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesahcix64Enum] "0"="PCI\VEN_1002&DEV_4380&SUBSYS_82311043\3&13c0b0c5&0&FA" "Count"=dword:00000001 "NextInstance"=dword:00000001
  7. 7 Скачайте подходящий Linux "live CD" (или еще лучше, мультизагрузочный на Linux), загрузитесь с него и запустите команду
    sudo lspci -vvnn | lessчтобы проверить правильности нумерации устройств и подсистем.
    Эта команда выдаст детализированный перечень PCI-устройств и их свойств. Вы должны увидеть ваш AHCI контроллер, с указанием номера устройства и подсистемы. Отредактируйте файл реестра в случае необходимости.
  8. 8 Дважды кликнув на созданный вами файл реестра, добавьте данные из него в реестр.
  9. 9 *После внесения изменений в реестр, при следующей перезагрузке выполните эти действия. Если их не выполнить, сделанные вами изменения не сохраняться и вам нужно будет снова запустить .reg файл. При перезагрузке зайдите в BIOS и включите режим AHCI. Зажмурьте глаза, помолитесь и дождитесь загрузки Windows.
  10. 10 Если Windows снова вывалится в "синий экран смерти", отключите AHCI в BIOS и перезагрузите систему. Если с первой попытки не получилось, откорректируйте ваш файл реестра и попробуйте снова.
  11. 11 Замените самодельную установку драйвера "нормальными" драйверами, запустив файл AsusSetup.exe (или что-то подобное) из загруженной папки с драйверами и дождавшись установки драйверов на компьютер.
  12. 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 = "PCIVEN_1002&DEV_4391&SUBSYS_75011462", "ahcix86"
  • Только когда я добился совпадения номеров VEN DEV и SUBSYS, Windows ХР загрузилась. Пришлось сделать 4 попытки. Сперва я внес данные файла реестра в неизменном виде. Во второй попытке и исправил идентификаторы (номера) PCI устройства, в третьей я исправил номер подсистемы, но она была указана в неправильном порядке, поэтому я посмотрел файл txtsetup.oem и нашел номер подсистемы, который совпадал с данными Linux. Очень полезная информация.

Предупреждения

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


Категория: Вопросы и ответы | Просмотров: 561 | | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]