PXELINUX и новые возможности установки Windows XP

Настройка PXELINUX

Теперь нужен инструмент, который создаст интерфейс для выбора, какую производить установку. И это – pxelinux, входящий в состав syslinux.

На момент написания статьи последняя версия syslinux была версия 3.31.

Распаковываю архив syslinux-3.31.zip в директорию c:\syslinux. Копирую файл c:\syslinux\pxelinux.0 в e:\netboot.

Теперь прописываю в свойстве "Boot file" DHCP server файл pxelinux.0 (Рисунок 3). В настройках "Settings" параметру "Base Directory" присваиваю значение E:\NETBOOT (Рисунок 4).

Создание текстового меню

Теперь необходимо создать меню. Для этого из каталога c:\syslinux\com32\modules копирую файл menu.c32 в e:\netboot.

Одной из особенностей реализации меню в syslinux – это возможность использовать шрифт в формате psf. Такие шрифты можно найти в дистрибутивах linux. Я загрузил набор шрифтов console-cyrillic. С полученного архива извлек файл cyr_a8x16.psf в каталог e:\netboot. Этот шрифт позволит отображать русские буквы в кодировке cp866.

В e:\netboot создаю директорию pxelinux.cfg. В директории e:\netboot\pxelinux.cfg создаю файл default. Напомню для отображения русских букв содержимое этого файла должно быть в кодировке cp866

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 SP2 (файл ответа xp001.sif)
KERNEL xp001.0

LABEL xp002
MENU LABEL WindowsXP SP2 (файл ответа xp002.sif)
KERNEL xp002.0

LABEL xp101
MENU LABEL WindowsXP SP2 (файл ответа xp101.sif)
KERNEL xp101.0

LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0		
		

Когда удаленный компьютер начнет загружаться с помощью сетевого адаптера, пользователь увидит следующую картинку на экране (Рисунок 5).

Описание использованных параметров в файле 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
Указывает, что для загрузки использовать жесткий диск.

Создание графического меню

Текстовое меню, рассмотренное выше, можно трансформировать к такому виду (Рисунок 6). Для этого необходимо из c:\syslinux\com32\modules скопировать vesamenu.c32 в каталог e:\netboot. Изменить файл e:\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 SP2 (файл ответа xp001.sif)
KERNEL xp001.0

LABEL xp002
MENU LABEL WindowsXP SP2 (файл ответа xp002.sif)
KERNEL xp002.0

LABEL xp101
MENU LABEL WindowsXP SP2 (файл ответа xp101.sif)
KERNEL xp101.0

LABEL local
MENU LABEL Booting from HDD (загрузка с жесткого диска)
LOCALBOOT 0		
		

Теперь осталось скопировать картинку под именем back.jpg (параметр MENU BACKGROUND) в e:\netboot. Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640x480.

P.S. Об этой статье можно высказать свое мнение либо задать вопрос на форуме. Мне будет интересно Ваше мнение.