Начнём с того, что уясним что мы имеем, и чего хотим добиться.
Имеем:
Windows server 2008 с установленным DHCP, WDS (Windows Deploy Services)
Желаем:
Пользоваться одновременно загрузочным меню Syslinux, в котором будут располагаться различные образы загрузки, в том числе и Thinstation Linux, и ещё мы очень хотим пользоваться всеми прелестями развёртывания систем через WDS.
Приступаем к работе.
- Будем считать что читатели знают как пользоваться WDS, для остальных совершенно замечательная статья, в которой поэтапно описана установка и настройка WDS. В процессе начальной настройки WDS нам будет предложено выбрать директорию для хранения файлов, я выбрал D:RemoteInstall.
- Скачиваем последнюю версию syslinux. На момент написания статьи сайт syslinux.zytor.com был недоступен, так что Гугл вам в помощь. Если совсем лень, то вот ссылка на зеркало.
- На этом этапе определяем какая разрядность у наших клиентов x64 или x86, в моём случае весь парк машин определялся WDS сервисом как x64, соответственно буду описывать свою ситуацию. По сути, разница только в директории в которую будут распаковываться файлы syslinux.
- Распаковываем нужные нам файлы в директорию загрузчика
- из syslinuxcom32menumenu.c32 в D:RemoteInstallBootx64
- из syslinuxcorepxelinux.0 в D:RemoteInstallBootx64
- из syslinuxmemdiskmemdisk в D:RemoteInstallBootx64
- любителям красивостей из syslinuxcom32menuvesamenu.c32 в D:RemoteInstallBootx64
- берем любую картинку — делаем ее формата png или jpg размером 640 на 480, например space.jpg и копируем в D:RemoteInstallBootx64
- Идём в нашу директорию загрузки D:RemoteInstallBootx64 и в ней дублируем файл pxelinux.0 под новым именем pxelinux.n12
- Идём снова в нашу директорию загрузки D:RemoteInstallBootx64 и в ней дублируем файл pxeboot.n12 под новым именем pxeboot.0
- Создаём папку pxelinux.cfg, в ней создаём файл default следующего содержания.
#UI vesamenu.c32 #любителям красивостей надо раскоментировать этот пункт,<br> UI menu.c32 #а этот закоментировать<br> default local<br> prompt 0<br> timeout 300<br> MENU TITLE --== PXE Boot Menu ==--<br> MENU COLOR border 30;40 #40000000 #00000000 std<br> MENU COLOR title 1;36;40 #c00090f0 #00000000 std<br> MENU COLOR unsel 37;40 #90ffffff #00000000 std<br> MENU COLOR hotkey 1;37;40 #ffffffff #00000000 std<br> MENU COLOR sel 7;37;40 #e0000000 #20ff8000 all<br> MENU COLOR scrollbar 30;40 #40000000 #00000000 std<br> LABEL local<br> MENU LABEL Boot from Harddisk<br> LOCALBOOT 0<br> LABEL WDS<br> MENU LABEL Windows Deploy Services<br> KERNEL pxeboot.0<br> LABEL TS<br> MENU LABEL Thinstation<br> kernel Images/TS/vmlinuz<br> append ramdisk_blocksize=4096 initrd=Images/TS/initrd union=aufs root=/dev/ram0 ramdisk_size=524288 splash=silent vga=791 console=ttyS3<br>
- Кладём заранее подготовленные файлы thinstation (vmlinuz и initrd ) в директорию D:RemoteInstallBootx64ImagesTS
- Файлы конфигурации (thinstation.conf.network etc)кладём в папку D:RemoteInstall
- Теперь начинается самое главное, без этого thinstation не увидит своих файлов конфигурации! Отправляемся прямиком в реестр сервера
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWDSServerProvidersWDSTFTP]
и меняем значение «ReadFilter» с
boot* tmp*
на
*
- Идём в оснастку «Диспетчер сервера», и выберем новый загрузчик.
Заходим в «Роли», далее в «Службы развёртывания Windows», и в «Серверы», заходим в свойства нашего сервера, перемещаемся на закладку загрузка и меняем поле «программа загрузки по умолчанию» для своей архитектуры (в моём случае x64) наBootx64pxelinux.n12
- И в заключение надо заглянуть в Роли->DHCP-сервер->«ваш сервер»->IPv4->Параметры сервера и настроить параметры 66 и 67. В 66 указать IP адрес нашего WDS сервера (в нашем случае адрес самого сервера). В 67 указать pxelinux.0
В результате мы будем иметь загрузку в pxelinux меню, из котрого нам будет полностью доступен функционал pxelinux, Thinstation и WDS
Статьи использованные в работе
Загрузка образа HirensBootCD по сети через WDS
Служба WDC для Windows Server 2008
Deploying thinstation image with Microsoft WDS 2008