Devils0411
04-08-2009, 15:18
Введение
Данная статья - продолжение темы [статья] Установка Windows XP по сети (наподобие RIS) (http://forum.oszone.net/thread-75297.html). Иногда бывает ситуация, когда необходимо устанавливать Windows XP с разными параметрами. Конечно можно каждый раз изменять файл winnt.sif с нужными параметрами для каждой установки. Но задается вполне логичный вопрос: "Насколько хватит вашего терпения менять параметры в winnt.sif, когда в вашем компьютерном парке 50 машин, а может и того больше, и к примеру на 10 из них нужно установить ОС по-разному?" Тут и приходит на помощь Мультизагрузка Windows XP по сети (http://unattendedxp.com/articles/pxelinux/)
И так приступим.
Подготовка каталогов и файлов
В директории D:\Netboot, создаются две директории. Каталог xp0 - для установки первого и второго варианта установки. И директорию xp1 – для установки третьего варианта. структура папок должна выглядить следующим образом:
Для папки xp0
-Netboot
--xp0
---I386
---$OEM$
Для папки xp1
--xp1
---I386
Каталоги xp0 и xp1 содержат дистрибутив операционной системы Windows XP (каталог i386). А также в случае с директорией xp0 еще и каталог $oem$.
Создаю файлы ответов: для первого варианта под именем xp001.sif; для второго варианта - xp002.sif; для третьего – xp101.sif. За основу был взят файл winnt.sif созданный в [статья] Установка Windows XP по сети (наподобие RIS) (http://forum.oszone.net/thread-75297.html)
Первый вариант:
xp001.sif
[data]
AutoPartition=0
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP0\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP0"
[RemoteInstall]
Repartition = No
UseWholeDisk = No
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0
[GuiRunOnce]
"%SystemDrive%\post_install\runonce.cmd""Читать дальше"
Второй вариант:
xp002.sif
[data]
AutoPartition=1
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP0\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP0"
[RemoteInstall]
Repartition = Yes
UseWholeDisk = Yes
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0
[GuiRunOnce]
"%SystemDrive%\post_install\runonce.cmd""Читать дальше"
Третий вариант:
xp101.sif
[data]
AutoPartition=0
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP1\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP1"
[RemoteInstall]
Repartition = No
UseWholeDisk = No
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0"Читать дальше"
Какой каталог использовать во время инсталляции задается с помощью SetupSourceDevice. Параметр OriSrc во время инсталляции не используется. Он задает каталог, где искать дистрибутив в случае добавления компонентов операционной системы.
Теперь необходимо сделать папку D:\netboot доступной по сети (расшарить) под именем netboot. Доступ предоставить группе Everyone (Все) право Read (Чтение).
Подготовка файлов ntldr и startrom.n12
Так как ntldr читает только файл winnt,sif то необходимо отредактировать ntldr. К сожалению, в Windows XP нет утилит, которые могут произвести замену содержимого файла, но зато есть язык программирования VBScript. С помощью этой программы (http://unattendedxp.com/articles/pxelinux/files/rep.vbs) можно произвести замену в файлах. Сохраняю ее в каталоге d:\netboot.
Так как раньше устанавливал дистрибутив Windows XP используя "Установка Windows XP по сети. RIS, но не Microsoft" (http://forum.oszone.net/thread-75297.html), то файлы ntldr и startrom.n12 у меня уже находились в каталоге D:\netboot\winxpsp2.
Для первого варианта установки заменяю все упоминания winnt.sif на xp001.sif и сохраняю отредактированный файл ntldr под именем xp001. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp001 xp001.sif
Для второго варианта меняю winnt.sif на xp002.sif и сохраняю под именем xp002. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp002 xp002.sif
Для третьего варианта установки меняю winnt.sif на xp101.sif и сохраним отредактированный ntldr под именем xp101. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp101 xp101.sif
Теперь необходимо отредактировать файл startrom.n12 и заменить все упоминания ntldr для первого варианта на xp001. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp001.0 xp001
Измененный файл сохраняю под именем xp001.0. Для второго и третьего варианта поступаю также.
Для второго варианта меняю ntldr на xp002 и сохраняю под именем xp002.0. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp002.0 xp002
Для третьего варианта - ntldr на xp101 и сохраняю под именем xp101.0. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp101.0 xp101"Читать дальше"
В итоге получилось, если в качестве загрузочного файла указать xp001.0 в свойстве "Boot file" DHCP Server, то инсталляция будет проходить по первому варианту с использованием файла xp001.sif. Соответственно, если при указании загрузочного файла указать xp101.0, то в процессе инсталляции будет использоваться файл ответов xp101.sif.
Настройка PXELINUX
Теперь нужен инструмент, который создаст интерфейс для выбора, какую производить установку. И это – pxelinux, входящий в состав syslinux. (http://www.kernel.org/pub/linux/utils/boot/syslinux/)
Оптимальный вариант syslinux - версия 3.31.
Распаковываю архив syslinux-3.31.zip в директорию c:\syslinux. Копирую файл c:\syslinux\pxelinux.0 в d:\netboot.
Теперь прописываю в свойстве "Boot file" DHCP server файл pxelinux.0. В настройках "Settings" параметру "Base Directory" присваиваю значение E:\NETBOOT
Создание текстового меню
Теперь необходимо создать меню. Для этого из каталога c:\syslinux\com32\modules копирую файл menu.c32 в d:\netboot.
Создание текстового меню
Одной из особенностей реализации меню в syslinux – это возможность использовать шрифт в формате psf. Такие шрифты можно найти в дистрибутивах linux. Я загрузил набор шрифтов console-cyrillic (http://packages.debian.org/unstable/misc/console-cyrillic). С полученного архива извлек файл cyr_a8x16.psf в каталог d:\netboot. Этот шрифт позволит отображать русские буквы в кодировке cp866.
В d:\netboot создаю директорию pxelinux.cfg. В директории d:\netboot\pxelinux.cfg создаю файл default. Напомню для отображения русских букв содержимое этого файла должно быть в кодировке cp866. В этой кодировке может работать файловый менеджер FAR (http://www.farmanager.com/download.php?l=ru)
DEFAULT menu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT cyr_a8x16.psf
TIMEOUT 300
ONTIMEOUT local
MENU TITLE Установка Windows XP
MENU COLOR border 30;40 #40000000 #00000000 std
MENU COLOR title 1;36;40 #c00090f0 #00000000 std
MENU COLOR unsel 37;40 #90ffffff #00000000 std
MENU COLOR hotkey 1;37;40 #ffffffff #00000000 std
MENU COLOR sel 7;37;40 #e0000000 #20ff8000 all
MENU COLOR scrollbar 30;40 #40000000 #00000000 std
LABEL xp001
MENU LABEL WindowsXP SP3 (файл ответа xp001.sif)
KERNEL xp001.0
LABEL xp002
MENU LABEL WindowsXP SP3 (файл ответа xp002.sif)
KERNEL xp002.0
LABEL xp101
MENU LABEL WindowsXP SP3 (файл ответа xp101.sif)
KERNEL xp101.0
LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0
Описание использованных параметров в файле default
Параметр ALLOWOPTIONS 0
Блокирует указание дополнительных параметров для загрузчика.
Параметр PROMPT 0
Скрывает отображение строки “boot:” для ввода параметров.
Параметр FONT cyr_a8x16.psf
Загружает шрифт cyr_a8x16.psf для отображение русских букв.
Параметр TIMEOUT 300
Устанавливает задержку в 30 секунд перед тем как выполнить загрузку по умолчанию.
Параметр ONTIMEOUT local
Указывает что по наступлению таймаута, заданного параметром TIMEOUT, выполнить пункт меню local.
Параметр MENU TITLE
Выводит заголовок меню загрузки.
Параметр MENU COLOR
Переопределяет цвета заданные по умолчанию для интерфейса.
Параметр LABEL
Задает идентификаторы меню. Значения этого параметра должны быть уникальны внутри файла.
Параметр MENU LABEL
Задает подпись для идентификатора определенного в LABEL.
Параметр KERNEL
Задает какой загрузчик использовать в случае выбора этого пункта меню.
Параметр LOCALBOOT 0
Указывает, что для загрузки использовать жесткий диск. "Читать дальше"
Создание графического меню
Для этого необходимо из c:\syslinux\com32\modules скопировать vesamenu.c32 в каталог d:\netboot. Изменить файл d:\netboot\pxelinux.cfg\default к следующему виду.
DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT cyr_a8x16.psf
TIMEOUT 300
ONTIMEOUT local
MENU TITLE Установка Windows XP
MENU BACKGROUND back.jpg
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #90ffffff #00000000 std
MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all
MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all
LABEL xp001
MENU LABEL WindowsXP SP3 (файл ответа xp001.sif)
KERNEL xp001.0
LABEL xp002
MENU LABEL WindowsXP SP3 (файл ответа xp002.sif)
KERNEL xp002.0
LABEL xp101
MENU LABEL WindowsXP SP3 (файл ответа xp101.sif)
KERNEL xp101.0
LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0
Теперь осталось скопировать картинку под именем back.jpg (параметр MENU BACKGROUND) в d:\netboot. Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640x480.
Теперь можно устанавливать операционную систему.
Данная статья - продолжение темы [статья] Установка Windows XP по сети (наподобие RIS) (http://forum.oszone.net/thread-75297.html). Иногда бывает ситуация, когда необходимо устанавливать Windows XP с разными параметрами. Конечно можно каждый раз изменять файл winnt.sif с нужными параметрами для каждой установки. Но задается вполне логичный вопрос: "Насколько хватит вашего терпения менять параметры в winnt.sif, когда в вашем компьютерном парке 50 машин, а может и того больше, и к примеру на 10 из них нужно установить ОС по-разному?" Тут и приходит на помощь Мультизагрузка Windows XP по сети (http://unattendedxp.com/articles/pxelinux/)
И так приступим.
Подготовка каталогов и файлов
В директории D:\Netboot, создаются две директории. Каталог xp0 - для установки первого и второго варианта установки. И директорию xp1 – для установки третьего варианта. структура папок должна выглядить следующим образом:
Для папки xp0
-Netboot
--xp0
---I386
---$OEM$
Для папки xp1
--xp1
---I386
Каталоги xp0 и xp1 содержат дистрибутив операционной системы Windows XP (каталог i386). А также в случае с директорией xp0 еще и каталог $oem$.
Создаю файлы ответов: для первого варианта под именем xp001.sif; для второго варианта - xp002.sif; для третьего – xp101.sif. За основу был взят файл winnt.sif созданный в [статья] Установка Windows XP по сети (наподобие RIS) (http://forum.oszone.net/thread-75297.html)
Первый вариант:
xp001.sif
[data]
AutoPartition=0
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP0\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP0"
[RemoteInstall]
Repartition = No
UseWholeDisk = No
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0
[GuiRunOnce]
"%SystemDrive%\post_install\runonce.cmd""Читать дальше"
Второй вариант:
xp002.sif
[data]
AutoPartition=1
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP0\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP0"
[RemoteInstall]
Repartition = Yes
UseWholeDisk = Yes
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0
[GuiRunOnce]
"%SystemDrive%\post_install\runonce.cmd""Читать дальше"
Третий вариант:
xp101.sif
[data]
AutoPartition=0
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\netboot\XP1\I386"
OriTyp="4"
[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\NETBOOT\XP1"
[RemoteInstall]
Repartition = No
UseWholeDisk = No
[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No
[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419
[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No
[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[TerminalServices]
AllowConnections=0
[PCHealth]
RA_AllowToGetHelp=0"Читать дальше"
Какой каталог использовать во время инсталляции задается с помощью SetupSourceDevice. Параметр OriSrc во время инсталляции не используется. Он задает каталог, где искать дистрибутив в случае добавления компонентов операционной системы.
Теперь необходимо сделать папку D:\netboot доступной по сети (расшарить) под именем netboot. Доступ предоставить группе Everyone (Все) право Read (Чтение).
Подготовка файлов ntldr и startrom.n12
Так как ntldr читает только файл winnt,sif то необходимо отредактировать ntldr. К сожалению, в Windows XP нет утилит, которые могут произвести замену содержимого файла, но зато есть язык программирования VBScript. С помощью этой программы (http://unattendedxp.com/articles/pxelinux/files/rep.vbs) можно произвести замену в файлах. Сохраняю ее в каталоге d:\netboot.
Так как раньше устанавливал дистрибутив Windows XP используя "Установка Windows XP по сети. RIS, но не Microsoft" (http://forum.oszone.net/thread-75297.html), то файлы ntldr и startrom.n12 у меня уже находились в каталоге D:\netboot\winxpsp2.
Для первого варианта установки заменяю все упоминания winnt.sif на xp001.sif и сохраняю отредактированный файл ntldr под именем xp001. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp001 xp001.sif
Для второго варианта меняю winnt.sif на xp002.sif и сохраняю под именем xp002. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp002 xp002.sif
Для третьего варианта установки меняю winnt.sif на xp101.sif и сохраним отредактированный ntldr под именем xp101. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\ntldr winnt.sif d:\netboot\xp101 xp101.sif
Теперь необходимо отредактировать файл startrom.n12 и заменить все упоминания ntldr для первого варианта на xp001. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp001.0 xp001
Измененный файл сохраняю под именем xp001.0. Для второго и третьего варианта поступаю также.
Для второго варианта меняю ntldr на xp002 и сохраняю под именем xp002.0. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp002.0 xp002
Для третьего варианта - ntldr на xp101 и сохраняю под именем xp101.0. cscript d:\netboot\rep.vbs d:\netboot\winxpsp2\startrom.n12 ntldr d:\netboot\xp101.0 xp101"Читать дальше"
В итоге получилось, если в качестве загрузочного файла указать xp001.0 в свойстве "Boot file" DHCP Server, то инсталляция будет проходить по первому варианту с использованием файла xp001.sif. Соответственно, если при указании загрузочного файла указать xp101.0, то в процессе инсталляции будет использоваться файл ответов xp101.sif.
Настройка PXELINUX
Теперь нужен инструмент, который создаст интерфейс для выбора, какую производить установку. И это – pxelinux, входящий в состав syslinux. (http://www.kernel.org/pub/linux/utils/boot/syslinux/)
Оптимальный вариант syslinux - версия 3.31.
Распаковываю архив syslinux-3.31.zip в директорию c:\syslinux. Копирую файл c:\syslinux\pxelinux.0 в d:\netboot.
Теперь прописываю в свойстве "Boot file" DHCP server файл pxelinux.0. В настройках "Settings" параметру "Base Directory" присваиваю значение E:\NETBOOT
Создание текстового меню
Теперь необходимо создать меню. Для этого из каталога c:\syslinux\com32\modules копирую файл menu.c32 в d:\netboot.
Создание текстового меню
Одной из особенностей реализации меню в syslinux – это возможность использовать шрифт в формате psf. Такие шрифты можно найти в дистрибутивах linux. Я загрузил набор шрифтов console-cyrillic (http://packages.debian.org/unstable/misc/console-cyrillic). С полученного архива извлек файл cyr_a8x16.psf в каталог d:\netboot. Этот шрифт позволит отображать русские буквы в кодировке cp866.
В d:\netboot создаю директорию pxelinux.cfg. В директории d:\netboot\pxelinux.cfg создаю файл default. Напомню для отображения русских букв содержимое этого файла должно быть в кодировке cp866. В этой кодировке может работать файловый менеджер FAR (http://www.farmanager.com/download.php?l=ru)
DEFAULT menu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT cyr_a8x16.psf
TIMEOUT 300
ONTIMEOUT local
MENU TITLE Установка Windows XP
MENU COLOR border 30;40 #40000000 #00000000 std
MENU COLOR title 1;36;40 #c00090f0 #00000000 std
MENU COLOR unsel 37;40 #90ffffff #00000000 std
MENU COLOR hotkey 1;37;40 #ffffffff #00000000 std
MENU COLOR sel 7;37;40 #e0000000 #20ff8000 all
MENU COLOR scrollbar 30;40 #40000000 #00000000 std
LABEL xp001
MENU LABEL WindowsXP SP3 (файл ответа xp001.sif)
KERNEL xp001.0
LABEL xp002
MENU LABEL WindowsXP SP3 (файл ответа xp002.sif)
KERNEL xp002.0
LABEL xp101
MENU LABEL WindowsXP SP3 (файл ответа xp101.sif)
KERNEL xp101.0
LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0
Описание использованных параметров в файле default
Параметр ALLOWOPTIONS 0
Блокирует указание дополнительных параметров для загрузчика.
Параметр PROMPT 0
Скрывает отображение строки “boot:” для ввода параметров.
Параметр FONT cyr_a8x16.psf
Загружает шрифт cyr_a8x16.psf для отображение русских букв.
Параметр TIMEOUT 300
Устанавливает задержку в 30 секунд перед тем как выполнить загрузку по умолчанию.
Параметр ONTIMEOUT local
Указывает что по наступлению таймаута, заданного параметром TIMEOUT, выполнить пункт меню local.
Параметр MENU TITLE
Выводит заголовок меню загрузки.
Параметр MENU COLOR
Переопределяет цвета заданные по умолчанию для интерфейса.
Параметр LABEL
Задает идентификаторы меню. Значения этого параметра должны быть уникальны внутри файла.
Параметр MENU LABEL
Задает подпись для идентификатора определенного в LABEL.
Параметр KERNEL
Задает какой загрузчик использовать в случае выбора этого пункта меню.
Параметр LOCALBOOT 0
Указывает, что для загрузки использовать жесткий диск. "Читать дальше"
Создание графического меню
Для этого необходимо из c:\syslinux\com32\modules скопировать vesamenu.c32 в каталог d:\netboot. Изменить файл d:\netboot\pxelinux.cfg\default к следующему виду.
DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT cyr_a8x16.psf
TIMEOUT 300
ONTIMEOUT local
MENU TITLE Установка Windows XP
MENU BACKGROUND back.jpg
MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #90ffffff #00000000 std
MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all
MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all
LABEL xp001
MENU LABEL WindowsXP SP3 (файл ответа xp001.sif)
KERNEL xp001.0
LABEL xp002
MENU LABEL WindowsXP SP3 (файл ответа xp002.sif)
KERNEL xp002.0
LABEL xp101
MENU LABEL WindowsXP SP3 (файл ответа xp101.sif)
KERNEL xp101.0
LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0
Теперь осталось скопировать картинку под именем back.jpg (параметр MENU BACKGROUND) в d:\netboot. Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640x480.
Теперь можно устанавливать операционную систему.