Автоматическая установка компонент windows

Автоматическая сетевая установка и настройка Windows

автор: Александр Дейтер
дата последнего исправления: 29.03.2005

Трудно найти себе занятие более унылое и бесполезное, чем регулярная установка Windows на рабочие места. Эта задача усугубляется необходимостью установки дополнительного програмного обеспечения и его настройкой. В природе существует множество коммерческих продуктов для развертывания приложений в масштабах предприятия, способных сделать администратора счастливым. Но все они работают в среде Microsoft Windows и представляют собой готовые закрытые решения. По разным причинам сложилось так, что на серверах , которые я обслуживаю работает програмное обеспечение Open Source. Поэтому мне пришлось строить счастье своими руками. Эта статья посвящена автоматической сетевой установке и настройке Windows со всем необходимым для работы програмным обеспечением.

Принятые обозначения

  1. Команды shell и command prompt: $ ls -l
  2. Пути и имена файлов: C:\file.txt
  3. Директивы конфигурационных файлов: SetHandler perl-script

Сервера

Рабочие станции

Програмные пакеты на стороне клиента

Програмные пакеты на стороне сервера

Подготовка дистрибутива Windows XP

Нам необходимо подготовить дистрибутив, который помимо Windows XP включит бы в себя дополнительные драйвера, программы и пакеты, необходимые для полноценной работы пользователей на их рабочих местах. Последовательность наших действий:

  1. Создадим какой-нибудь каталог, например, c:\WinXP-SP2.RUS
  2. Скопируем в этот каталог все содержимое установочного диска Microsoft Windows XP Professional RUS Corporate
  3. Обновим установочные файлы Windows XP добавлением пакета обновления 2 (SP2). Для этого выполним команду:

Необходимо заметить, что процедура обновления корректно работает только под Windows XP (под Windows 2000 программа выполняет недопустимую операцию). Процесс обновления занимает несколько минут и выглядит примерно так:


извлечение файлов

обновление общей папки Windows

завершение интеграции

Полученный таким образом дистрибутив Windows XP Professional RUS Corporate SP2 самодостаточен, т.е. его можно снова записать на CD и использовать для установки
Используя диспетчер установки, создадим дистрибутив, который может быть установлен в автоматическом режиме на основе файла ответов. Для этого запустим программу setupmgr.exe (доступна в пакете «Средства развертывания пакета обновления 2 (SP2) для Windows XP») и по шагам ответим на ее вопросы:


диспетчер установки Windows

файл ответов

тип установки

продукт

взаимодействие с пользователем

дистрибутивный общий ресурс

размещение файлов установки

расположение дистрибутивного общего ресурса

лицензионное соглашение

имя и организация

параметры экрана

часовой пояс

ключ продукта

имя компьютера

пароль администратора

сетевые компоненты

рабочая группа

телефония

язык и стандарты

языки

параметры обозревателя и оболочки

каталог установки Windows

установка принтеров

однократно выполняемые команды

дополнительные команды

размещение файла ответов

копирование файлов

завершение работы диспетчера установки
Выспросив у нас всю подноготную диспетчер установки должным образом разместит установочные файлы и файл ответов unattend.txt в каталоге c:\windist :

Редактирование файла ответов

Дополнение дистрибутива

Добавление драйверов устройств

В каталоге c:\windist необходимо создать поддерево каталогов, в котором мы разместим драйвера PNP устройств. Пути в этом дереве должны совпадать с путевыми именами, описанными нами в секции [Unattended] файла unattend.txt . Все что будет помещено в каталог $$ программа установки скопирует в каталог Windows. При этом не важно как он будет называться: Windows, WINNT, WindowsXP). А все, что будет помещено в каталог $1 программа установки скопирует в корневой каталог диска, на который будет установлена система (например, C:\ ). Например, если поместить программу netsvc.exe в c:\windist\$oem$\$$\system32 , то во время установки она будет скопирована в c:\windows\system32\netsvc.exe :

Читайте также:  Создание снимка системы windows

В каждом каталоге, описанном при помощи OemPnPDriversPath в секции [Unattended] файла unattend.txt программа установки будет искать inf файлы и драйвера устройств.

Добавление программ

Microsoft Office 2003

