Поиск по сайту: Расширенный поиск
Личный кабинет

Новые программы oszone.net Читать ленту новостей RSS
Консольная утилита для отправки "net send" сообщений по локальной сети из командной строки. Позволяет отправлять сообщен...
Программа для проведения детального анализа дискового пространства и предоставления пользователю исчерпывающей информаци...
Мультимедийные клавиатуры (со множеством дополнительных функциональных кнопок) сегодня встречаются сплошь и рядом, однак...
FastReport.Net - это генератор отчетов с широчайшими возможностями для разработчиков, использующих продукты Microsoft Vi...
True Launch Bar - программа для замены стандартного Быстрого запуска в операционных системах Windows. Программа позволяе...

Интеграция SATA/RAID драйверов

Текущий рейтинг: 4.26 (проголосовало 487)
 Посетителей: 164761 | Просмотров: 238017 (сегодня 182)  Шрифт: - +

Описать интеграцию SATA/RAID драйверов я собирался давно. К сожалению, моя конфигурация не позволяет протестировать интеграцию таких драйверов, и следовательно самостоятельное написание статьи исключалось. В первоначальном варианте сайта на странице драйверов была ссылка на хорошую статью участника конференции MSFN GreenMachine, но она требовала от читателя некоторой подготовки. Именно на этой статье и основана страница, рассказывающая о SATA/RAID драйверах, на сайте MSFN. Эта страница появилась там относительно недавно, и не существовала на момент написания первой редакции данной статьи.

Так или иначе, нашелся человек по имени Michael Hollinger, который взял на себя труд объединить в одно руководство информацию, разбросанную по форуму MSFN и сайтам участников форума. Его руководство показалось мне несложным и дающим достаточно информации для осуществления процесса интеграции "от и до". Michael любезно разрешил перевести его руководство на русский язык. Оригинальное руководство (PDF, 1.28 Mb) является публично доступной информацией и может быть использовано только в бесплатных или некоммерческих публикациях. Дисклэймер и контактную информацию автора можно найти в тексте руководства. Недавно Мichael прислал мне новую версию своего руководства, которое и выложено сейчас у меня. Руководство стало максимально подробным, с громадным количеством скриншотов (в основном Проводника и Блокнота ;-). Но поскольку суть осталась прежней, я не стал менять содержание своей статьи.

Примечание. В статье описан ручной метод интеграции драйверов. Процесс можно автоматизировать при помощи nLite.

Надеюсь, что статья будет полезна не только людям, интересующимся автоматической установкой, но и всем, кто не имеет возможности установить SATA/RAID драйверы в процессе установки Windows по причине отсутствия флоппи привода. Все вопросы или замечания по данной статье, пожалуйста, задавайте в форуме. Теперь к делу.

Шаг 1 - Создание директорий

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

Шаг 2 - Распаковка драйверов

Вам понадобятся драйверы для SATA и/или RAID контроллеров. Их можно взять с CD, поставлявшегося в комплекте с материнской платой или ноутбуком. Более новые версии драйверов могут находиться на сайте производителя.

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

C:\preload\$OEM$\$1\drivers\motherboard\controller

Примечание: названия поддиректорий, содержащих драйверы, должны состоять из не более чем восьми символов. Например, для материнской платы ABIT IC7-MAXIII есть два набора драйверов Silicon Images: Si3112r и Si3114r. В таком случае нужно создать следующие директории

C:\preload\$OEM$\$1\drivers\IC7_MAX3\Si3112r
C:\preload\$OEM$\$1\drivers\IC7_MAX3\Si3114r

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

На данном этапе у вас в соответствующих директориях должны быть, по крайней мере, следующие файлы

*.sys
*.cat
*.inf

Шаг 2а - Распаковка драйверов Intel

Драйверы Intel представляют собой особый случай. Если у вас нет вышеуказанных файлов, то вероятнее всего у вас есть два кабинетных архива (*.cab) и setup.exe. В таком случае выполните следующую команду из командной строки:

c:\setup.exe –a –p c:\path

где path - директория, которую вы выбрали для распаковки. После распаковки ваши драйверы будут либо в поддиректории XP либо drivers. Скопируйте содержимое данной директории. Следуя нашей структуре, вы должны скопировать содержимое в

C:\preload\$OEM$\$1\drivers\motherboard\intel

Шаг 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. Затем скопируйте директорию $ОЕМ$ из 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 - соответственно название директории контроллера, а controller.sys и controller.SY_ - названия ваших *.sys файлов. У вас может быть более одного *.sys файла в каждой директории, однако вам нужен только тот, имя которого совпадает с именем *.inf файла. Если взять за пример шаг 6, то из директории Si3112r нам нужен только Si3112r.sys. Аналогичным образом добавьте в i386 все остальные *.sys файлы.

