Carry your cross and I'll carry mine
**********************************
Это драфт. Буду править. Добавлю конкретные строки в установочных файлах, имена файлов и ссылки, а также подправлю неточности.
**********************************
Итак, начнем. Занесло значит меня ставить Win2003 Server Enterprise Edition for Itanium Systems (Это 64-bit). Закупили мы сервер с причиндалами (IBM xSeries 455), собственно винду.
День первый.
Приехал я читать документацию. Поставил рейд 5-го уровня, с диска ServeRAID. Вроде все, как обычно, но оказалось, что от жизни я все же немного отстал. В этом сервере в биосе вшито что-то типа мини-юникса. Зовется EFI Shell, нечто вроде стандарта для 64-битных машинок такого уровня. Экзешники имеют расширение .efi, на диске с виндой есть файлик setupldr.efi, который предлагается запустить. (На самом деле, этот шелл оказался крайне удобной штукой, там куча команд полезных, бутменеджер, даже драйвера есть для разных устройств. По идее, можно даже DOS поставить, и оно будет пахать. Во всяком случае, встроенная поддержка FAT32 там есть). Ну, с документацией не поспоришь, запускаем сей файлик с диска (а, да, винды лицензионные, диск - точная копия оригинального). Получаем стандартный синий экранчик установки виндов, долго все это дело (драйвера) грузятся с диска (у IBM-а почему-то традиционно дерьмовые cd-приводы). После чего винда довольно заявляет, что винтов-то у меня и нету. Возмущения типа "Как нету?? А вот же 5 винтов на SCSI RAID торчит из EXP400 модуля!!" оставим, благо опыт установки винды на сервера IBM какой-то имеется, и известно, что стандартный сказевый рейд-контроллер ServeRAID виндой автоматом не определяется (Надежда на то, что в новенькой винде драйвер этой железки все же будет встроен, не оправдалась). Значит, нужен драйвер. Вот тут у меня начали зарождаться подозрения, что грозит мне немерянный геморрой. Ибо винде драйвер нужен не иначе как на диске A: (читай - дискете), а в этом сервере, во-первых, вообще непонятно, что есть диск A:, а во-вторых, дисковод не предусмотрен конструкцией в принципе. Доступные слоты - 2 под cd-приводы, типа ноутбучных и одинокий USB в углу. Поиски USB-флопика ( "Эй, мужик, у вас флопы юсбишные есть?" ) успехом не увенчались. Перекидывание драйвера на флешку и Подсовывание винде флешки тоже ни к чему не привели. Ну нету у него драйва A:. Посему полез я в инет, искать похожие случаи. Нашел, как ни странно, на форуме roverpc.ru. Автор топа рассказывал, как он ставил винду на ноут с SATA RAID и без флопа. Ахха, вот оно. Выцепив оттуда ссылку на англоязычный источник знаний, погрузился в изучение. В общем, все было несложно. Нужно было положить драйвер в папку I386 (я положил в папку IA64, учитывая что винда немного другая), положить его же вместе с inf-файлом в папку $OEM$/$1/drivers/ и прописать устройство в базу устройств винды (файл txtsetup.sif). После чего сделать файл winnt.sif (если его нет), настроить в нем автоматическую установку (которая unattended) и прописать путь к нашему драйверу. Что и было проделано. Также в статье приводилась ссылка на загрузчик для виндового дистрибутива, который предлагалось запихнуть на болванку, чтобы все было совсем хорошо. Но ссылка была битая, да и мы нашу винду запускали все равно ручками (через setupldr), поэтому на загрузчик я успешно забил. Суем болванку в сервер и ждем... Позитифф пошел уже на этапе синих экранчиков, когда в мелькании подгружаемых драйверов проскочило "IBM ServeRAID controllers", как я и писал в txtsetup.sif. Винда обнаружила все мои 210 логических гигов, весело форматнула их в NTFS, и пошла копировать файло. В этот момент я был уверен, что мне все удалось. Чашка кофе. Минут 25 установки. Кстати, при Unattended Installation многие вещи можно написать прямо в winnt.sif. Например, серийник
. В общем ставилось действительно практически без моего участия. Ребут после установки (ох уж не люблю я эти сервера за долгий ребут.. минут около пяти). Бутменеджер, грузим винду. Появляется мрачный логотип Windows2003 с бегущими квадратиками. Квадратики бегут секунд 15-20 и сервер уходит в ребут. У меня отвисает челюсть, потому что время - полшестого, а рабочий день до 6 (потом всех выгоняют). Но, надежда умирает последней, и я думаю - а вдруг со ВТОРОГО раза загрузится. Не загрузилось. Ни со второго, ни с третьего. Заметил, что при загрузке винты не моргают. Совсем. Плюнул, позвонил шефу, описал ситуацию, поехал домой.
День второй.
Забыл сказать, что в первый день я дико замерз, потому что на улице было не жарко, и кондишн в серверной усердно держал градусов 16-18. Во второй день на улице было потеплее, да и в серверной особо не сидел.
Дома полистал инет, пообщался с парой людей. Убедили меня в том, что либо железка не работает, либо драйвера кривые. Лично я держал в голове еще один вариант - руки кривые. Но, все же, обновил firmware на биосе сервера.(Хотел еще на RAID-контроллере обновить, но че-то не врубился как это сделать опять же без флопа и без установленной ОС). Не помогло (в общем-то не очень надеялся). Что ж. Полез искать, что я сделал возможно неправильно. Варианты были разные.
1)Ключ OemPreInstall=YES в winnt.sif. Пропустил. Подумал, что не нужно.
2)SourceDiskDrives в txtsetup.sif. Подумал, что неправильно написал, потому что строки там выглядели совсем не так, как в статье, а писал по аналогии с другими строками. Документации по поводу того, как надо писать этот добрый десяток параметров, не нашел.
3)Посмотрел, а не входит ли этот файл с драйвером в стандартную поставку. Оказалось что входит. В голове назрел план )).
Предположение было такое: Винда при установке подхватывает мой драйвер, который лежит в $OEM$, и потом успешно переписывает себя из дистрибутива на винты, при этом помечая, что поставилась она на устройство с таким-то ID. Потом, так как в дистрибутиве драйвер не содержит инфы про мою ServeRAID-овскую железку, при загрузке возникает немой вопрос - че делать, ведь винда установлена на устройство, к которому нет драйвера. Соответственно появилось два варианта решения - играться с ключом OemPreInstall и внаглую заменить драйвер в дистрибутиве. Второй вариант возможно стоит пояснить. В дистриб винды изначально входит файл nfrd960.sys. Это драйвер к RAID-устройствам. Один этот файл обслуживает тучу разных контроллеров. Драйвер, идущий на диске ServeRAID - файл nfrd960.sys, только больше виндовского раза в полтора. Поэтому и возникло желание заменить его прямо в дистрибутиве. Нашел в IA64 файл nfrd960.sy_. Запаковано cabinet. Запаковано, блин.. Распаковать-то просто. Чем запаковать мой файл? Раньше у меня было жесткое впечатление, что рядом с программой expand (распаковка Cabinet) должна лежать прога compress или что-то типа того. Нифига. После получасовых поисков нашел в инете CabManager, которым собственно и запаковал nfrd960.sys в nfrd960.sy_. В общем положил это все в дистрибутив ( "А? Что? Что Вы, это так и было!" ), записал болванку и начал ставить по-новой. С ключом OemPreInstall играться не стал, т.к. не нашел инфы про него. Возможно (сейчас я в этом уверен на 95%), что при установке этого ключа мой файл из $OEM$ был бы записан на винт вместо оригинального, и проблема была бы решена. Но, я уже писал болванку. 40 минут установки и ребута, грузим виндовс. Практически с замиранием сердца смотрю на бегущие квадратики.. на винты.. ВИНТЫ!! Короче, они заморгали.. Хех. Радостно так заморгали )). ОНО загрузилось примерно за минуту. Радости не было предела )).
Это драфт. Буду править. Добавлю конкретные строки в установочных файлах, имена файлов и ссылки, а также подправлю неточности.
**********************************
Итак, начнем. Занесло значит меня ставить Win2003 Server Enterprise Edition for Itanium Systems (Это 64-bit). Закупили мы сервер с причиндалами (IBM xSeries 455), собственно винду.
День первый.
Приехал я читать документацию. Поставил рейд 5-го уровня, с диска ServeRAID. Вроде все, как обычно, но оказалось, что от жизни я все же немного отстал. В этом сервере в биосе вшито что-то типа мини-юникса. Зовется EFI Shell, нечто вроде стандарта для 64-битных машинок такого уровня. Экзешники имеют расширение .efi, на диске с виндой есть файлик setupldr.efi, который предлагается запустить. (На самом деле, этот шелл оказался крайне удобной штукой, там куча команд полезных, бутменеджер, даже драйвера есть для разных устройств. По идее, можно даже DOS поставить, и оно будет пахать. Во всяком случае, встроенная поддержка FAT32 там есть). Ну, с документацией не поспоришь, запускаем сей файлик с диска (а, да, винды лицензионные, диск - точная копия оригинального). Получаем стандартный синий экранчик установки виндов, долго все это дело (драйвера) грузятся с диска (у IBM-а почему-то традиционно дерьмовые cd-приводы). После чего винда довольно заявляет, что винтов-то у меня и нету. Возмущения типа "Как нету?? А вот же 5 винтов на SCSI RAID торчит из EXP400 модуля!!" оставим, благо опыт установки винды на сервера IBM какой-то имеется, и известно, что стандартный сказевый рейд-контроллер ServeRAID виндой автоматом не определяется (Надежда на то, что в новенькой винде драйвер этой железки все же будет встроен, не оправдалась). Значит, нужен драйвер. Вот тут у меня начали зарождаться подозрения, что грозит мне немерянный геморрой. Ибо винде драйвер нужен не иначе как на диске A: (читай - дискете), а в этом сервере, во-первых, вообще непонятно, что есть диск A:, а во-вторых, дисковод не предусмотрен конструкцией в принципе. Доступные слоты - 2 под cd-приводы, типа ноутбучных и одинокий USB в углу. Поиски USB-флопика ( "Эй, мужик, у вас флопы юсбишные есть?" ) успехом не увенчались. Перекидывание драйвера на флешку и Подсовывание винде флешки тоже ни к чему не привели. Ну нету у него драйва A:. Посему полез я в инет, искать похожие случаи. Нашел, как ни странно, на форуме roverpc.ru. Автор топа рассказывал, как он ставил винду на ноут с SATA RAID и без флопа. Ахха, вот оно. Выцепив оттуда ссылку на англоязычный источник знаний, погрузился в изучение. В общем, все было несложно. Нужно было положить драйвер в папку I386 (я положил в папку IA64, учитывая что винда немного другая), положить его же вместе с inf-файлом в папку $OEM$/$1/drivers/ и прописать устройство в базу устройств винды (файл txtsetup.sif). После чего сделать файл winnt.sif (если его нет), настроить в нем автоматическую установку (которая unattended) и прописать путь к нашему драйверу. Что и было проделано. Также в статье приводилась ссылка на загрузчик для виндового дистрибутива, который предлагалось запихнуть на болванку, чтобы все было совсем хорошо. Но ссылка была битая, да и мы нашу винду запускали все равно ручками (через setupldr), поэтому на загрузчик я успешно забил. Суем болванку в сервер и ждем... Позитифф пошел уже на этапе синих экранчиков, когда в мелькании подгружаемых драйверов проскочило "IBM ServeRAID controllers", как я и писал в txtsetup.sif. Винда обнаружила все мои 210 логических гигов, весело форматнула их в NTFS, и пошла копировать файло. В этот момент я был уверен, что мне все удалось. Чашка кофе. Минут 25 установки. Кстати, при Unattended Installation многие вещи можно написать прямо в winnt.sif. Например, серийник

