Создание сервера установки windows

Универсальный сервер сетевой загрузки и установки. Начало.

Данная статья посвящена описанию настройки сервера сетевой загрузки и установки с его помощью разнообразных ОС.

Введение

Каждому системному администратору, даже не большой локальной сети, приходиться устанавливать или обновлять разнообразные операционные системы. Довольно часто конфигурация оборудования настолько разнообразна, что ни о какой установке ОС с заранее подготовленного образа установленной и настроенной системы, речи быть не может. Для компаний занимающихся разработками клиент-серверного программного обеспечения работа с СУБД Sybase SQL Anywhere [14], Oracle Database [13] и т.д. список ОС для тестирования серверной части продукта может быть очень большим. Работы по созданию кроссплатформенных приложений тоже требуют наличия разнообразных платформ. В этот список могут входить как все версии серверных и десктопных ОС от Microsoft, так и целый зоопарк популярных операционных систем семейства Unix. Так же время от времени возникает необходимость решения таких «насущных» задач как восстановление систем, загрузчиков, удаление вирусов и т.д. и т.п. Для этого администратору удобно иметь под рукой как минимум два live-дистрибутива (Windows и Unix). Из всего выше сказанного следует, что администратору необходимы носители на которых располагаются все эти ОС, а это достаточно большое количество дисков. Тем более, что в разнообразные системы желательно интегрировать последние сервис-паки и обновления, которые выходят достаточно часто. Это приводит к тому, что носители периодически необходимо перезаписывать, что неэффективно с точки зрения затрат времени.
Следует также отметить, что, из соображений безопасности и по причине экономии при комплектовании рабочих станций не всегда устанавливается DVD привод, а многие системы инсталлируются с DVD дисков. В такой ситуации облегчить жизнь системному администратору поможет сервер сетевой загрузки и установки операционных систем. В интернете существует огромное количество статей и сайтов посвященных этой теме. Но во многих случаях описание процесса установки уже не соответствует новым реалиям, так как написаны достаточно давно. После недавнего внедрения системы сетевой установки на новом сервере, возникло желание поделиться этим опытом.

Сетевая установка

Существует два стандартных варианта решения этой задачи. Для установки операционных систем семейства Windows существуют всем известные WDS (Windows Deployment Services) и SMS (Microsoft System Management Server). У Unix-подобных систем с давних пор была возможность установки разнообразными методами, в том числе и по сети. Нет сомнения, что для развертывания и установки Windows систем WDS удобен и выполняет свои обязанности, но для инсталляции операционных систем семейства Unix он не очень подходит.

Как известно, основным компонентом сервера сетевой установки является TFTP сервер. Его расположение (IP — адрес) указывается при помощи параметров DHCP. Если DHCP-сервер в вашей сети один, то перенаправлять сетевой загрузчик то на один TFTP сервер, то на другой для загрузки не получится. Поэтому нельзя объявить сразу два источника установки – такой сервер должен быть один. Существует решение для установки Linux систем с помощью Windows WDS — проект WDSLINUX [1]. Его основной минус заключается в том, что не все дистрибутивы поддерживают подключение по smb и http протоколу к серверу установки (для примера ]]> http://www.openfiler.com) ]]> . Обычно такие дистрибутивы требуют подключения по nfs. Мне хотелось получить универсальную схему для установки разных версий Microsoft Windows и Linux, а так же сетевую загрузку разнообразных «спасательных» систем.

Читайте также:  Яндекс скриншот для mac os x

Для начала немного теории. Принцип сетевой установки очень прост. При включении компьютера управление передается ПЗУ сетевой карты. Обычно используется среда PXE (Pre-Execution Environment). После распаковки в оперативную память, она активирует сетевую карту и начинает посылать широковещательный запрос в сеть для нахождения сервера DHCP. При ответе DHCP, PXE запрашивает у него IP адрес, который необходимо присвоить сетевой карте, маску сети, IP адрес сервера TFTP, имя файла для загрузки и т.д. Далее, если ответы на вопросы получены при помощи встроенного TFTP-клиента, PXE обращается к указанному серверу с запросом на получение указанного в параметрах файла. Если файл найден и получен то управление передается на него. Всеми последующими действиями будет руководить именно он.

