SATA интеграция

Забележка. Статията описва ръчен метод за интегриране на драйвери. Процесът може да бъде автоматизиран с nLite.

Стъпка 1 - Създаване на директории

Създайте директория, която да съдържа всички драйвери и междинни файлове, които ще бъдат конфигурирани в предварителната стъпка. В тази статия ще се използва директорията C:\preload, в която трябва да създадете поддиректории, както следва: C:\preload\$OEM$\$1\drivers

Стъпка 2 - Разопаковане на драйверите

Ще ви трябват драйвери за SATA и/или RAID контролери. Те могат да бъдат взети от компактдиска, който е доставен с дънната платка или лаптопа. По-новите версии на драйверите могат да бъдат намерени на уебсайта на производителя.

Разопаковайте драйверите в директория, наречена на контролера. Например, възможна е такава структура

Забележка: Имената на поддиректориите, съдържащи драйвери, не трябва да са по-дълги от осем знака. Например дънната платка ABIT IC7-MAXIII има два комплекта драйвери на Silicon Images: Si3112r и Si3114r. В този случай трябва да създадете следните директории

Ако вашите драйвери са в инсталационната програма (често се намират при Intel), тогава ги разархивирайте от *.exe с помощта на WinRAR, например.

На този етап трябва да имате поне следните файлове в съответните им директории

Стъпка 2a - Разопаковане на драйверите на Intel

Драйверите на Intel са специален случай. Ако нямате горните файлове, тогава най-вероятно имате два архива на кабинета (*.cab) иsetup.exe. В такъв случай изпълнете следната команда от командния ред:

c:\setup.exe –a –p c:\път

къдетоpathе директорията, която сте избрали да разопаковате. След като разопаковате вашиядрайверите ще бъдат или в поддиректорията XP или drivers. Копирайте съдържанието на тази директория. Следвайки нашата структура, трябва да копирате съдържанието на

Стъпка 3 - Избор на файл

Можете безопасно да изтриете readme файлове и всички директории, свързани с други операционни системи (Windows 2000 и Windows 98). Ако същите драйвери са предназначени за XP и 2000, тогава, разбира се, те не трябва да се премахват. Продължавайки примера с ABIT IC7-MAXIII, сега имаме следната картина:

Директорията C:\preload\$OEM$\$1\drivers\IC7_MAX3\Intel съдържа файловете

TXTSETUP.OEM iaAHCI.cat iaStor.cat iaAHCI.inf iaStor.inf iaStor.sys

И в директорията C:\preload\$OEM$\$1\drivers\IC7_MAX3\Si3112r има файлове

SilSupp.cpl TxtSetup.oem si3112r.cat Si3112r.inf Si3112r.sys SIWinAcc.sys SiiSupp.vxd

и така нататък за всеки от контролерите.

Стъпка 4 - Копиране на файлове

Ако все още не сте копирали съдържанието на инсталационния диск на Windows XP на вашия твърд диск, сега е моментът да го направите. Копирайте в C:\XPCD. След това копирайте директорията $OEM$ от C:\preload в C:\XPCD.

Сега трябва да направите компресирани копия на всички *.sys файлове и да ги копирате в C:\XPCD\i386 с помощта на помощната програма makecab. От командния ред изпълнете следната команда:

makecab C:\XPCD\$OEM$\$1\drivers\motherboard\controller\controller.sys C:\XPCD\I386\controller.SY_

където motherboard е името на директорията, която сте дали след името на дънната платка, контролерът е съответно името на директорията на контролера, аcontroller.sysиcontroller.SY_са имената на вашите *.sys файлове. Можете да имате повече от един *.sys файл във всяка директория, но ви трябва само този със същото име като *.inf файла. Ако се приема запримерна стъпка 6, тогава имаме нужда само отSi3112r.sysот директорията Si3112r. Добавете всички други *.sys файлове към i386 по същия начин.

Стъпка 5 - Редактиране на секцията [SourceDisksFiles] на файла txtsetup.sif

Намерете първия раздел [SourceDisksFiles], който се намира на ред 189. В самото начало на секцията [SourceDisksFiles] добавете следния ред

controller.sys = 1.3_,4,1

където controller.sys е името на файла, създаден в четвъртата стъпка. Добавете редовете, съответстващи на останалите *.sys файлове по същия начин. Всеки файл трябва да отговаря на един ред. В нашия пример:

[SourceDisksFiles] iaStor.sys = 1.3_,4,1 Si3112r.sys = 1.3_,4,1 Si3114r.sys = 1.3_,4,1 viasraid.sys = 1.3_,4,1

Реших да сложа историята за формата на тези редове на отделна страница поради сложността на материала.

внимание! За да могат драйверите да се инсталират правилно, когато инсталирате системата от твърд диск или я актуализирате от компактдиск, вие също трябва да промените файлаdosnet.inf, както следва:

[FloppyFiles.2] d1,iaStor.sys d1,Si3112r.sys d1,Si3114r.sys d1,viasraid.sys