День второй.
Забыл сказать, что в первый день я дико замерз, потому что на улице было не жарко, и кондишн в серверной усердно держал градусов 16-18. Во второй день на улице было потеплее, да и в серверной особо не сидел.
Дома полистал инет, пообщался с парой людей. Убедили меня в том, что либо железка не работает, либо драйвера кривые. Лично я держал в голове еще один вариант - руки кривые. Но, все же, обновил firmware на биосе сервера.(Хотел еще на RAID-контроллере обновить, но че-то не врубился как это сделать опять же без флопа и без установленной ОС). Не помогло (в общем-то не очень надеялся). Что ж. Полез искать, что я сделал возможно неправильно. Варианты были разные.
1)Ключ OemPreInstall=YES в winnt.sif. Пропустил. Подумал, что не нужно.
2)SourceDiskDrives в txtsetup.sif. Подумал, что неправильно написал, потому что строки там выглядели совсем не так, как в статье, а писал по аналогии с другими строками. Документации по поводу того, как надо писать этот добрый десяток параметров, не нашел.
3)Посмотрел, а не входит ли этот файл с драйвером в стандартную поставку. Оказалось что входит. В голове назрел план )).
Предположение было такое: Винда при установке подхватывает мой драйвер, который лежит в $OEM$, и потом успешно переписывает себя из дистрибутива на винты, при этом помечая, что поставилась она на устройство с таким-то ID. Потом, так как в дистрибутиве драйвер не содержит инфы про мою ServeRAID-овскую железку, при загрузке возникает немой вопрос - че делать, ведь винда установлена на устройство, к которому нет драйвера. Соответственно появилось два варианта решения - играться с ключом OemPreInstall и внаглую заменить драйвер в дистрибутиве. Второй вариант возможно стоит пояснить. В дистриб винды изначально входит файл nfrd960.sys. Это драйвер к RAID-устройствам. Один этот файл обслуживает тучу разных контроллеров. Драйвер, идущий на диске ServeRAID - файл nfrd960.sys, только больше виндовского раза в полтора. Поэтому и возникло желание заменить его прямо в дистрибутиве. Нашел в IA64 файл nfrd960.sy_. Запаковано cabinet. Запаковано, блин.. Распаковать-то просто. Чем запаковать мой файл? Раньше у меня было жесткое впечатление, что рядом с программой expand (распаковка Cabinet) должна лежать прога compress или что-то типа того. Нифига. После получасовых поисков нашел в инете CabManager, которым собственно и запаковал nfrd960.sys в nfrd960.sy_. В общем положил это все в дистрибутив ( "А? Что? Что Вы, это так и было!" ), записал болванку и начал ставить по-новой. С ключом OemPreInstall играться не стал, т.к. не нашел инфы про него. Возможно (сейчас я в этом уверен на 95%), что при установке этого ключа мой файл из $OEM$ был бы записан на винт вместо оригинального, и проблема была бы решена. Но, я уже писал болванку. 40 минут установки и ребута, грузим виндовс. Практически с замиранием сердца смотрю на бегущие квадратики.. на винты.. ВИНТЫ!! Короче, они заморгали.. Хех. Радостно так заморгали )). ОНО загрузилось примерно за минуту. Радости не было предела )).