Сначала произведем административную установку Microsoft Office 2003. Для этого нужно выполнить:

Программа установки получив интересующие ее сведения создаст административную установку Microsoft Office 2003 в каталоге c:\Office :


размещение и ключ продукта

лицензионное соглашение

ход выполнения установки

завершение установки

Теперь обновим установочные файлы Microsoft Office 2003 добавлением пакета обновления 1 (SP1). Для этого сначала разрернем пакет обновления в каталог c:\o3ksp1 , выполнив команду:

C:\>Office2003SP1-kb842532-fullfile-rus.exe /c /t:c:\o3ksp1


лицензионное соглашение

извлечение файлов

После чего, находясь в каталоге c:\o3ksp1 , выполним команду:

C:\o3ksp1>msiexec /p MAINSP1ff.msp /a c:\Office\PRO11.MSI

которая обновит дистрибутив Microsoft Office 2003 до актуального состояния:


подготовка к установке

подготовка к установке

копирование новых файлов

завершение установки

Для создания пакетной установки Microsoft Office 2003 воспользуемся программой Custom Installation Wizard из Office 2003 Resource Kit Toolbox:

custom installation wizard

select MSI file

open MST file

select MST file

install path

select install components

modify shortcuts

save changes

finish

Таким образом, для полностью автоматической установки Microsoft Office 2003 необходимо выполнить команду:

которая установит зараненее выбранные компоненты без взаимодействия с пользователем. Теперь скопируем содержимое каталога c:\Office в каталог c:\windist\$oem$\addon\of для включения Microsoft Office 2003 в дистрибутив Windows XP.

Adobe Reader 6

Запустим программу установки Adobe Reader 6, но сам продукт ставить не будем. Вместо этого, пройдя несколько шагов мастера установки:


подготовка к установке

подготовка к установке

Acrobat Reader setup

Acrobat Reader last

скопируем файлы "Adobe Reader 6.0.2 CE.msi" и "Data1.cab" из каталога "C:\WINDOWS\Cache\Adobe Reader 6.0.1\RUSMIN" в каталог c:\windist\$oem$\addon\ar для включения Adobe Reader 6 в дистрибутив Windows XP. Чтобы не иметь проблем с длинными именами, содержащими пробелы, файл "Adobe Reader 6.0.2 CE.msi" переименуем в ar.msi . Для автоматической установки MSI пакета достаточно выполнить команду:

которая установит пакет без взаимодействия с пользователем.

WinRAR 3

Для автоматической установки WinRAR 3 достаточно запустить программу установки с параметром /s:

которая установит компоненты WinRAR по умолчанию.

SUN Java 2 Runtime Environment

Для автоматической установки Java 2 Platform Runtime Environment достаточно запустить программу установки со следуюущими параметрами:

C:\>jre.exe /s /v"/qn ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1 REBOOT=Suppress JAVAUPDATE=0"

которая установит все компоненты JRE и зарегистрирует Java плагин для Internet Explorer и Mozilla. Кроме того, будет отключена функция автоматического обновления.

Microsoft .NET версии 1.1

Поступаем так же как и с Adobe Reader 6. Запускаем программу установки:


Microsoft .NET framework

лицензионное соглашение

затем ищем во временном каталоге %TEMP% файлы netfx.msi и netfx1.cab и скопируем их в каталог c:\windist\$oem$\addon\dn для включения Microsoft .NET в дистрибутив Windows XP. Для автоматической установки MSI пакета достаточно выполнить команду:

которая установит пакет без взаимодействия с пользователем.

1С Предприятие

Сначала необходимо создать файл ответов для программы установки. Для этого 1С Предприятие необходимо установить на какую-нибудь машину, запустив программу установки с ключем /r (record). В этом случае программа установки создает файл ответов, в который записывается последовательность хода установки:


добро пожаловать!

тип установки

информация о пользователе

информация о пользователе

каталог установки

группа программ

копирование файлов

конфигурация

завершение установки

В дальнейшем этот файл можно использовать для точно такой же установки, но уже без взаимодействия с пользователем:

Oracle Client

Mozilla

Программа установки Mozilla имеет нексколько ключей, которые позволяют установить продукт в автоматическом режиме:

Читайте также:  Эмулятор ios iphone для windows