[Файлове] d1,iaStor.sys d1,Si3112r.sys d1,Si3114r.sys d1,viasraid.sys

Стъпка 6 - Редактиране на секцията [HardwareIdsDatabase] на файла txtsetup.sif

Оставетеtxtsetup.sifотворен и потърсете раздела [HardwareIdsDatabase], намиращ се на ред 18800. Ще се върнем към този раздел след минута, но засега нека да разгледаме файловете в директориите на драйвера. Там има файлове, информацията от които трябва да се копира в txtsetup.sif. Ще ни трябва *.oem или *.inf файл от всеки от тях. Отиваме в първата директория и действаме по следния принцип: ако има *.sys файл със същото име *.oemфайл, след това го отворете, а ако не, отворете *.inf файла със същото име. Ако използвате *.oem файл, намерете всички редове, започващи сPCI\VEN_, оградени в кавички. Ако използвате *.inf файл, намерете секцията [Strings], където има подобни низове (но без кавички). Игнорирайте редове, започващи с %. Копирайте всеки ред от началото до първата точка (без точката). Например, ако редътPCI\VEN_8086&DEV_2652&CC_0104.DeviceDesc = "Intel(R) 82801FR SATA RAID Controller", тогава трябва само да копиратеPCI\VEN_8086&DEV_2652&CC_0104и нищо друго.

Сега поставете копираните редове в секцията [HardwareIdsDatabase] на файлаtxtsetup.sifи добавете= "sysfile"към всеки, където sysfile е името на вашия *.sys файл със същото име *.oem или *inf. файл. В нашия пример в секцията [HardwareIdsDatabase] изглежда така:

[HardwareIdsDatabase] PCI\VEN_8086&DEV_2652&CC_0104 = "iaStor" PCI\VEN_8086&DEV_2652&CC_0106 = "iaStor"

PCI\VEN_8086&DEV_24DF&CC_0104 = "iaStor" PCI\VEN_8086&DEV_25B0&CC_0104 = "iaStor" PCI\VEN_1095&DEV_3112 = "Si3112r" PCI\VEN_1095&DEV_ 3512 = "Si3112r"

PCI\VEN_1002&DEV_436E = "Si3112r" PCI\VEN_1002&DEV_4379 = "Si3112r" PCI\VEN_1002&DEV_437A = "Si3112r" PCI\VEN_1095&DEV_3114 = "Si311 4r" PCI\VEN_1106&DEV_3149 = "viaraid"

Стъпка 7 - Редактиране на секциите [SCSI.load] и [SCSI] на файла txtsetup.sif

Сега намерете секцията [SCSI.load] около ред 19266. Добавете следния ред за всеки *.sys файл

където sysfile отново е името на вашия *.sys файл. В нашия пример в секцията [SCSI.load] изглежда така:

[SCSI.Load] iaStor = iaStor.sys,4 Si3112r =Si3112r.sys,4 Si3114r = Si3114r.sys,4 viasraid = viasraid.sys,4

Сега намерете секцията [SCSI] около ред 21613. Добавете следните редове за всеки *.sys файл.

където sysfile е името на вашия *.sys файл, а Description е каквото и да е описание, което искате да дадете на контролера. Най-лесният начин е да използвате описания от *.inf файл. В нашия пример изглежда така:

[SCSI] iaStor = "Intel(R) 82801FR/82801ER/6300ESB SATA RAID контролер" Si3112r = "Silicon Image SiI 3x12 SATARaid контролер" Si3114r = "Silicon Image SiI 3114 SATARaid контролер"

Това завършва редактирането наtxtsetup.sif. Затворете и запазете файла.

Стъпка 8 — Редактиране (Създаване) на winnt.sif

[Unattended] OEMPreinstall=Да OemPnPDriversPath="Път на драйвери"

където path е пътят към директорията с драйвери на контролера. В нашия пример изглежда така:

[Unattended] OEMPreinstall=Да OemPnPDriversPath="drivers\IC7_MAX3\intel;drivers\IC7_MAX3\Si3112r;drivers\IC7_MAX3\Si3114r;drivers\IC7_MAX3\via"

Тъй като имаме драйвери, разположени в няколко директории, поставяме тяхното изброяване в кавички и ги разделяме с "точка и запетая". Всички стойности на параметъра OemPnPDriversPath трябва да са в един ред, сричкопренасянето не е разрешено.

Ако се интересувате само от интегриране на драйвери и файлът с отговори е създаден единствено за тази цел, тогава в допълнение към горните параметри добавете секцията [Данни] със следното съдържание:

Затворетеwinnt.sifи запазете промените си (или запазете файла си катоwinnt.sifв i386).

Заключение

Като цяло процедурата за интегриране на SATA / RAID драйвери може да се счита за завършена на този етап. Следващите стъпки на оригиналното ръководство разказватКак да създадете диск за стартиране на Windows XP. Аз не виждам