Часть 1. Лирическая.
Так как
компьютер у меня появился примерно в то же время, как и первый школьный ранец,
то к концу обучения в школе я уже неплохо зарабатывал как эникейщик. В месяц я
раз пять-семь переустанавливал Винду, делал это с дисков. Иногда на машинах не
было привода, либо был – не нерабочий, или не читал DVD диски…а если
и читал – то еле-еле, пыхтел. Диски тоже не всегжда были идеальными – большое количество
установок на них сказывалось.
В конце
концов в своем эникейском развитии я пришел к тому, что начал переустанавливать
винду через LAN. Это
имеет множество преимуществ. Во первых, скорость чтения с HDD ноутбука и
передачи по LAN намного превышал судорожное чтение лазером сомнительного
диска. Также, ставил сразу то, что могло подойти определенному пользователю –
кому то «лицензию», кому то сборку. В общем, это весьма и весьма удобно.
Итак, что же
необходимо для того, чтобы ставить Windows по сети и как это реализовывается? Немного лирики:
У Microsoft есть
RIS, которая
поддерживает все эти операции. Однако так как это все рассчитано на большие
сети, то в RIS была обязательна доменная
организация сети. А зачем мне поднимать домен на единственном LAN порту ноутбука,
который у меня где только не бывает.
Процесс
загрузки представляет собой следующий процесс. Как только компьютер включается,
начинает работать загрузчик, находящийся на сетевой карте. Эта карта обязана
поддерживать функция bootROM.
Карта получает IP адрес, а также получает адрес TFTP – сервера (той
самой «установочной» машины). Затем
сетевая карта обращается к TFTP серверу за определенным файлом, который, загрузив, и начинает
выполнять свою работу.
Если сетевая
карта bootROM не поддерживает, то тут на помощь может прийти Microsoft
Windows Remote Boot Disk Generator, который можно скачать тут. Программа эта
может помочь не всем, только 32 картам. Если ваша карта не является одной из
тридцати двух – вам на http://rom-o-matic.net/ .
Часть 2. Необходимые папки.
Итак,
подготавливаем свой рабочий ноутбук. Для этого создаем директорию d:/lanstart/ Там создаем папку WindowsXP. В ней создаем еще ISNTALL, куда копируем папки I386 и, если есть, папка $OEM$ (очевидно, что названия
папок могут быть любыми – но латиница желательна). Затем папку WindowsXP мы
делаем доступной по сети. Добавляем для группы ВСЕ привилегии на чтение.
Учетная запись гостя должна быть активирована.



Из
дистрибутива в папку WindowsXP копируем файлы ntdetect.com, setupldr.ex_, startrom.co_,
startrom.n1_. Теперь запускаем командную строку в этой папке и разархивирует
указанные файлы командой expand.
expand setupldr.ex_ ntldr
expand -r startrom.co_
expand -r startrom.n1_
Также копируем
файл bootfont.ini –
без него вся загрузка будет проходить на вражеском для нас языке. Затем копируем
драйвера сетевых карт. Это делается в несколько этапов. В папке WindowsXP создаем
директорию DRV и
используем команду (из папки WindowsXP):
expand D:\lanstart\WindowsXP\INSTALL\I386\net*.in_ -r
-f:*.inf D:\lanstart\WindowsXP\DRV
Этим мы файл
net*.in_ драйверы в соответствующую папку. Над
ними необходимо проделать следущие операции:
for %i in (D:\lanstart\WindowsXP\DRIVERS\*.inf)
do type %i | findstr ".sys,,," >>D:\lanstart\WindowsXP\DRIVERS\list
for /F "delims=," %f in (D:\lanstart\WindowsXP\DRIVERS\list)
do echo %f >> D:\lanstart\WindowsXP\DRIVERS\list.txt
Эти команды
создают и подготавливают файл list
для драйверов сетевых карт. Для добавления драйверов других карт необходимо
скопировать inf файл в папку D:\lanstart\WindowsXP\DRV\ а файл sys драйвера - в
папку D:\lanstart\WindowsXP\DRV\SYS\ А затем те, что в D:\lanstart\WindowsXP\DRIVERS\SYS\ , копируем в D:\lanstart\WindowsXP\INSTALL\I386
.
Часть 3. Необходимые программы.
Нам
понадобиться программа TFTPD32. В которой есть все, для того, что мы задумали.
Скачать ее можно здесь.
Сначала
настраиваем TFTP сервер, дл этого в Base Directory я указываю папку, где у нас
содержится операционка - D:\lanstart\WindowsXP\ . Отключаем все службы и
режимы, оставляем только DHCP сервер и TFTP сервер. В безопасности TFTP (Security) выбираем NONE. Включаем режим «Use anticipation window» - устанавливаем
значение 14320. Если с такими настройками загрузка будет вылетать, последний
режим нужно отключить (он отвечает за скорость загрузки).

Затем
настраиваем DHCP сервер. Для этого произвольно настраиваем диапазон IP адресов,
а вот в bootfile выбираем тот startrom.n12, что находится в D:\lanstart\WindowsXP\
. Маску указываем пошире – 255.255.255.0
Затем качаем
RIS-LINUX тут. Он нам необходим для использования BINL службы – с помощью нее
устанавливаемая система будет понимать, с какой сетевой картой она будет
работать. Для этого используем ris-linux и
интерпритатор Python.
Распаковываю
ris-linux в
директорию D:\lanstart\ris . Затем в командной строке заходим в этот каталог и
выполняем
infparser.py D:\lanstart\WindowsXP\DRV\
Если у вас
достаточно кармы, то на экран выйдет Compiled xxx drivers, где ХХХ – есть количетсво
драйверов, подвергшихся обработке. Затем запускаю binlsrv.py – в командной
строке так и пишем
binlsrv.py
Затем
скачайте тут файл winnt.sif. Внимательно просмотрите его и поправьте строку с
директориями:
Н вот
собственно и все. Можете приступать к установке, обязательно поставив в БИОСе нужные
галочки и бары.
Удачи.