Шаг 5 - Редактирование секции [SourceDisksFiles] файла txtsetup.sif

Откройте в текстовом редакторе файл txtsetup.sif расположенный в C:\XPCD\i386. Блокнот подойдет, хотя и не слишком удобен для данной цели. Главное, чтобы редактор не создавал ненужного форматирования, такого как переносы строк, например.

Найдите первую секцию [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

[Files]
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 = "Si3114r"
PCI\VEN_1106&DEV_3149 = "viasraid"

Шаг 7 - Редактирование секциий [SCSI.load] и [SCSI] файла txtsetup.sif

Теперь найдите секцию [SCSI.load] в районе строки 19266. Добавьте следующую строку для каждого *.sys файла

sysfile = sysfile.sys,4

где 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 = "Description"

где sysfile - имя вашего *.sys файла, a Description - любое описание, которое вы хотите дать контроллеру. Проще всего использовать описания из *.inf файла. В нашем примере это выглядит так:

[SCSI]
iaStor = "Intel(R) 82801FR/82801ER/6300ESB SATA RAID Controller"
Si3112r = "Silicon Image SiI 3x12 SATARaid Controller"
Si3114r = "Silicon Image SiI 3114 SATARaid Controller"
viasraid = "VIA Serial ATA RAID Controller"

На этом редактирование txtsetup.sif закончено. Закройте и сохраните файл.

Шаг 8 - Редактирование (создание) winnt.sif

Теперь настало время изменить winnt.sif (или создать новый, если у вас его еще нет). Подробнее о winnt.sif я рассказываю тут, поэтому остановлюсь лишь на секции [Unattended]. Для успешной установки драйверов необходимо наличие в секции следующих параметров

[Unattended]
OEMPreinstall=Yes
OemPnPDriversPath="Drivers\path"

где path - путь к директории с драйверами контроллера. В нашем примере это выглядит так:

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

Поскольку у нас драйвера расположены в нескольких директориях, мы заключаем их перечисление в кавычки и разделяем "точкой с запятой". Все значения параметра OemPnPDriversPath должны быть в одну строку, переносы недопустимы.

Если вас интересует только интеграция драйверов, и файл ответов создается исключительно для этой цели, то помимо указанных выше параметров добавьте секцию [Data] с таким содержимым:

[Data]
MsDosInitiated="0"

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

Заключение

В общем, на этом процедуру интеграции SATA/RAID драйверов можно считать законченной. Дальнейшие шаги оригинального руководства рассказывают о том, как создать загрузочный диск Windows XP. Не вижу смысла повторяться.

Благодарности

Остается лишь поблагодарить Майкла Холлингера и отдать должное тем людям, чьи книги, статьи и сообщения в форумах были использованы в его руководстве. Автор следует одному из общепринятых Американских стилей, используемых в научных публикациях. Я, уж извините, стиль выдерживать не буду ;-)

  1. Chandra, Omeeda. (2004 October). Книга Update Your Windows XP CD. Maximum PC, 68-70
  2. GreenMachine. Slipstreaming SATA/RAID Drivers (ссылки на статью больше нет)
  3. Gosh. Txtsetup.sif.
  4. raskren (2004, January 5) Сообщение в теме Unattended install, SATA drivers, and NO Floppy , I finally got it to work!
  5. raskren (2004, February 9) Сообщение в теме Switches in TXTSETUP.SIF.
Автор: Вадим Стеркин aka Vadikan  •  Иcточник: unattended.oszone.net  •  Опубликована: 02.03.2005

Оценить статью:
Вверх

 
КОММЕНТАРИИ ПОСЕТИТЕЛЕЙ RSS
25.03.2009/10:19  intersk

Скажите, если при установке Windows XP отключить в BIOS режим AHCI (поставить в Disable) то XP установиться без доп.драйверов SATA. НО МОЖНО ли потом. уже в системе. установить драйвера для режима AHCI, потом включить в BIOS режим AHCI... При загрузке компьютер распознает вновь установленные драйвера для режима AHCI?
05.05.2009/18:20  vitalii69

сайт просто супер.огромное спасибо создателям!!!!
11.05.2009/15:16  vladil19

Сайт для меня неожиданность!!!
Огромное спасибо!!!!!!!!!!!!!

Для того чтобы оставить комментарий, необходимо быть зарегистрированным

Быстро и недорого заказать грузовую эвакуацию по низким ценам.