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

Настройка PXELINUX

За отображение меню, как я говорил в самом начале отвечает pxelinux.0, входящий в состав пакета syslinux. Не пугайтесь слова linux в названии файла. Linux ставить не надо.

Дальнейшее описание будет идти на примере syslinux версии 4.03.

Скачиваем syslinux и распаковываем в каталог c:\syslinux. Копируем файл pxelinux.0 в каталог c:\netboot.

Рисуем меню

В c:\netboot создадим каталог pxelinux.cfg, который будет хранить наше меню и дополнительные компоненты. Из каталога c:\syslinux\com32\menu копируем в c:\netboot\pxelinux.cfg два файла menu.c32 и vesamenu.c32. Это компоненты отображения меню, один для текстового (файл menu.c32), а другой для графического режима (файл vesamenu.c32).

Но в независимости о того какое меню используется оба поддерживают загружаемые шрифты. А использование шрифта дает возможность отображать русские буквы. Правда стоит заметить, что поддерживаются только шрифты в формате psf.

Для отображения меню я буду использовать файл cyr_a8x16.psf из пакета console-cyrillic. Шрифт необходимо сохранить также в c:\netboot\pxelinux.cfg. Следует отметить также, что для вывода читаемого русского текста нужно использовать при создании меню кодировку cp866.

Когда все компоненты оказались на месте, можно заняться и созданием самого меню. Для этого в pxelinux.cfg создадим файл default.

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

UI pxelinux.cfg/menu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT pxelinux.cfg/cyr_a8x16.psf

MENU COLOR border 30;40 #00000000 #00000000 none
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 001
MENU LABEL Установка Windows XP Professional
KERNEL winxp/startrom.0

LABEL 002
MENU LABEL Установка Windows XP Professional x64
KERNEL winxpx64/startrom.0

LABEL 003
MENU LABEL Установка Windows 7 x64
KERNEL windows7/pxeboot.0

LABEL 004
MENU LABEL Установка Windows Vista
KERNEL vista/pxeboot.0

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

UI pxelinux.cfg/vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
FONT pxelinux.cfg/cyr_a8x16.psf
MENU BACKGROUND pxelinux.cfg/back.jpg 

MENU COLOR border 30;40 #00000000 #00000000 none
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 001
MENU LABEL Установка Windows XP Professional
KERNEL winxp/startrom.0

LABEL 002
MENU LABEL Установка Windows XP Professional x64
KERNEL winxpx64/startrom.0

LABEL 003
MENU LABEL Установка Windows 7 x64
KERNEL windows7/pxeboot.0

LABEL 004
MENU LABEL Установка Windows Vista
KERNEL vista/pxeboot.0

Описание синтаксиса файла меню.

UI

Активирует программу отображения меню. Если прописано UI pxelinux.cfg/menu.c32 будет использоваться текстовое меню, если прописать UI pxelinux.cfg/vesamenu.c32 будет использоваться графическое меню.

ALLOWOPTIONS

Блокирует указание дополнительных параметров для загрузчика с помощью клавиши Tab и клавиши ESC для перехода в командный режим.

PROMPT

Скрывает отображение строки “boot:” для ввода параметров.

FONT

Загружает шрифт cyr_a8x16.psf для отображения русских букв.

MENU COLOR

Переопределяет цвета заданные по умолчанию для интерфейса.

MENU BACKGROUND

Указывает, какой графический файл использовать в виде фона. Я использую файл back.jpg, который находится в с:\netboot\pxelinux.cfg\back.jpg.

Внимание! Картинка должна быть в формате jpg или png. Разрешение картинки обязательно должно быть 640x480

LABEL

Задает идентификаторы меню. Значения этого параметра не должны повторяться внутри файла.

MENU LABEL

Задает подпись для идентификатора определенного в LABEL.

Параметр KERNEL

Указывает, какой загрузчик использовать в случае выбора этого пункта меню.