C:\>mozilla-win32-1.7.2-ruRU-installer.exe -ma -ms -ira -hideBanner

После такой установки необходимо скопировать файлы автонастройки в каталог MOZILLA_HOME . Это позволит Mozilla автоматически настраивать браузер, прокси, учетные записи электронной почты и news конференций для каждого пользователя. Кроме того, для использования Mozilla в качестве браузера и почтового клиента «по умолчанию» необходимо поправить реестр Windows. Мой mozilla.reg. Процессу автоматической настройки Mozilla посвящена целая статья: Автоматическая настройка Mozilla

Macromedia Flash Player

Программа установки Macromedia Flash Player имеет ключ, который позволяет установить продукт в автоматическом режиме:

программа установки разворачивает пакет и регистрирует плагин для Mozilla.

Изменение настроек Windows

Изменение имени машины

В файле ответов unattend.txt мы дали указание программе установке самой выбирать имя машины, на которой происходит установка Windows XP. У нас для всех рабочих станций существуют DNS записи, поэтому логично давать имя машине в соответствии с базой данных DNS. Для этого в конце установки, когда система уже установлена и ее сетевой интерфейс сконфигурирован, выполним программу, которая назначит компьютеру имя, соответствующее его адресу:

Изменение прочих параметров

Собираем все вместе

Настройка UNIX сервера

Настройка DHCP

Настройка TFTP

Установим из дерева портов TFPF сервер и опишем его в /etc/inetd.conf : в /usr/local/etc/tftpd.rules мы опишем правила преобразование имен файлов: В результате получив в запросе имя файла \System32\PCpci5.Sys TFTP сервер будет искать файл /system32/pcpci5.sys . Скопируем наш дистрибутив на сервер, в каталог /home/tftpboot/wxp-pro.rus (имя каталога wxp-pro.rus должно совпадать с путевым именем, которое мы описали как SetupSourceDevice секции [SetupData] файла unattend.txt ). Как Вы уже поняли все имена каталогов и файлов в /home/tftpboot/wxp-pro.rus/i386 нужно перевести в нижний регистр. Это можно сделать при помощи FAR Manager или простым shell скриптом: Для сетевой загрузки Windows XP нужно скопировать из дистрибутива в /home/tftpboot следующие файлы: bootfont.bin, ntdetect.com, setupldr.bin и startrom.com . После чего файл setupldr.bin нужно переименовать в ntldr и пропатчить при помощи fixloader.py , который входит в состав binl сервера:

Ну и наконец последний шаг. Скопируем наш файл ответов unattend.txt в /home/tftpboot/winnt.sif . Именно с таким именем там будет искать его загрузчик ntldr .

Настройка samba

Настройка binl

Из полученного нами дистрибутива Windows XP необходимо скопировать по маске файлы net*.in_ на сервер, например, в каталог /home/samba/reminst/inf и распаковать при помощи команды:

после чего файлы net*.in_ можно удалить. Кроме дистрибутивных INF файлов необходимо скопировать INF файлы от всех драйверов сетевых карт, которые установлены в наших рабочих станциях. При помощи infparser.py , который входит в состав binl сервера скомпилируем INF файлы:

$ ./infparser.py /home/samba/reminst/inf
Compiled 955 drivers

результатом его работы будет файл devlist.cache , расположенный в текущем каталоге.

Первая установка

Запустим binl сервер в интерактивном режиме:

При старте он ищет в текущем каталоге файл devlist.cache. Для нормальной работы этот сервис необходимо запустить с ключем -d.
На любой рабочей станции, сетевая карта которой соответствует спецификации PXE, изменим порядок загрузки так, чтобы в первую очередь она пыталась загрузиться при помощи сетевой карты:


меню сетевой загрузки

DHCP запрос PXE клиента
В ответ на свой запрос PXE клиент получает IP адрес, маску сети, адрес шлюза, адреса DNS и WINS серверов и имя файла загрузки: startrom.com. После чего PXE клиент попросит у TFTP севера загрузчик: получит его и передаст ему управление. В дистрибутиве есть два загрузчика: startrom.com и startrom.n12, различие между которыми состоит в том, что startrom.com в течении 5 секунд просит подтверждения сетевой загрузки у пользователя путем нажатия клавиши F12, а startrom.n12 сразу производит сетевую загрузку Windows без подтверждения пользователя. Кроме того, Вы можете организовать сетевую загрузку при помощи других программ, например, bpbatch или pxelinux, возможности которых намного превышают возможности startrom. Итак, после запуска программа startrom.com в течении 5 секунд ждет нажатия клавиши F12:
Читайте также:  Acer обновление bios windows 10

