Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-3 часть
Всем привет во второй части установки загрузочного PXE сервера для установки Windows, Linux, ESXI 5.5 мы настроили DHCP сервер и увидели наше начальное меню, теперь давайте настроим его под себя и добавим нужные разделы. Список разделов каждый из вас подготовит под себя, так как списки у всех разные, я покажу лишь, то чем я пользуюсь сам.
И так мы с вами в текущем виде меню имеем только загрузку с HDD
Давайте добавим в главное меню разделы для установки Windows, FreeBSD, CentOS и ESXI 5.5.
Для этого редактируем файл с загрузочным меню. Сам файл лежит вот тут
Я для редактирования использую 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
В итоге вы получаете вот такую структуру меню.
Посмотрим содержимое директории /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, и каждый из них можно теперь так же редактировать и создавать подменю.
Создаем подменю 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
В итоге вы получите вот такое подменю
Добавим еще Windows Server 2012 R2.
Меню стало выглядеть вот так.
Теперь отредактируем файл с конфигом 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
Получаем вот такое меню.
Отредактируем конфигурационный файл 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
Осталось еще только сделать 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. Смотрим продолжение в 4 части.
В случае с линуксами понятно, разное ядро в разных папках…
А в конфиге win server 2008 и 2012 указан один kernel boot/pxeboot.0
Как будет различать что грузить то ))
Но ведь если я веберу установку «Windows Server 2012 R2.» или «Windows Server 2008 R2» всё равно будет ставиться что-то одно. Так зачем так делать?
не совсем понял вопрос, что должно ставиться? Логично, что если пункт W2008, то будет ставиться она, если 2012, то она.
Создал основное меню, на клиенте оно есть:
LABEL Windows install->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows
Но в папке /srv/tftp/pxelinux.cfg/ файл windows не создался.
Попытался его самостоятельно создать, записать код.
Но на клиенте при выборе пункта Windows подменю не открывается, а сразу уходит в boot.
после настройки файла default в /srv/tftp/pxelinux.cfg/ в этой же папке ничего нового не появляется