Установка Windows XP из Mini Windows XP по сети (PXE). Без геморроя с загрузчиками и драйверами.

Преамбула

В прошлой заметке Копия мы делали так, чтобы можно было грузить по сети Mini Windows XP из Hiren’s Boot CD 15.2.
Такой способ запуска Mini Windows XP заодно избавляет от необходимости подгружать с помощью BINL необходимые драйвера сетевых карт и ебли с загрузчиками. А значит, можно поставить и «большую» XP. По сети.

Организуем шару

Сделаем на нашем сервере отдельную шару под дистрибутив XP, у меня она уже была, т.к. раньше я тоже использовал немного другой способ установки XP с помощью специального Linux-окружения, но там надо было нажимать больше кнопок и вводить серийный номер. Поэтому в примере будет длинный и странный путь к шаре.

Прописываем в /etc/samba/smb.conf

[unatdistr]
        path=/home/pxe/tftp/distrib/windows/unatwinxp/distrxp
        public=yes
        browsable=yes
        read only=yes
        guest ok=yes

Перезагружаем samba-сервер.

Копируем в шару файлы с дистрибутива XP.

Обратите внимание, чтобы все успешно сработало, права на файлы должны быть установлены в 755.

Готовим файл ответов unattend.txt

Файл ответов — это специальный файл, который помогает автоматизировать установку Windows. Файл ответов Windows XP представляет собой обычный INI-файл, поэтому его можно сделать и вручную, но можно и автоматически. В комплект поставки самой Windows XP входит файл setupmgr.exe С установочного диска распаковываем в отдельный каталог из файла Support\Tools\deploy.cab файлы setupmgr.exe, ref.chm и setupmgr.chm.

В файле ref.chm хранится справка по параметрам файла ответа, может пригодиться, чтоб подправить вручную файл ответов.
Запускаем setupmgr.exe.
Далее несколько раз все оставляем по умолчанию:


Указываем, что не надо создавать отдельное хранилище для дистрибутива

Далее вводим имя пользователя и организацию, и больше не нажимаем «Далее», ходим по дереву в левой части окна и настраиваем то, что надо.

Внимание! Если вы создаете файл ответов для XP из версии выше, чем сама XP (Vista, 7, 8, 8.1, 10), то не открывайте «Часовой пояс», setupmgr.exe попытается узнать текущую информацию в Реестре Windows и упадет.

После завершения работы мастера, в каталоге с мастером найдем файл unatted.txt и немного его исправим.
Внимание! Править файл надо в редакторе, поддерживающим переносы строк Windows/DOS (CR+LF)

Например, добавим в секцию [UserData] параметр ProductID, содержащий лицензионный ключ, чтоб не надо было его вводить при установке. А добавление в секцию [Data] параметр OemSkipEula=Yes, чтоб не подтверждать принятие лицензионного соглашения во время установки, почему-то у меня не сработало.

Пример файла unatted.txt

Создаем BAT-файл для запуска установки

Алгоритм работы данного BAT-файла таков:

1. Проверить, есть ли по необходимому пути файл winnt32.exe
2. Если нет, подключить шару.
3. Подождать
4. Выполнить winnt32.exe с необходимыми параметрами.

Пример файла xpinstall.bat:

SET NETADDR=\\192.168.0.20\unatdistr
SET NETDRIVE=Z
SET INSTALLPATH=\os\winxp\
SET UNATTEND=W:\scripts\unattend.txt
SET SYSDRIVE=D

if exist %NETDRIVE%:%INSTALLPATH%i386\winnt32.exe goto INSTALL

net use %NETDRIVE%: %NETADDR%
sleep 5

:INSTALL
%NETDRIVE%:
cd %INSTALLPATH%
i386\winnt32.exe /s:%NETDRIVE%:%INSTALLPATH%i386 /syspart:%SYSDRIVE% /tempdrive:%SYSDRIVE% /unattend:%UNATTEND%
pause

На PasteBin

В принципе, в самом файле нет ничего интересного, но есть момент, на котором стоит остановиться. Это параметры запуска winnt32.exe:

/s:<путь> — путь к файлам дистрибутива, обязательно в конце указывайте каталог <code >i386, иначе не сработает.
/syspart:<буква_диска>— раздел, на который будет установлена ОС.
/tempdrive:<буква_диска> — раздел для временных файлов, он обязательно и под той же буквой должен быть доступен, как из WinPE, так и после перезагрузки. Вообще лучше всего поставить тот же раздел, что и системный. Установщик потом сам потрет все лишнее.
/unattend:<путь> — путь к файлу автоматизации установки (unattend.txt)

После двоеточий пробелы НЕ НУЖНЫ!

Полученный BAT-файл нужно положить в шару hbcdshare, созданную в прошлой статье, например в отдельный каталог scripts вместе с утилитой sleep и файлом unattend.txt, права исполняемым файлам надо установить в 755.

chmod 755 xpinstall.bat
chmod 755 sleep.exe

Минус данного способа. Перед установкой ОС, соответствующий раздел, указанный в параметрах /syspart и /tempdrive должен быть отформатирован и доступен из WinPE, а также этот раздел должен быть активным.

После запуска данного BAT-файла запустится программа установки, которая скопирует содержимое дистрибутива XP на жесткий диск, установит загрузчик, после чего необходимо будет перезагрузиться уже с жесткого диска, и продолжить установку.

Утилита InstallGenerator

Минус в использовании шары и скрипта запуска установщика с нее, в том, что если нужно поменять букву диска для установки, или адрес самой шары, то придется лопатить батник из Linux (шара для безопасности доступна в режиме Read Only).

Чтобы это можно было как-то побороть, наскриптил небольшую утилиту InstallGenerator. При необходимости что-то поменять вживую, можно запустить ее, указать другие пути для сохранения конфигов, адреса шары и других параметров.

Поступить также, положить в отдельный каталог в шаре для WinPE и поставить в каталоге права 755 (или 777).

chmod 755 *

При зппуске InstallGenerator из WinPE появится следующее окно:

Здесь можно будет выбрать нужные опции. Программа сгенерирует BAT-файл, скопирует файлы в указанное расположение, и, при необходимости, запустит скрипт.

Для генерации скрипта, программа берет данные из файла script.txt, так что его можно всегда подправить. Программа лишь заменяет строки между ! и # на соответствующие значения внутренних переменных.

Пример файла script.txt на PasteBin

Впрочем, я внедрил утилиту в готовый образ, который можно скачать ниже. Там никакие права менять не надо.

Скриншоты установки Windows XP из образа Mini Windows XP. И некоторые пояснения

Этап #1 — копирование файлов установки на целевой раздел.

Этап #2 — первый этап установки (текстовый) с жесткого диска.

Этап #3 — второй этап установки (графический) с жесткого диска. Тут надо будет все-таки подтвердить установку и принять лицензионное соглашение, а дальше все пойдет гладко

Потом установщик начнет обрабатывать unattend.txt в штатном режиме, у меня установлено, чтоб некоторые параметры он запросил, если я захочу их поменять, но по умолчанию вставил значения из unattend.txt

Далее все пойдет автоматом:

Готово!

Скачать

BAT-файл xpinstall.bat, sleep.exe и unattend.txt
Утилита InstallGenerator
Готовый образ WinPE с утилитой XPInstall (ярлык на Рабочем столе)

One Response to Установка Windows XP из Mini Windows XP по сети (PXE). Без геморроя с загрузчиками и драйверами.

  1. Pingback: Альтернативный способ установки Windows XP по сети (PXE) из Linux-окружения. | Персональный блог Толика Панкова

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *