Уважаемые гости и пользователи форума!
Чтобы видеть ссылки на форуме - надо зарегистрироваться и иметь 1 пост на форуме. Для этого есть КУРИЛКА и там тема Здрасти.

[How To] Установка Windows XP по сети

В этом Вы найдёте самые разнообразные пошаговые инструкции по установке и обслуживанию системы.

Модераторы: rewuxiin, kulia

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
Аватара пользователя
SinglWolf
Контактная информация:
Откуда: Башкирия
Сообщения: 1758
Зарегистрирован: 23 янв 2012, 22:11

[How To] Установка Windows XP по сети

16 ноя 2013, 08:15

Установка Windows XP по сети
Как установить эту ОС, если нет DVD(CD)-привода? Будем устанавливать по сети, благо, что большинство компьютеров и всяких там note/net/ultra/book'ов эту фичу поддерживают. Будут, конечно, некоторые трудности в настройке, но они вполне преодолимые.
Для загрузки по сети нам нужен сервер PXE-boot [How To] Поднимаем сервер PXE-Boot на Debian 7
Создадим каталог для хранения дистрибутивов Windows и установочных файлов

Код: Выделить всё

mkdir -p /home/temp/xp
cd /home/temp/xp
# Копируем сюда на сервер содержимое установочного диска.
Распаковываем и переименовываем файлы для загрузки:

Код: Выделить всё

aptitude install cabextract unzip convmv
cd /mirror/tftp/
cabextract /home/temp/xp/I386/SETUPLDR.EX_
mv setupldr.exe ntldr
cabextract /home/temp/xp/I386/STARTROM.N1_
mv startrom.n12 startrom.0
cp /home/temp/xp/I386/NTDETECT.COM ntdetect.com
cp /home/temp/xp/BOOTFONT.BIN bootfont.bin
# Копируем сам дистрибутив и переводим имена всех файлов в нижний регистр:

mkdir /mirror/tftp/winxp
cp -R /home/temp/xp/* /mirror/tftp/winxp/
cd /mirror/tftp/winxp
convmv --lower -r --notest --replace *
Расшаривание по сети
Устанавливаем Samba и выставляем базовые настройки

Код: Выделить всё

aptitude install samba
dpkg-reconfigure samba
dpkg-reconfigure samba-common
Выставляем дополнительные настройки в файле /etc/samba/smb.conf

Код: Выделить всё

# nano /etc/samba/smb.conf

Код: Выделить всё

#======================= Global Settings =======================
[global]
# сначала производится вход с локальными логином и паролем клиента
security = user

# Если будет получен неправильный пароль, то клиенту будет дан гостевой доступ.
map to guest = Bad Password

## Browsing/Identification ###

. . . . . . . . .

#======================= Share Definitions =======================
[winxp]
path = /mirror/tftp/winxp
browsable = yes
read only = yes
guest ok = yes

[homes]
   comment = Home Directories
   browseable = no

. . . . . . . . .
Перезапускаем samba для применения новых настроек

Код: Выделить всё

/etc/init.d/samba restart
Обработка сетевых драйверов
Во время инсталляции Win XP должна получить информацию о сетевой карте и какой драйвер использовать. Установим ris-linux. Он написана на языке Python и поэтому, необходимо еще установить интерпретатор этого языка.

Код: Выделить всё

aptitude install python-minimal
Для настройки ris-linux понадобиться сам дистрибутив и пакет драйверов сетевых карт.
► Показать
а можно изготовить самостоятельно (это позволит разобраться как в дальнейшем добавлять новые сетевые карты и обновлять их драйвера).

Краткое описание как самому собрать пакет драйверов сетевых карт.

RIS сервер хранит информацию о драйверах в файле «nics.txt», туда она попадает при помощи скрипта «infparser.py». Скрипт выполняет поиск в указанной ему директории файлов *.inf, считывает информацию о «Vendor Id» (уникальный идентификатор производителя оборудования) производителя и записывает в файл «nics.txt» строку вида:
8086 4227 w39n50.sys w39n50
Создаем каталоги ris, ris/drv и ris/drv/sys в корне TFTP сервера:

Код: Выделить всё

mkdir /mirror/tftp/ris
mkdir /mirror/tftp/ris/drv
mkdir /mirror/tftp/ris/drv/sys
Затем необходимо скопировать и распаковать в папку /mirror/tftp/ris/drv файлы net*.in_ (из папки i386 дистрибутивного диска). Туда же следует скопировать дополнительно *.inf файлы необходимых для добавления сетевых драйверов. Файлы *.sy_ и *.sys копируем в /mirror/tftp/ris/drv/sys. После этого составляем список доступных драйверов:

Код: Выделить всё

root@debmirror:/mirror/tftp/ris # python infparser.py drv/
Compiled 6384 drivers
generated devlist.cache
generated nics.txt
Все, набор драйверов готов. Осталось скопировать содержимое каталогов drv/ и drv/sys/ в директорию с дистрибутивом Windows XP - /mirror/tftp/winxp/i386/. В итоге в этой папке должны расположиться ВСЕ *.inf и *.sys файлы сетевых карточек.

Продолжаем настройку ris-linux.

Скачиваем и распаковываем ris-linux в папку с именем /mirror/tftp/ris :

Код: Выделить всё

cd /mirror/tftp/
wget http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz
tar -xvf ris-linux-0.4.tar.gz
mv  ris-linux-0.4 ris
Теперь необходимо указать путь по которому располагается дистрибутив. Для этого открываем файл «binlsrv.py» и правим там строку:

Код: Выделить всё

BASEPATH = /mirror/tftp/winxp/
Запускаем WDS в режиме логирования для проверки :

Код: Выделить всё

./binlsrv.py -l binl.log
Succesfully loaded 6384 devices
Binlserver started... pid 7385
Мануал в активной разработке!


Настройка установщика


Создадим файл конфигурации winnt.sif

Код: Выделить всё

nano /mirror/tftp/winxp/winnt.sif
► Показать
Настройка syslinux
Добавим в основной конфигурационный файл ссылку на Windows XP

Код: Выделить всё

nano /mirror/tftp/pxelinux.cfg/default

Код: Выделить всё

default boot/menu.c32
menu title Boot menu

label Windows XP Professional SP3 RU network install
       kernel winxp/startrom.0

label bootHDD
        menu label Boot from HDD
        #menu default
        localboot 0x0
Меню должно смотреться так:
► Показать
Проблемы и их решение
Проблема 1. Согласно нашей файловой иерархии, установочные файлы ntldr, BOOTFONT.BIN, ntdetect.com и winnt.sif НЕ лежат в корневой папке TFTP сервера, а значит установщик startrom.0 их не получит. А должен искать в папке winxp.

Проблема 2. Согласно нашей файловой иерархии, sys файлы сетевых драйверов НЕ лежат в \distrib\i386, а значит установщик startrom.0 их не получит. А должен искать в папке winxp/drv/sys.

Проблема 3. Путь к файлу в Windows разделяется "/", а в Линуксе "\". Пути изначально неверные. Пути должны содержать именно "\".

Проблема 4. Windows при обработке файлов НЕ обращает внимание на регистр букв, а вот Linux обращает. Из-за этого Linux не может отдать файл на запрос типа BOOT.dll, когда по-факту нужно отдать BOOT.DLL. Имена всех запросов должны быть в маленьком регистре.

Проблема 5. Согласно нашей файловой иерархии, прочие установочные файлы НЕ лежат в папке distrib, а значит установщик startrom.0 их не получит. А должен искать в папке winxp/distrib.

Для решения этих проблем создадим правило переназначения имён файлов. Этим мы заставим наш tftp-hpa сервер преобразовывать поступающие от startrom.0 строки запросов, в "правильные", соответствующие нашей файловой иерархии и правилам именования.

Сначала создадим и откорректируем такое правило:

Код: Выделить всё

nano /mirror/tftp/winxp/tftpd.rules
Содержимое:
► Показать
Для решения проблемы 4, необходимо переименовать всех файлы в папке distrib в нижний регистр.
Создадим скрипт переименования.

Код: Выделить всё

nano /usr/local/bin/rn.sh
Текст скрипта:
► Показать
Делаем исполняемым и запускаем переименование

Код: Выделить всё

cd /usr/local/bin
chmod +x rn.sh
./rn.sh  /mirror/tftp/winxp/distrib
Напоследок нужно указать tftp-hpa путь к файлу правил.

Код: Выделить всё

dpkg-reconfigure tftpd-hpa 
В последнем окне "Дополнительные параметры сервера TFTP" выставляем опции
--secure -m /mirror/tftp/winxp/tftpd.rules -vvv
"-vvv" означает очень подробный вывод в лог "/var/log/syslog", "/var/log/daemon.log". Все пути в логах указываются относительно корневой папки tftp сервера (например /mirror/tftp/). Если проблем не наблюдается, то опцию рекомендую отключить.

Теперь всё должно работать.

Все вопросы сюда.
Мануал в разработке.

Вернуться в «Инструкции и учебники»