Широкое распространение получил проект Питера Анвина (Peter Anvin) под названием — Syslinux [2]. Он имеет простые конфигурационные файлы и включен в поставку многих Linux дистрибутивов. На официальном сайте дается такое определение этому пакету: «SYSLINUX является загрузчиком для операционных системы Linux, который работает на MS-DOS/Windows FAT файловых системах. Он предназначен для простой загрузки и установки Linux. А также для создания спасательных и других специальных загрузочных конфигураций». В этот пакет входит PXELINUX, который является производной от SYSLINUX и используется для загрузки Linux с сетевого сервера. PXELINUX соответствует Intel PXE (Pre-Execution Environment) спецификации. Основой PXELINUX является файл «pxelinux.0» — это и есть загрузчик. Этот файл располагается в корне TFTP сервера. Его конфигурационные файлы размещаются в папке «/tftpboot/pxelinux.cfg/». После запуска на клиентской машине «pxelinux.0» скачивает с сервера и отображает файл «message». Это простой текстовый файл, в котором описаны доступные варианты загрузки. Затем он скачивает свой конфигурационный файл («/tftpboot/pxelinux.cfg/default») и переходит в режим ожидания ввода имени предоставленных конфигураций. Имя раздела пишется после метки label. В ответ на ввод имени варианта установки «pxelinux.0» начинает выполнять действия описанные в нем. Для создания простого текстового меню файл «/tftpboot/pxelinux.cfg/default» может выглядеть так:

default pe
label xpinstall # Установка Windows XP
kernel startrom.0
label win7 # Установка Windows 7
kernel sources/pxeboot.0

label pe # Запуск Live-CD WindowsPE
pxe keep
kernel pe.0
append initrd=winpe.wim ramdisk_size=262144
label suse112 # Установка openSuSe11.2
kernel suse/suse112x32/linux
append initrd=suse/suse112x32/initrd ramdisk_size=65536 install=nfs://192.168.1.7/ srv/tftpboot/suse/suse112x32/CD1/

Так же возможно создание графического меню выбора операционных систем (рис.1-3).

Рисунок 2 Меню «спасательных» систем и утилит

Рисунок 3 Меню установки ОС

Установка Windows по сети

Короткое введение.

Установка Windows по сети – грозный набор слов, от которых у вас, наверняка, в зобу дыхание сперло. Мы уже успели изучить всевозможные способы установки любой системы семейства Windows, за исключением лишь VISTA. Эта система по вполне понятным причинам не прижилась в нашем мире, но сейчас не об этом.

Читайте также:  Forkplayer для компьютера linux

Для чего же человечество используется такой метод инсталляции. Установка Windows по сети используется в тех случаях, когда один из компов, по тем или иным причинам, обделен USB-портов, а так же дисководом. То есть в нем нет места для сменного носителя с записанным образом винды. В качестве альтернативы можно выбрать массу методов, к примеру, самый простой – пойти и купить необходимые USB-модули. Но мы пойдем по сложному пути, будем переустанавливать винду по локальной сети.

При такой установке соблюдается довольно сложный принцип работы компьютера. Сетевая карта становится загрузочным аппаратом, своеобразным жестким диском. Как только на материнскую плату будет подано питание, сетевая карта получит свой личный IP-адрес, так же в работу включится стандарт PXE. IP-ник выдается DHC-сервером, а затем этот адрес передается и TFTP-серверу. Сетевая карта начинает загрузку с TFTP, после чего, на пост заступает специальное сетевое приложение, но об это чуть позже.

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

Кстати, в такую же ситуацию же ситуацию периодически попадают сетевые администраторы. Только представьте, бедному программеру необходимо установить винду на 20 машин, а под рукой имеется только один привод. И конечно же, у нас будет ограниченный запас времени.

Установка Windows по сети требует тщательной подготовки. Для начала, вам необходимо подготовить к работе нормально работающий компьютер с предустановленной ОС семейства Windows, патч-корд (или сетевой кабель, о котором все вечно забывают), набор Windows AIK для автоматической установки, программный эмулятор серверов DHCP и TFTP (можно использовать tftpd32). Для того, чтобы установка Windows по сети стартовала успешно, потребуется дистрибутив самой системы, а так же приложение для работы с ISO-файлами.

Непосредственно установка.

Итак, поехали. Первым делом, жизненно необходимо скачать набор для автоустановки выбранной вами винды – набор AIK. Кстати, здесь не требуется выполнять проверку на подлинность винды, да и самой программе это как-то параллельно. После этого, мы должны сделать выбор – какую операционку лучше всего поставить? Опуская «ювелирные» подробности, отметим, что процесс первоначальной настройки серверов и, собственно, вашей машины – единый для всех версий винды. Различаться будет лишь процесс установки, о котором уже спето немало песен.

Короче, предлагаю рассмотреть содержимое раздела «установка Windows по сети» на примере 7-ки. Это классика наших дней, поэтому начнем с этого примера. Скачайте или же купите дистрибутив сей программы. При дальнейших действиях, мы должны использовать машину с исправно работающей системой.

