В прошлой заметке Копия мы делали так, чтобы можно было грузить по сети 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.
Файл ответов — это специальный файл, который помогает автоматизировать установку 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-файла таков:
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
Впрочем, я внедрил утилиту в готовый образ, который можно скачать ниже. Там никакие права менять не надо.
Этап #1 — копирование файлов установки на целевой раздел.
Этап #2 — первый этап установки (текстовый) с жесткого диска.
Этап #3 — второй этап установки (графический) с жесткого диска. Тут надо будет все-таки подтвердить установку и принять лицензионное соглашение, а дальше все пойдет гладко
Потом установщик начнет обрабатывать unattend.txt
в штатном режиме, у меня установлено, чтоб некоторые параметры он запросил, если я захочу их поменять, но по умолчанию вставил значения из unattend.txt
Далее все пойдет автоматом:
Скачать
— BAT-файл xpinstall.bat
, sleep.exe
и unattend.txt
— Утилита InstallGenerator
— Готовый образ WinPE с утилитой XPInstall (ярлык на Рабочем столе)
Pingback: Альтернативный способ установки Windows XP по сети (PXE) из Linux-окружения. | Персональный блог Толика Панкова