Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-3 часть

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-00

Всем привет во второй части установки загрузочного PXE сервера для установки Windows, Linux, ESXI 5.5 мы настроили DHCP сервер и увидели наше начальное меню, теперь давайте настроим его под себя и добавим нужные разделы. Список разделов каждый из вас подготовит под себя, так как списки у всех разные, я покажу лишь, то чем я пользуюсь сам.

И так мы с вами в текущем виде меню имеем только загрузку с HDD

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-16
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-16

Давайте добавим в главное меню разделы для установки Windows, FreeBSD, CentOS и ESXI 5.5.

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

/srv/tftp/pxelinux.cfg/default

Я для редактирования использую midnight commander, со своим встроенным редактором.

ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title пишем тут нужный вам заголовок PXE boot menu

LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120
TEXT HELP
The system will boot after time is up.
ENDTEXT

LABEL Windows install->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows

LABEL CentOS install ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux

LABEL FreeBSD ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/bsd

LABEL VMvare ESXI 5.5 ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/vmware

ui -  подключаем menu.c32 модуль текстового меню
menu title - заголовок главного меню
label - создаем пункт меню
menu label - заголовок пункта меню
kernel - загрузка ядра, путь начинает с корневого каталога tftp сервера
append - добавляет опции командной строки для ядра
initrd - путь до инициализируемого образа.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-17
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-17

В итоге вы получаете вот такую структуру меню.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-18
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-18

Посмотрим содержимое директории /srv/tftp/pxelinux.cfg/

root@pxe:/srv/tftp/pxelinux.cfg
# ls -l
total 32
-rw-r--r-- 1 tftp tftp 475 Фев 17 18:04 bsd
-rw-r--r-- 1 tftp tftp 881 Фев 17 18:00 default
-rw-r--r-- 1 tftp tftp 1316 Фев 17 18:01 linux
-rw-r--r-- 1 tftp tftp 363 Фев 17 18:03 vmware
-rw-r--r-- 1 tftp tftp 312 Фев 18 00:01 windows

Как видите файлов конфигов стало уже 4, и каждый из них можно теперь так же редактировать и создавать подменю.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-19
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-19

Создаем подменю Windows.

Редактируем файл /srv/tftp/pxelinux.cfg/Windows

Я добавлю туда запись об установке Windows Server 2008 R2 обновленный по август 2015.

PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE Windows

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

LABEL Windows Server 2008 R2 avgust 2015 (menu inside)
kernel Boot/pxeboot.0
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-20
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-20

В итоге вы получите вот такое подменю

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21

Добавим еще Windows Server 2012 R2.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22

Меню стало выглядеть вот так.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-23
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-23

Теперь отредактируем файл с конфигом VMware и создадим там структуру меню.

PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE VMware

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

LABEL VMware-5.5 IBM Servers
kernel vmw/5.5/mboot.c32
append -c /vmw/5.5/boot.cfg ks=http://10.10.10.2/vmw5.5.ibm/ks.cfg +++

LABEL VMware-5.5 HP Servers
kernel vmw/5.5/mboot.c32
append -c /vmw/5.5/boot.cfg ks=http://10.10.10.2/vmw5.5.hp/ks.cfg +++

LABEL VMware-5.5 Common
kernel vmw/5.5/mboot.c32
append -c /vmw/5.5/boot.cfg ks=http://10.10.10.2/vmw5.5.common/ks.cfg +++

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-24
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-24

Получаем вот такое меню.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-25
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-25

Отредактируем конфигурационный файл FreeBSD .

PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE BSD

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

LABEL FreeBSD-10.1-x64
kernel memdisk
initrd freebsd/10/mfsbsd-se-10.1-RELEASE-amd64.iso
append iso raw

LABEL FreeBSD-9.2-x64
kernel memdisk
initrd freebsd/9/fbsd92.iso
append iso raw
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Получаем вот такое меню FreeBSD

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-26
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-26

Осталось еще только сделать L:inux меню. Редактируем последний файл.

PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE Linux

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

LABEL Debian-7-x64
kernel debian/7/linux
append initrd=debian/7/initrd.gz

LABEL Debian-6.0.6-x64
kernel debian/6/linux
append initrd=debian/6/initrd.gz

LABEL CentOS-7-x64
kernel centos/7/vmlinuz
append initrd=centos/7/initrd.img method=http://mirror.mirohost.net/centos/7/os/x86_64/ devfs=nomount ksdevice=link ramdisk_size=100000

LABEL CentOS-6-x64
kernel centos/6/vmlinuz
append initrd=centos/6/initrd.img method=http://mirror.mirohost.net/centos/6/os/x86_64/ devfs=nomount ksdevice=link ramdisk_size=100000

LABEL Ubuntu-14.10-x64
kernel ubuntu/14.10/linux
append initrd=ubuntu/14.10/initrd.gz expert dmraid=true

LABEL Ubuntu-14.04-x64
kernel ubuntu/14.04/linux
append initrd=ubuntu/14.04/initrd.gz expert dmraid=true

LABEL Ubuntu-12.10-x64
kernel ubuntu/12.10/linux
append initrd=ubuntu/12.10/initrd.gz expert dmraid=true

LABEL Ubuntu-12.04_4-x64
kernel ubuntu/12.04_4/linux
append initrd=ubuntu/12.04_4/initrd.gz expert dmraid=true

LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Получаем вот такую структуру установки

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-27
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-27

На данный момент третий этап выполнен и создана структура загрузочного PXE сервера для установки Windows, Linux, ESXI 5.5. Смотрим продолжение в 4 части.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. Макс

    В случае с линуксами понятно, разное ядро в разных папках…
    А в конфиге win server 2008 и 2012 указан один kernel boot/pxeboot.0
    Как будет различать что грузить то ))

  2. Александр

    Но ведь если я веберу установку «Windows Server 2012 R2.» или «Windows Server 2008 R2» всё равно будет ставиться что-то одно. Так зачем так делать?

  3. Иван Семин автор

    не совсем понял вопрос, что должно ставиться? Логично, что если пункт W2008, то будет ставиться она, если 2012, то она.

  4. Сергей

    Создал основное меню, на клиенте оно есть:
    LABEL Windows install->
    KERNEL vesamenu.c32
    APPEND pxelinux.cfg/windows

    Но в папке /srv/tftp/pxelinux.cfg/ файл windows не создался.
    Попытался его самостоятельно создать, записать код.
    Но на клиенте при выборе пункта Windows подменю не открывается, а сразу уходит в boot.

  5. Ока

    после настройки файла default в /srv/tftp/pxelinux.cfg/ в этой же папке ничего нового не появляется