Нам потребуется немного поработать с виртуальным образом 7-ки, поэтому найдите соответствующую программку, которая может быстро монтировать ISO-образы. Можно было бы использовать Daemon Tools, о которой до сих пор слагают легенды и поют песни. Однако для наших целей придется использовать Windows® (AIK). Смонтируйте образ 7-ки в сей программе, после чего необходимо запустить сам процесс установки. Кстати, основное рабочее окно AIK выглядит следующим образом.

Откройте меню «Пуск». В нем потребуется обнаружить раздел Microsoft Windows AIK, а рядом с ним – «Командная строка» или что-то типа этого. В общем, вы должны выбрать это меню, после чего на дисплее появится консоль.

В новом окошке с кучей непонятных символом и египетскими иероглифами, введите пару несложных команд. Для примера я буду показывать шаблон, по которому вы, уважаемые юзеры, сможете потом провернуть это дело со своими машинами. Итак, вводим:

Читайте также:  С windows system32 audioses dll

copype.cmdx86 x:\winpe

Затем нажимаем ENTER и вводим следующую строку:

imagex /mountrw winpe.wim 1 mount.

Буквой X здесь обозначено имя любого локального диска, на вашем компе.

Смонтированный образ системы теперь лежит в каталоге X:\winpe\mont. Сей образ носит название Winpe.win.

Установка Windows по сети на следующем этапе потребует от вас отключить механизм ручного подключения сетевого диска и запуск приложения собственными пальцами. Короче, решить эту задачу можно после маленькой корректировки командного файлика startnet.cmd. Если вы не умеете пользоваться поиском в проводнике, то ищите сей файл в папке x:winpe\mont\windows\system32. Откройте этот файлик и изучите его «внутренности», они должны выглядеть так:

А теперь переведем все это на русский язык. Компьютер, с которого начнут загружаться системные файлы, будет иметь следующий адрес- 192.168.1.1. Если вы обнаружили там другой адрес, то впишите это значение. Затем, подключите к рабочей машине другой комп, куда будет устанавливаться Windows по сети. Нам потребуется заранее создать пользователя для использования данной системы с именем install и паролем install. Используем команду:

Net user install /add/passwordchg:no

Установка Windows по сети продолжается, теперь необходимо размонтировать системы, вводом команды:

Imagex.exe /unmount/commit mount

Далее хватаем мышку, после чего создаем папку, из которой будут копироваться файлы дистрибутива по сети. Не будем «париться» с названием, возьмем имя x:\upload. Внутри сетевой папки нужно вставить еще один каталог под названием boot. Именно здесь будут лежать загрузочные файлы для инсталляции через сеть.

Теперь берем и копируем в созданный каталог папку sources с диска, на котором записана Windows 7. После этого мы снова переходим к консоли и заполняем папку boot, попутно обрабатывая файлы сетевой загрузки. Они должны быть доступными для выполнения. Вводим в консоли следующее:

1) imagex.exe /mount x:\winpe\winpe.wim 1 x:\winpe\mount.
2) xcopy /ey x:\winpe\mount\windows\boot\pxe x:\upload
3) xcopy /iy x:\winpe\mount\windows\boot\fonts x:\upload\boot\fonts
4) copy /y x:\winpe\ISO\boot\boot.sdi x:\upload\boot
5) imagex.exe /unmount d:\winpe\mount

Далее копируем образ winpe.win в папку x:\upload\boot. Можно использовать команду:

copy /yd:\winpe\winpe.wind:seven\boot.

Доступ к папке с образом должен быть открыт для всех пользователей. Теперь мы создаем хранилище для загрузочных параметров, в помощь прилагается скрипт createbcd.cmd, который должен лежать в папке x:\winpe\. Содержимое сей скрипта должно выглядеть следующим образом:

На этом установка Windows по сети еще не окончена, сделано только полдела. В качестве продолжения вводим команду:

Createbcd.cmdx:\upload\boot

После этого, настраиваем работу программы tftpd32. Подробная инструкция представлена на следующих рисунках:

Концовка.

К сожалению, на этом самая интересная часть сей раздела подходит к концу. Установка Windows по сети начнется автоматически, как только вы законнектите два компа через сетевой кабель, а затем выставите загрузку системы через сетевую карту в BIOS.

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

Как только увидите такую картину, то возьмите с полки пирожок! Наша задача выполнена на отлично! Узнать подробнее о том, как поставить Windows 7 вы можете в этой статье или на видео ниже.

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