startrom.com в ожидании
если мы ответим ему нажатием клавиши F12 он продолжит сетевую загрузку, в противном случае startrom.com вернет управление PXE клиенту, который в свою очередь завершит свою работу и BIOS попытается загрузить компьютер со следующего по списку устройства, например, с жесткого диска:

завершение работы PXE клиента
Однако продолжим именно сетевую загрузку и нажмем клавишу F12. После чего startrom.com загрузит с TFTP сервера ntldr, который обладает уже большим интеллектом: ntldr загрузит с TFTP сервера файлы bootfont.bin (русский шрифт) и ntdetect.com: В свою очередь, ntdetect.com производит начальную дигностику оборудования, во время которой он выясняет производителя (Vendor ID) и модель (PCI ID) сетевой карты:

ntdetect.com
далее с TFTP сервера забирается наш файл ответов winnt.sif: и загрузчик шлет запрос binl серверу в котором сообщает сведения о сетевой карте и ожидает получить ответ, содержащий имя драйвера. binl сервер получает запрос и ищет в devlist.cache указанного производителя и модель карты. Если описание этой карты присутствовало в одном из INF файлов, binl сервер шлет ответ клиенту, в котором содержится имя драйвера сетевой карты: Если описание карты отсутствует, клиент получает ответ «Driver not found»: и сетевая загрузка на этом прекращается:

сетевая карта неизвестна
После того, как загрузчик узнал имя драйвера сетевой карты, он загружает с TFTP сервера большое число INF файлов и драйверов, затем пытается загрузить указанный драйвер сетевой карты, ожидая найти его в каталоге wxp-pro.rus/i386: Но наш дистрибутив содержит только установочные файлы, а все драйвера содержатся внутри файла wxp-pro.rus/i386/driver.cab. Поэтому необходимо вручную положить в каталог wxp-pro.rus/i386 SYS файлы для каждой сетевой карты. Если этого не сделать, то загрузка прервется с сообщением:

драйвер не найден
Добавим файл pcntpci5.sys в каталог wxp-pro.rus/i386 и начнем установку заново. В ходе установки будут загружены необходимые драйвера устройств и ядро операционной системы. При старте ядро получает параметры, описанные нами как OsLoadOptions в секции [SetupData] файла unattend.txt. Далее стартует процедура установки операционной системы. Она проверяет конфигурацию дисков и осуществляет разбивку и форматирование раздела для установки системы в соответствии с секцией [RemoteInstall] файла unattend.txt:

загрузка драйверов устройств

проверка конфигурации диска

создание и форматирование раздела
Далее программа установки проверяет только что созданный и отформатированный раздел на ошибки, подключается к SMB ресурсу, описанному нами как SetupSourceDevice в секции [SetupData] файла unattend.txt и начинает копирование всех файлов с этого ресурса. После завершения копирования файлов дистрибутива начинается первая фаза установки, она проходит в текстовом режиме и завершается перезагрузкой компьютера:

проверка раздела

копирование файлов

первая фаза установки
После перезагрузки начинается вторая фаза установки Windows XP, во время которой определяются устройства компьютера и устанавливаются драйвера найденных устройств. Потом происходит установка Windows XP, дополнительных программных продуктов, которые мы включили в наш дистрибутив и завершение установки:

начало второй фазы установки

подготовка к установке

установка устройств

установка компонент Windows XP

регистрация компонентов

завершение установки
После перезагрузки пользователь увидит приглашение, позвонит администратору и его машина будет включена в домен samba удаленно с машины администратора при помощи программы netdom.exe :

C:\>netdom join pc-name /Domain:komi /UserD:admin /PasswordD:* /UserO:Администратор /PasswordO:* /REBoot
Type the password associated with the domain user:
Type the password associated with the object user:
The command completed successfully.

Оцените статью