В прошлой заметке Копия мы делали так, чтобы можно было грузить по сети 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.
Алгоритм работы данного 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
В принципе, в самом файле нет ничего интересного, но есть момент, на котором стоит остановиться. Это параметры запуска 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 на жесткий диск, установит загрузчик, после чего необходимо будет перезагрузиться уже с жесткого диска, и продолжить установку.
Минус в использовании шары и скрипта запуска установщика с нее, в том, что если нужно поменять букву диска для установки, или адрес самой шары, то придется лопатить батник из Linux (шара для безопасности доступна в режиме Read Only).
Чтобы это можно было как-то побороть, наскриптил небольшую утилиту InstallGenerator. При необходимости что-то поменять вживую, можно запустить ее, указать другие пути для сохранения конфигов, адреса шары и других параметров.
Поступить также, положить в отдельный каталог в шаре для WinPE и поставить в каталоге права 755 (или 777).
chmod 755 *
При зппуске InstallGenerator из WinPE появится следующее окно:

Здесь можно будет выбрать нужные опции. Программа сгенерирует BAT-файл, скопирует файлы в указанное расположение, и, при необходимости, запустит скрипт.
Для генерации скрипта, программа берет данные из файла script.txt, так что его можно всегда подправить. Программа лишь заменяет строки между !
и #
на соответствующие значения внутренних переменных.
Пример файла script.txt
на PasteBin
Впрочем, я внедрил утилиту в готовый образ, который можно скачать ниже. Там никакие права менять не надо.
Скачать
— BAT-файл xpinstall.bat
, sleep.exe
и unattend.txt
— Утилита InstallGenerator
— Готовый образ WinPE с утилитой XPInstall (ярлык на Рабочем столе)