Загрузочный сервер — как загрузочная флешка, только сервер и по сети
Время на прочтение12 мин
Количество просмотров462K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!
Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.
Вот такое меню встречает нашу команду инженеров при загрузке с PXE
Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Начало
Возьмем за основу, что свежеустановленный Debian Wheezy уже весело подмигивает нам консолью.
Подготовим базу для дальнейших манипуляций. Установить и настроить нам потребуется:
- TFTP сервер
- Samba
- Syslinux
- DHCP сервер
- HTTP сервер
- NFS сервер
1. TFTP
# aptitude install tftpd-hpa
приведем конфиг /etc/default/tftpd-hpa
к виду
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp" #пусть к корню tftp
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -v -m /etc/tftpd.remap" #файл для замены слешей в путях с windows style на linux style
и поместим в /etc/tftpd.remap
вот такую строку
rg \\ /
UPD, дополнение от читателя Aleksey Shipilev
Повыдирал себе волос, пока отдебажил tftp.
Что на ThinkPad X201i, что в VirtualBox загрузка отваливалась с:
PXE-E32: TFTP Open timeoutСудя по всему, PXE агенты умудрились быть не полностью совместимыми, полечилось добавлением «-r blksize»:
TFTP_OPTIONS=»—secure -l -v -r blksize»
2. Samba
# aptitude install samba
В конец файла /etc/samba/smb.conf
добавим информацию о папке, где будут лежать инсталляционные файлы Windows.
[images]
comment = images
path = /srv/tftp/images
create mask = 0660
directory mask = 0771
writable = yes
guest ok=yes
Cоздаем папку, даем права и рестартим самбу
# mkdir /srv/tftp/images
# chmod 777 /srv/tftp/images
# service samba restart
3. Syslinux
Скачиваем и заливаем в корень TFTP сервера все необходимое
# cd /tmp
# wget https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.02.tar.gz #только с этой версией удалось подружить инсталлятор ESXi
# tar -xf syslinux-4.02.tar.gz
# cd syslinux-4.02/
# find ./ -name "memdisk" -type f|xargs -I {} cp '{}' /srv/tftp/
# find ./ -name "pxelinux.0"|xargs -I {} cp '{}' /srv/tftp/
# find ./ -name "*.c32"|xargs -I {} cp '{}' /srv/tftp/
Перейдем к настройке
# cd /srv/tftp/
# mkdir pxelinux.cfg
# cd pxelinux.cfg
Создадим конфиг основного меню и внесем начальные настройки
# cat > default
ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title ServerClub 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 the time is up
ENDTEXT
4. DHCP
# aptitude install isc-dhcp-server
дефолтный конфиг переместим, создадим вместо него свой и перезапустим DHCP демон
# mv /etc/dhcp/dhcpd.conf{,_orig}
# cat > /etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option ip-forwarding on;
default-lease-time 60;
min-lease-time 120;
max-lease-time 300;
authoritative;
ddns-update-style interim;
log-facility local7;
shared-network PXE-Netwotk {
subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.10 10.0.10.254;
option routers 10.0.10.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 10.0.10.1;
option root-path "10.0.10.1:/srv/tftp/";
}
}
# service isc-dhcp-server restart
Спойлер для тех, у кого в роли DHCP сервера выступает MikroTik
address=10.0.10.0/24 gateway=10.0.10.1 dns-server=8.8.8.8, 8.8.4.4 wins-server="" ntp-server=212.20.50.208 caps-manager="" domain="domain.local" next-server=10.0.10.1 boot-file-name="pxelinux.0" dhcp-option=""
Спойлер для тех у кого DHCP на Cisco
network <ip сети> <маска>
ip dhcp pool <Имя пула>
bootfile pxelinux.0
next-server <IP сервера tftp>
default-router <Шлюз>
option 66 ascii «Имя сервера»
dns-server <DNS сервера>
option 150 <IP сервера tftp>
domain-name <доменное имя>
Так же стоит заметить, что в данной инсталляции у севера две сетевые карты и он является еще и шлюзом в интернет.
Поэтому необходим еще ряд нехитрых манипуляций
# sed -i 's/\#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
# sysctl -p
# iptables -t nat -I POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
# sed -i 's/INTERFACES=\"\"/INTERFACES=\"eth1\"/g' /etc/default/isc-dhcp-server
# service isc-dhcp-server restart
5. HTTP
Пока просто установим, а зачем он нам понадобился будет понятно далее по тексту.
# aptitude install apache2
6. NFS
Ровно так же как и предыдущий пункт.
# aptitude install nfs-kernel-server
Если все сделано правильно, то при загрузке какой-либо машины с этого DHCP/PXE/TFTP сервера мы увидим следующее:
Основа готова!
Двигаемся далее.
Научим сервер устанавливать различные ОС
Для установки нам будут доступны:
- Windows 2008R2/20012R2
- Debian 6/7
- Centos 6/7
- Ubuntu 12.04/12.10/14.04/14.10
- FreeBSD 9.2/10.1
- VMware ESXi 5.0/5.5
Структура меню, а следовательно и файл /srv/tftp/pxelinux.cfg/default
притерпели изменения.
Теперь конфиг главного меню PXE сервера теперь выглядит так
ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title ServerClub 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 ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows
LABEL Linux ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux
LABEL FreeBSD ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/bsd
LABEL VMvare ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/vmware
Листинг директории /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
Под спойлером содержимое конфига каждого из подпунктов меню представленных выше
windows
PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE Windows
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
LABEL W2K8_x64_R2 & W2K12_x64_R2 (menu inside)
kernel Boot/pxeboot.0
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
linux
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
bsd
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
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
kernel vmw/5.5/mboot.c32
append -c /vmw/5.5/boot.cfg ks=http://10.0.10.1/vmw5.5/ks.cfg +++
LABEL VMware-5.0
kernel vmw/5.0/mboot.c32
append -c /vmw/5.0/boot.cfg ks=http://10.0.10.1/vmw5.0/ks.cfg +++
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
Пути к папкам, где лежат установочные файлы для каждой из ОС, описаны относительно корня TFTP сервера, т.е. /srv/tftp
.
Например для FreeBSD указано
LABEL FreeBSD-10.1-x64
kernel memdisk
initrd freebsd/10/mfsbsd-se-10.1-RELEASE-amd64.iso
append iso raw
следовательно в корне TFTP нужно создать папки freebsd/10/
, при этом обратите внимание на права
ls -l /srv/tftp/freebsd/10/
total 193780
-rw-r--r-- 1 tftp tftp 198430720 Фев 17 18:17 mfsbsd-se-10.1-RELEASE-amd64.iso
У всех должно быть право на чтение — это правило справедливо для всех файлов отдаваемых по TFTP.
И еще пара слов о установке FreeBSD.
Логин / пароль для входа в загружаемый iso: root / mfsroot(либо root без пароля).
Плюс пара примеров скриптов инсталяции FreeBSD на ZFS:
1. RAID6 из 4-х дисков.
2. RAID1 из 2-х дисков.
О том как подготовить Windows к установке с PXE мы писали ранее.
Различие с данной инсталляцией составляет лишь то, что здесь мы можем установить и Windows 2008R2 и Windows 2012R2(впрочем и Windows 7/8 тоже, нужно только подготовить файлы дистрибутива и winpe соответствующим образом). После загрузки winpe мы монтируем папку /srv/tftp/images/
, где содержаться файлы для установки ОС от Microsoft:
ls -l /srv/tftp/images/
total 8
drwxr-xr-x 6 root root 4096 Фев 17 22:19 w2k12r2
drwxr-xr-x 7 tftp tftp 4096 Фев 17 19:05 w2k8r2
и запускаем нужный инсталятор.
Для автоматизации, через startnet.cmd, я набросал вот такое меню:
Теперь осталось разобраться с VMware.
Как вы заметили, конфиг для установки гипервизоров несколько отличается от остальных — именно тут нам и понадобится HTTP сервер.
В /var/www
создадим папки vmw5.5, vmw5.0, а в папках сделаем симлинки на конфиг
# cd /var/www
# mkdir vmw5.5
# cd vmw5.5/
# ln -s /srv/tftp/vmw/5.5/ks.cfg
# mkdir ../vmw5.0
# cd ../vmw5.0/
# ln -s /srv/tftp/vmw/5.0/ks.cfg
О том как подготовить, например, Debian к установке с PXE написано здесь, но я на этом останавливаться не стану.
Добавим способность загружать различные дисковые утилиты и тест памяти
Данный раздел будет содержать:
- Memtest86+
- Clonezilla-live
- SystemRescueCD
- MHDD
Конфиги разместились здесь
default
ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title ServerClub PXE boot menu
LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120000
TEXT HELP
The system will boot after time is up.
ENDTEXT
LABEL Windows ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows
LABEL Linux ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux
LABEL FreeBSD ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/bsd
LABEL VMvare ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/vmware
LABEL HDD and RAM utils ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/du
du
PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE HDD and RAM utils
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
LABEL Memtest86+
kernel memtest/memtest
label Clonezilla-live
MENU LABEL Clonezilla Live
KERNEL clonezilla/vmlinuz
APPEND initrd=clonezilla/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://10.0.10.1/clonezilla/filesystem.squashfs
label SystemRescueCD
kernel SystemRescueCD/isolinux/rescue64
append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD
LABEL MHDD
kernel memdisk
initrd mhdd/mhdd32ver4.6.iso
append iso raw
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
А я расскажу зачем мы ставили еще и NFS сервер.
Как видно из конфига загрузки SystemRescueCD, необходимые этому LiveCD файлы он подтягивает монтируя каталог по протоколу NFS. Сервер уже установлен, остается только отредактировать /etc/exports и перезапустить серверный демон.
# cat >> /etc/exports
/srv/tftp/SystemRescueCD/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000)
# service nfs-kernel-server restart
Предполагаю у вас возник резонный вопрос — «Что тут делает LiveCD, если для них есть отдельный пункт?»
SystemRescueCD содержит массу полезных программ для работы с диском(например таких как GParted и testdisk) и поэтому он доступен и здесь и в LiveCD.
LiveCD
В набор наших LiveCD войдут:
- Debian 7 LiveCD
- HirensBootCD
- Trinity Rescue Kit CD
- SystemRescueCD
- Plop Live
Конфиги
в конец default добавилось
LABEL LiveCDs ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/livecds
livecds
PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE LiveCDs
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
LABEL Debian LiveCD
KERNEL Debian7live/vmlinuz
APPEND initrd=Debian7live/initrd boot=live fetch=tftp://10.0.10.1/Debian7live/filesystem.squashfs root=/dev/ram0 rw
LABEL HirensBootCD
MENU LABEL Hiren's Boot CD
KERNEL memdisk
APPEND iso initrd=hirens/hirens.iso
LABEL Trinity Rescue Kit CD
kernel trk/kernel.trk
append initrd=trk/initrd.trk ramdisk_size=65536 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkmenu timeout 100 trknfs=10.0.10.1:/srv/tftp/trk ip=dhcp
LABEL SystemRescueCD
kernel SystemRescueCD/isolinux/rescue64
append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD
LABEL Plop Live
KERNEL plop/bzImage
APPEND initrd=plop/initramfs.gz vga=normal nfsmount=10.0.10.1:/srv/tftp/plop
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
Для загрузки Trinity Rescue Kit CD и Plop Live в /etc/exports
нужно добавить строки:
/srv/tftp/trk/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000)
/srv/tftp/plop/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000)
и отправить команду рестарта NFS демону.
Несколько слов о выбраных LiveCD.
Debian 7 LiveCD
Этот CD — сборка одного из наших инженеров, включающая в себя следующее:
Логин / пароль: root / ServerClub
HirensBootCD
Едва ли нуждается в представлении, содержит множество полезных утилит.
Подробнее можно ознакомиться здесь.
Грузится достаточно долго, не работает MiniXP и Linux. Остальные утилиты доступны для использования.
Trinity Rescue Kit CD
Со слов разработчиков, создан для восстановления ОС Windows.
Содержит утилиты для сброса паролей, антивирусы, программу для клонирования «компьютера» по сети(при чем на несколько компьютеров одновременно), а так же многое другое.
Подробнее здесь.
SystemRescueCD
Основан на Gentoo, предназначен для восстановления Linux систем.
Включает в себя большое количество всевозможных программ для администрирования, со списком можно ознакомится по ссылке.
Plop Live
LiveCD с тремя полноценными DE на выбор, а так же необходимым админским софтом.
Антивирусы
- Kaspersky Rescue Disk 10
- AVG Rescue CD
В отдельном представлении оба антивируса не нуждаются.
О Kaspersky Rescue disk подробнее можно прочесть здесь.
С описанием AVG Recsue CD вас ознакомит данный url.
Итоговый конфигурационный файл основного меню, а так же файл меню антивирусов
default
ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title ServerClub PXE boot menu
LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120000
TEXT HELP
The system will boot after time is up.
ENDTEXT
LABEL Windows ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows
LABEL Linux ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux
LABEL FreeBSD ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/bsd
LABEL VMvare ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/vmware
LABEL HDD and RAM utils ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/du
LABEL LiveCDs ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/livecds
LABEL Antiviruses ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/av
av
PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE Antivirues
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
LABEL Kaspersky Antivirus
KERNEL kav/rescue
APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset
LABEL Kaspersky Antivirus (text mode)
KERNEL kav/rescue
APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg nox kavshell noresume doscsi nomodeset
label AVG
menu label AVG Rescue CD
kernel avg/vmlinuz
append max_loop=255 vga=791 initrd=avg/initrd.lzm init=linuxrc reboot=bios
label AVG nofb
menu label AVG Rescue CD with Disabled Framebuffer
kernel avg/vmlinuz
append max_loop=255 video=vesafb:off initrd=avg/initrd.lzm init=linuxrc reboot=bios
label AVG vgask
menu label AVG Rescue CD with Resolution Selection
kernel avg/vmlinuz
append max_loop=255 initrd=avg/initrd.lzm init=linuxrc vga=ask reboot=bios
LABEL <- Main Menu
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default
Заключение, оно же и сюрприз
На протяжении статьи я сознательно не давал объяснений где взять и как подготовить контент, потому как действия эти весьма тривиальны и только перегрузили бы текст.
В качестве сюрприза предлагаю вам два варианта нашей сборки, доступные по ссылкам ниже:
- Архив со всем контентом /srv/tftp (ссылка на торрент файл, прямая ссылка)
- Архив всей ОС (ссылка на торрент файл, прямая ссылка)
В первом случае необходимо самостоятельно подготовить сервер(в этом поможет глава «Начало» данного эпоса), разархивировать содержимое архива и внести корректировки сообразно реалиям вашей среды.
Второй случай подразумевает установку на голое железо или виртуальную машину.
Вкратце шаги по развертыванию сборки из полного архива ОС будут такими:
1. Загрузиться с Linux LiveCD.
2. Разметить диск и отформатировать разделы.
3. Примонтировать «/» раздел.
4. Распаковать архив.
5. Установить загрузчик.
6. Перезагрузиться.
7. Настроить ОС в соответствии вашей сети и начать пользоваться.
Логин / пароль: root / ServerClub.
ВАЖНО: Если в вашей сети есть работающий dhcp сервер, то перед запуском нашей сборки отключите в ней автостарт dhcp.
Полезные ссылки
Как подготовить Kaspersky Rescue disk 10 для загрузки с PXE
Wiki syslinux
Как подготовить ESXi для установки с PXE
C PXE не грузится интсаллятор ESXi. Решение
От чего с PXE не грузится интсаллятор ESXi. Решение
За сим заканчиваю, благодарю за внимание!
Для тех, у кого нет аккаунта на Хабре.
Если у вас возникнут вопросы/замечания, то пишите мне на почту — er[dog]serverclub.com.
PXE Boot и WinPE для установки по сети Windows 10 / Server 2016
Порывшись в сети нашел массу инструкций по аналогичной теме. Вроде всё разжевано и
инструкции чёткие, но при их выполнении происходят какие-то не очевидные вещи и
пока разбираешься в том, что надо сделать приходится параллельно искать информацию о
появляющихся ошибках. Получив опыт и имея готовую систему я пришел к
выводу, что всё можно было сделать другими инструментами, не устанавливая массу
стороннего софта и не заморачиваясь со сложным редактированием образов. Материал
касающийся нашей темы косвенно я опишу лишь поверхностно, чтобы не скатываться в занудную
статью о настройке серии роутеров на раздачу DHCP. То, что касается непосредственно
создания аналога сервера развёртывания конфигураций я опишу подробно и с картинками.
Не скриншотами командных файлов, а нормальным текстом, который можно скопировать и
запустить на своём компьютере.
Если вы сталкивались с инструкциями в которых необходимо «поднимать»
активдиректори и доменкотроллер, монтировать диски через определённые утилиты и долго шаманить
над созданием текстовых файлов, перепечатывая текст с монитора, то представляю вам
более простой вариант реализации. Тот кто пользовался этой инструкцией дали пару рекомендаций
о подаче информации и думаю, что теперь она вылизана как никогда чётко и красиво.
Есть масса методов установки операционных систем по сети. Данный
вариант предназначен для маленьких сетей в которых нет возможности установить
сервер с операционной системой Windows Server. Например, если компания не хочет
нарушать лицензионную чистоту, а администратор сети не умеет администрировать
Linux-сервера. Единственная сложность с которой придётся столкнуться заключается
в поиске оригинального файла winpe.wim.
Хочу обратить особое внимание на то, что для сетевой установки желательно использовать
Windows Deployment Services (WDS), а не самопальные системы. Там больше инструментов и они
более гибкие.
Вот последовательность которую будем проводить для настройки нашей системы.
- Настраиваем DHCP-сервер,
- настраиваем TFTP-сервер,
- копируем PXElinux,
- расшариваем папку с распакованными образами,
- скачиваем и извлекаем winpe.wim,
- дорабатываем winpe.wim для работы с сетью,
- создаём файл для выбора устанавливаемой ОС.
Думаю стоит немного уточнить, что для чего нужно.
Настройка DHCP-сервера
Исходя из того, что сеть небольшая и в ней нет ни Линуксового, ни виндового
сервера, то можно предположить, что в качестве DHCP-сервера выступает роутер
компании. Настройка каждого конкретного роутера уникальна и по этому администратор
должен самостоятельно решить вопрос о добавлении необходимых настроек. В качестве примера
могу привести настройку роутеров Cisco.
conf t ip dhcp pool {ИМЯ} bootfile pxelinux.0 next-server {IP-адрес вашего TFTP-сервера}
В настройках роутера необходимо указать два параметра. Первый — это имя файла
для первоначальной загрузки PXE. Второй — это адрес TFTP-сервера. Настроив эти
данные на своём DHCP-сервере мы можем приступить к следующему шагу. Если у роутера нет
возможности манипулировать настройками его DHCP, то нужно искать выход. Например, можно
отключить автоматический DHCP на роутере и установить DHCP-сервер на компьютере
выделенном для сетевой установки операционных систем. В качестве универсального решения
могу предложить использовать Tftpd64, который выступает в роли как TFTP-сервера, так и
DHCP-сервера.
Настройка TFTP-сервера
Следующим шагом мы настраиваем TFTP-сервер. Хотя, что там настраивать? Устанавливаем
программу Tftpd64 и в ней указываем каталог в котором располагаются файлы для
нашего проекта. Допустим, что корень TFTP-сервера расположен по адресу D:\TFTP\.
Для усиления системы безопасности я не рекомендую располагать данные публичного
характера на системном диске.
Подготовка PXElinux
Далее ищем самый свежий архив на сайте
www.kernel.org.
Скачиваем на компьютер и распаковываем в отдельный каталог. Нам необходимо несколько файлов из этого архива.
Сначала я думал сделать свой архив, чтобы люди не выискивали нужное из архива, но потом передумал, ведь через
несколько месяцев или лет выйдет новая версия, а моя безнадёжно устареет. После копирования файлов
нужно будет создать каталог pxelinux.cfg и в нём два пустых файла: default и
graphics.conf. В результате получится вот такая структура.
- /pxelinux.cfg/
- /pxelinux.cfg/default
- /pxelinux.cfg/graphics.conf
- /ldlinux.c32
- /libcom32.c32
- /libutil.c32
- /pxelinux.0
- /vesamenu.c32
Создаём главное меню с выбором действия. Меню состоит всего из двух пунктов. Первый
отвечает за загрузку операционной системы с первого раздела жесткого диска. Второй
же отвечает за загрузку установщика операционных систем который мы подготовим чуть позже.
Загрузка с локального диска срабатывает через десять секунд бездействия. Это сделано для
компьютеров у которых забыли убрать загрузку по сети и за ними работают пользователи.
Файл default:
DEFAULT vesamenu.c32 PROMPT 0 MENU INCLUDE pxelinux.cfg/graphics.conf TIMEOUT 100 MENU TITLE WWW.ORCINUS.RU PXE Boot menu LABEL bootlocal menu label Boot Local HDD menu default localboot 0x80 LABEL wininstall64 menu label Установка MS Windows OS (x64) kernel pxeboot.0
Второй файл содержит информацию о настройке графического режима. Так сложилось
исторически из-за того, что у меня на «боевом» сервере используется
разветвлённое меню загрузчика и это вполне оправдано. В маленьких проектах нет
необходимости во вложенных меню, но если вы следили за моими статьями, то
читали статью о PXE загрузке компьютеров.
Возможно для вас подобный подход станет необходимым и
каждодневным инструментом.
Файл graphics.conf:
MENU MARGIN 10 MENU ROWS 16 MENU TABMSGROW 21 MENU TIMEOUTROW 26 MENU COLOR BORDER 30;44 #00000000 #00000000 none MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none MENU COLOR TITLE 0 #ffffffff #00000000 none MENU COLOR SEL 30;47 #40000000 #20ffffff MENU BACKGROUND background.png NOESCAPE 0 ALLOWOPTIONS 0
На этом основа проекта уже создана. PXE грузится, можно даже сделать меню, скопировать
пару утилит и пользоваться благами удалённой загрузки. Но наша цель — это установка
операционных систем Windows по сети. И тут кроется очень интересная система подводных
камней. В PXElinux можно подключить образ диска и загрузиться с него. Например, я таким
образом загружаю диски восстановления и LiveCD с антивирусными программами. Но у протокола
TFTP есть огромная проблема с передачей больших файлов. Дополнительно всё усугубляется тем,
что перед запуском образа весь файл образа копируется в оперативную память. Ради эксперимента
я запустил на нескольких компьютерах запуск установки Windows 10 используя стандартный
метод. На одном компьютере загрузка продлилась около трёх часов, а на остальных происходил
сбой приблизительно через час. И это только копирование образа в память. Так же на компьютере
должно быть установлено памяти больше чем занимает образ. Если вы попробуете загрузить
образ размером пять гигабайт, то памяти необходимо около шести. А в офисных компьютерах редко
встретишь больше четырёх гигабайт. Естественно, что это совершенно не рабочий вариант.
Расшариваем папку с образами операционных систем
Тут вообще всё очень просто. Создаём каталог на сервере и создаём не привилегированного пользователя
с доступом к этому каталогу с правами чтения и исполнения.
Допустим мы создали каталог D:\SETUP\ и дали к нему доступ. Так же надо сделать его сетевым.
Это тоже просто. Но для того, чтобы у пользователей не возник праздный интерес воспользоваться
публичным ресурсом я его сделал скрытым. Конечно, есть масса программ которые позволяют увидеть
скрытые каталоги на сервере, но сокрытие ресурсов не бывает лишним.
Но существует обходной путь. Мы воспользуемся небольшой операционной системой WindowsPE,
которая будет служить оболочкой для запуска установочной программы. WindowsPE
является полнофункциональной системой. В ней доступно подключение по сети к SMB-ресурсам,
есть графический интерфейс и возможность писать командные файлы, под ней можно запускать программы
написанные для ОС Windows. Больше всего меня интересует возможность работать с SMB, так как
это нас раскрепощает по скорости скачивания и уменьшает объём скачиваемой информации. Уменьшение
объёма произойдёт из-за того, что мы будем использовать лишь несколько реально необходимых файлов
из распакованного образа, а не огромный файл.
Продолжаем. Для дальнейшей работы нам необходимо найти чистый образ Winpe.wim. Лучше
его не скачивать со сторонних сайтов. Мало ли, кто туда заразу подсунет. Надо идти проторённым
и официальным путём. Заходим на сайт Майкрософта и скачиваем образ Windows AIK. Он распространяется
в виде ISO-образа, который необходимо смонтировать в систему. У Windows 10 ISO-образы
монтируются прямо средствами операционной системы. Находим внутри архив winpe.cab.
Внутри winpe.cab находится два файла: F1_WINPE.WIM и F3_WINPE.WIM.
С этого момента необходимо определиться с разрядностью операционной системы. В F1_WINPE.WIM
расположена 32-разрядная система, а в F3_WINPE.WIM — 64-разрядная система.
Так как подавляющее большинство офисных компьютеров оснащается четырьмя гигабатами оперативной памяти,
а процессоры поддерживают 64-бита с незапамятных времён, то рекомендую остановиться именно на 64-битной
системе.
Создадим каталог Boot в корневой папке вашего TFTP-сервера. Скопируем туда понравившийся файл
и переименуем его в winpe.wim.
Теперь из winpe.wim нужно извлечь несколько файлов и положить их в определённые каталоги.
Для доступа к внутренностям этого файла можно использовать архиватор 7-zip или Far manager. Лично я
пользуюсь Far и не замечаю разницы между файловой системой и внутренностями архива. Чтобы открыть
wim-архив необходимо выделить его курсором и нажать Crtl+PageDown.
Приведу таблицу размещения файлов для правильного копирования. В левой табличке каталог
вашего TFTP-сервера и название файла, а в правой файл из архива winpe.wim. Обратите внимание
на то, что файл pxeboot.n12 придётся переименовать, так как это одна из особенностей загрузки
файлов с использованием PXElinux.
TFTP файл | WIM файлы |
---|---|
\pxeboot.0 | Windows\Boot\PXE\pxeboot.n12 |
\bootmgr.exe | Windows\Boot\PXE\bootmgr.exe |
\Boot\Fonts\wgl4_boot.ttf | Windows\Boot\Fonts\wgl4_boot.ttf |
\boot.ini | Создать пустой файл. |
\Boot\winpe.wim | Скопировать сам архив winpe.wim. |
Но этого не достаточно для работы. Нужно еще сформировать BCD-файл, который
является заменой boot.ini в операционных системах Windows Vista и выше.
Для его формирования необходимо выполнить несколько команд с правами администратора.
Чтобы долго не печатать, создайте командный файл createbcd.cmd и скопируйте в него следующий текст.
bcdedit -createstore %1\BCD bcdedit -store %1\BCD -create {ramdiskoptions} /d "Ramdisk options" bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice boot bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi for /F "tokens=2 delims={}" %%i in ('bcdedit -store %1\BCD -create /d "WWW.ORCINUS.RU Boot Image" /application osloader') do set guid={%%i} bcdedit -store %1\BCD -set %guid% systemroot \Windows bcdedit -store %1\BCD -set %guid% detecthal Yes bcdedit -store %1\BCD -set %guid% winpe Yes bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions} bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions} bcdedit -store %1\BCD -create {bootmgr} /d "Windows BootManager" bcdedit -store %1\BCD -set {bootmgr} timeout 1 bcdedit -store %1\BCD -set {bootmgr} displayorder %guid%
Так как при создании BCD будет несколько файлов, то создайте каталог, например, C:\pxe\.
Скопируйте туда createbcd.cmd. Запустите командную строку от имени администратора и дайте команду.
C:\pxe\createbcd.cmd c:\pxe
Из сгенерированных файлов нам понадобится только два: BCD и boot.sdi. Оба файла необходимо скопировать
на наш TFTP-сервер в каталог \Boot\.
На этом моменте всё готово для запуска нашей сетевой операционной системы. Но это лишь запуск
Windows PE. А как на счёт запуска установки операционных систем? Для этого придётся откорректировать
образ winpe.wim.
Доработка Windows PE
В образе winpe.wim есть файл отвечающий за первоначальное иницирование. Используя Far Manager
можно открыть и отредактировать этот файл состоящий всего из одной команды. Адрес файла:
\Windows\System32\startnet.cmd
Чаще всего встречается инструция в которой этот файл содержит подключение сетевого
диска с распакованными образами и меню для установки. Но во время использования меня это
не устроило. Да, в этом случае у нас получается удобное загрузочное меню, а все настройки
лежат в одном файле. Но лично меня это не устраивает из-за того, что я люблю экспериментировать
и мне нужна универсальная система. По этой причине я разделил задачу на две подзадачи.
В startnet.cmd будет простенький скрипт подключающий сетевой диск и запускающий с этого
сетевого диска командный файл autostart.cmd.
Почему именно такой подход? Дело в том, что получить доступ к командному файлу на SMB-шаре
на порядок проще чем вспоминать адрес и имя файла в wim-образе операционной системы. Тем более,
манипулируя файлами и каталогами с программами установки операционных систем, вы всё равно
будете рядом с этим файлом и сможете оперативно вносить изменения.
Но никто не мешает вам объединить оба файла в один.
Содержимое startnet.cmd:
@echo off cls echo. echo Подготовка к запуску. echo Подождите немного... echo. wpeinit echo Подключение сетевого диска. echo. @net use Z: \\192.168.0.1\setup$ pa$$W0rd /USER:server\guest Z: z:\autostart.cmd exit /b
Не забудьте указать пароль и имя пользователя для подключения к SMB-ресурсу.
Так же не забудьте ограничить права этого пользователя лишь чтением и исполнением.
Дело в том, что злоумышленник (даже внутри своей конторы могут быть нежелательные
личности и шутники) может воспользоваться возможностью записи и редактирования файлов
в своих целях. Не забывайте о безопасности никогда.
И так, что ж мы тут имеем? В файле запускается команда wpeinit которая отвечает за
запуск сетевых сервисов и прочих настроечных приблуд. Далее идёт наш код. Я поместил
строку подключения к сетевом ресурсу в невидимую для ползователя область так, что он увидит
факт подключения сетевого ресурса, но не увидит логин и пароль пользователя для подключения.
В какой-то степени защита от дурака, но у простого пользователя не возникнет праздный интерес
воспользоваться полученной информацией. Далее будет произведен запуск командного файла с
сетевого ресурса.
Как мы знаем, с SMB работа происходит значительно быстрее и не будет лишних проблем с
попыткой скачать весь образ установочного диска. Установщих Windows воспользуется только
реально необходимыми ему файлами.
Содержимое z:\autostart.cmd, расположенного в корневой директории нашего ресурса:
@echo off :beginsetup cls echo Выберите интересующий вас пункт: echo. echo 1) Запуск Far manager echo. echo 2) Установка Windows 10 Professional echo. echo 3) Установка Windows 7 Professional echo. echo 4) Установка Windows Server 2016 Standard echo. echo 5) Установка Windows Server 2016 Hyper-V echo. echo Введите номер и нажмите Enter. set /p ID= echo. if %ID%==1 goto :farman if %ID%==2 goto :win10pro if %ID%==3 goto :win07pro if %ID%==4 goto :winsrv2016 if %ID%==5 goto :winsrv2016h if %ID% GTR 3 goto :failure if %ID% LSS 3 goto :failure exit /b :farman echo. echo Запуск установки. z:\Far\far.exe goto :beginsetup :win10pro echo. echo Запуск установки. z:\Windows_10_professional\setup.exe exit /b :win07pro echo. echo Запуск установки. z:\Windows_07_professional\setup.exe exit /b :winsrv2016 echo. echo Запуск установки. z:\Windows_Server_2016\setup.exe exit /b :winsrv2016h echo. echo Запуск установки. z:\Windows_Server_2016_hyperv\setup.exe exit /b :failure cls echo. echo Доступных пунктов не выбрано. echo Вернитесь в предыдущее меню и выберите нужный пункт. echo. pause goto :beginsetup
Осталось распаковать имеющиеся у вас образы операционных систем и
откорректировать файл для запуска установки. Помимо запуска установки операционных
систем можно запускать практически любое программное обеспечение. На основе этого
меню вы можете сделать запуск антивирусов, диагностических программ и собственных сетевых
приложений.
Надеюсь, что эта статья поможет в реализации ваших проектов, автоматизирует установку операционных
систем и создаст базу для дальнейшей автоматизации сетевых услуг.
Тэги: ИТ, Cisco
Отредактировано:2022-09-16 06:24:41
29 комментариев
Имя: Orcinus Orca 🖉
Андрей, какой размер дистрибутива? При загрузке ISO-шника нету строки прогресс-бара внизу. Если размер больше чем оперативы, то не загрузится.
Комментарий оставлен: 2017-12-19 00:00:00
Имя: Orcinus Orca 🖉
Андрей, тот который в дистрибутиве не запустится, он будет обращаться к несуществующему диску.
Судя по ошибкам на сервере на котором у вас крутится TFTP закрыты входящие соединения по портам 65***. В настройках TFTP можно жестко задать диапазон используемых портов для подключения клиентов (для функциональности лучше задать диапазон не менее 50 портов, на каждое новое подключение используется новый порт).
По февральскому надо внимательно смотреть имена образов, регистр и прочее. Почему-то повторяемость статьи оказалась не очень хорошей. Но проверить на большем количестве сетей не представляется возможным, я везде использую развёртывание через WDS. А то решение используется как временная заплатка.
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Андрей 🖉
содержимое BCD после работы Вашего скрипта:
Windows Boot Manager
——————————
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
description Windows BootManager
displayorder {04cadba0-eb5c-11e7-8473-005056c00008}
timeout 1
Windows Boot Loader
—————————-
identifier {04cadba0-eb5c-11e7-8473-005056c00008}
device ramdisk=[boot]Bootwinpe.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
description Boot Image
osdevice ramdisk=[boot]Bootwinpe.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
systemroot Windows
detecthal Yes
winpe Yes
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Андрей 🖉
Можно Вас попросить сбросить архивом Ваш полный рабочий пакет?
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Андрей 🖉
получилось пройти этап с BCD
сформировал BCD без передачи параметра пути
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Андрей 🖉
некоторые сетевые карты realtek не инициализируются wpeinit
соответственно требуется интеграция сетевых драйверов.
скорость копирования по tftpd32 до 6Mbs
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Андрей 🖉
AIK все же пришлось установить, чтобы быстро интегрировать недостающие сетевые драйвера.
Windows установилась! Finish!
Спасибо за идею!
Никакой там WDS и близко не стоял.
Комментарий оставлен: 2017-12-28 00:00:00
Имя: Orcinus Orca 🖉
Андрей, отлично. Поздравляю с успехом.
Плюсы WDS в том, что всё происходит централизовано, ненужно заморачиваться с кучей граблей.
Но я рад, что вы смогли повторить данную инструкцию. Не у всех получается.
Комментарий оставлен: 2017-12-29 00:00:00
Имя: Orcinus Orca 🖉
Андрей, список файлов для загрузчика перечислен в разделе «Подготовка PXElinux». Но действительно при написании я могу заббыть указать вещи которые мне кажутся тривиальными.
Комментарий оставлен: 2017-12-29 00:00:00
Имя: Андрей 🖉
WDS
выделить ресурс под сервер
установить сервер
установить сам WDS
и т.д.
а в данном варинанте можно разворачиваться мобильно в любом месте со своего ноута, причем интеграция заключатся только в распаковке iso образа, и все, Вы готовы к сетевой установке.
поправте у себя в мануале, что BCD нужно создать без передачи параметров в cmd
т.к. текущий путь сохраняется в BCD, а затем ошибка при загрузке.
Конечно сразу заметил, что в BCD путь, заданный параметром прописался, но никаких намеков, что именно это влияло.
кроме того сделал cmd для автоматической интеграции в winpe.wim любого количества драйверов.
AIK должен быть установлен.
структура, 2 папоки и cmd:
inf — драйвера, можно по папкам.
mount — для распаковки winpe.win
integrate drivers to winpe.cmd
содержание cmd:
@echo 1. AIK must be installed to: C:Program FilesWindows AIKToolsPETools
@echo 2. Put drivers to folder inf
@echo 3. Copy winpe.wim to the current folder
@echo.
@pause
@echo.
@set winpepath=%CD%
@C:
@cd «C:Program FilesWindows AIKToolsPETools»
@echo off
echo Updating path to include dism, oscdimg, imagex
echo.
if /i %PROCESSOR_ARCHITECTURE% EQU X86 set PATH=%~dp0;%~dp0..\%PROCESSOR_ARCHITECTURE%;%~dp0..\%PROCESSOR_ARCHITECTURE%Servicing;%PATH%;
if /i %PROCESSOR_ARCHITECTURE% NEQ X86 set PATH=%~dp0;%~dp0..\%PROCESSOR_ARCHITECTURE%;%~dp0..x86;%~dp0..\%PROCESSOR_ARCHITECTURE%Servicing;%~dp0..x86Servicing;%PATH%;
cd /d %~dp0
@dism /Mount-Wim /WimFile:%winpepath%winpe.wim /index:1 /MountDir:%winpepath%mount
@dism /image:%winpepath%mount /add-driver /driver:»%winpepath%inf» /recurse /forceunsigned
@dism /unmount-wim /mountdir:%winpepath%mount /commit
@echo.
@echo.
@echo.
@echo Drivers from inf folder integrated to winpe.wim
@echo.
@echo Now you can copy winpe.wim to TFPTD root folder: ’Boot’
@echo.
@echo.
@pause
:end
p.s. почистите мои посты, оставьте только необходимое.
Спасибо.
Комментарий оставлен: 2017-12-29 00:00:00
Имя: Андрей 🖉
Да, Вы правы c BCD, возможно одновременно с созданием BCD перешел на tftpd32 и ошибочно принял, что проблема была в BCD, а не в tftpd64.
по интеграции драйверов, тем проще и быстре — тем лучше и эффективнее.
т.е. уставновили AIK, создали две папки и батник — winpe.wim с драйверами готов. все!
Что представляет наибольшую ценность на сегодня?
— простота
— быстрота
— минимализм
и т.д. в таком же духе
WDS, WSUS (кстати разворачивал, пользовался, удалил) — это полная противоположность, это мамонты прошлого века и must die
Windows считаю, что это дружественный инструмент пользователя, но никак для сервисных нужд.
p.s. Вообще, нужно будет как нибудь попробовать перенести это все на Linux, если создавать PXE как стационарный вариант.
Комментарий оставлен: 2017-12-30 00:00:00
Имя: Orcinus Orca 🖉
Андрей, у вас несколько устаревшее представление. Но думаю когда у вас перевалит хотябы за 800 компьютеров в сети, тогда вы поймёте в чем сила и плюсы большой развёрнутой системы.
Комментарий оставлен: 2017-12-30 00:00:00
Имя: Андрей 🖉
Возможно,
но пока всё сервисное ПО под Windows приводит только в ярость.
поэтому все что можно перевожу на linux, это gstes, site-to-site, backups, http, sftp, dhcp, loaders, и т.д.
вот и загрузчик для сетевой установки теперь одной ногой в linux…
Уточните, у Вас в офисе около 800 компьютеров?
Вам при жизни нужно ставить мемориал, если у Вас всё крутиться на Windows!!!
Комментарий оставлен: 2017-12-30 00:00:00
Имя: Orcinus Orca 🖉
Конкретно данный пут внутри файлика ни на что не влияет. Я уже проверял. В майкрософтовских реализациях там иногда висят такие пути, что можно догадаться о именах пользователей в корпорации.
Про драйвера надо бы написать еще один мануал, пошаговый. Тут я хотел показать то, что без AIK в принципе реально создать образ.
Про мобильность развёртывания — это хорошо. Но она всё-же требуется на больших предприятиях, а когда у тебя много компов и десяток серверов, то можно и под развёртку ресурс найти. У меня WDS стоит вместе с WSUS.
Огромное спасибо за обратный отзыв.
Комментарий оставлен: 2017-12-30 00:00:00
Имя: Hash911 🖉
Я в первый раз собирал WinPE и все хорошо в описании кроме того, где брать boot.sdi
1) У меня в сборке f3_winpe.wim из AIK не было boot.sdi.
Брать boot.sdi надо с любого диска установки Win7/8/10 из /boot/boot.sdi (это драйвер виртуального диска и он универсальный)
2)Путь, как писали выше, который прописывается в BCD из-за переменной в батнике действительно может поставить раком TFTP Server. На Микротике прошло только без пути и забирать пришлось сгенерированный файл и корня системы.
3) У Андрея классный скрипт по интеграции драйверов .inf файла. Но начиная с Win7 необходимости ставить AIK нет так как DISM.exe идет в комплекте по умолчанию. Остальные утилиты в скрипте не используются. Ну и команды «mkdir %winpepath%mount» явно не хватает такак из-за её отсутствия dism некуда монтировать образ winpe.wim.
Сами драйвары, можно позаимствовать из DriverPack. Там хорошая свалка из Lan дравйверов.
Вот такой у меня получился скрипт:
@echo 1. Put drivers to folder inf
@echo 2. Copy winpe.wim to the current folder
@set winpepath=%CD%
mkdir %winpepath%mount
@dism /Mount-Wim /WimFile:%winpepath%winpe.wim /index:1 /MountDir:%winpepath%mount
@dism /image:%winpepath%mount /add-driver /driver:»%winpepath%inf» /recurse /forceunsigned
@dism /unmount-wim /mountdir:%winpepath%mount /commit
@echo.
@echo Drivers from inf folder integrated to winpe.wim
@echo.
@echo Now you can copy winpe.wim to TFPTD root folder: ’Boot’
Комментарий оставлен: 2018-02-28 00:00:00
Имя: Orcinus Orca 🖉
Hash911, в инструкции приведет командный файл createbcd.cmd который генерирует этот файлик.
Да, интеграция драйверов может быть серьёзным вопросом для новых материнок.
Комментарий оставлен: 2018-03-01 00:00:00
Имя: Павел 🖉
WinPE от Windows 7 не поддерживает большинство драйверов для современных сетевых карт, следовательно, не удается примонтировать сетевой диск.
выход — переделать WinPE (boot.wim), я это сделал с помощью нового Windows Kit (Win 10) (все по аналогии с гайдом автора)
Комментарий оставлен: 2018-03-02 00:00:00
Имя: Orcinus Orca 🖉
Павел, интересное решение.
Комментарий оставлен: 2018-03-11 00:00:00
Имя: imarek 🖉
У вас при формировании BCD вначале путь ootoot.sdi затем Bootwinpe.wim
Я долго мучался с tftp на ubuntu, где, как известно регистр значение имеет.
Еще проблема возникла — при старте WinPE (я взял ее от Windows 10 из-за драйверов) долго инициализируется сеть — около 10 секунд, поэтому команда net use выдает ошибку.
В startnet.cmd никаким способом не удалось всавить задержку или ping с обработкой ошибки.
Может кто сталкивался или идеи есть?
Комментарий оставлен: 2018-04-26 00:00:00
Имя: Orcinus Orca 🖉
imarek, при подготовке файлов необходимо было строго следовать инструкции, в исходниках именно такие регистры и должны использоваться.
Комментарий оставлен: 2018-04-27 00:00:00
Имя: Orcinus Orca 🖉
Алексей, всё зависит от того какой тип системы вы хотите использовать, лично я использую:
ioscom32elflinkldlinuxldlinux.c32
ioscom32liblibcom32.c32
ioscom32libutillibutil.c32
ioscorepxelinux.0
ioscom32menuvesamenu.c32
Комментарий оставлен: 2018-10-12 00:00:00
Имя: Orcinus Orca 🖉
user, десятка не запускается с помощью такой вот системы. Она хочет запущенную винду 32 или 64 разряда.
Комментарий оставлен: 2019-11-05 00:00:00
Имя: Евгений 🖉
Один символ в статье не отображается. Возможно из-за нестандартного шрифта. Например, вот здесь «? ootmgr.exe WindowsBootPXE? Ootmgr.exe» логично предположить неспособную отобразится букву «b» или «B». Соответственно регистр неизвестен, если он где-то влияет.
Комментарий оставлен: 2021-01-23 23:41:20
Ответ:
Спасибо за замечание. Косяк переезда сайта с ASP на PHP. В течение недели восстановлю правильные символы.
Ответ оставлен: 2021-01-26 19:01:39
Имя: Евгений 🖉
самое неприятное, что содержимое для файла «createbcd.cmd» у Вас на сайте выглядит вот так:
bcdedit -createstore %1BCD
bcdedit -store %1BCD -create {ramdiskoptions} /d «Ramdisk options»
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdipath ootoot.sdi
for /F «tokens=2 delims={}» %%i in (‘bcdedit -store %1BCD -create /d «WWW.ORCINUS.RU Boot Image» /application osloader’) do set guid={%%i}
bcdedit -store %1BCD -set %guid% systemroot Windows
bcdedit -store %1BCD -set %guid% detecthal Yes
bcdedit -store %1BCD -set %guid% winpe Yes
bcdedit -store %1BCD -set %guid% osdevice ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -set %guid% device ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -create {bootmgr} /d «Windows BootManager»
bcdedit -store %1BCD -set {bootmgr} timeout 1
bcdedit -store %1BCD -set {bootmgr} displayorder %guid%
Комментарий оставлен: 2021-01-24 03:25:03
Ответ:
Косяк переезда сайта с ASP на PHP. В течение недели восстановлю правильные символы.
Ответ оставлен: 2021-01-26 19:01:06
Имя: Orcinus Orca 🖉
Всё исправил.
Комментарий оставлен: 2021-01-27 10:59:17
Имя: Дмитрий 🖉
Мертва ли тема не знаю, делал разными способами. Во всех у меня все загружается но не работает клавиатура и мышь. Пробовал грузится с виртуалки там все работает, не работат только на физическом оборудовании. Все драйвера которые существуют уже позасовывал. Думаю этот варик работает только на старых компах.
Комментарий оставлен: 2024-11-12 09:25:01
Имя: Дмитрий 🖉
Вообще ради интереса еще потратил кучу времени и добил все таки образ рабочий. Все решилось путем установки с сайта Microsoft необходимые инструменты ADK и WinPE последней версии и вытягивании от туда bootwim, засунул туда драйвера и сделал iso образ так как pxelinux может грузить маленькие образы легко, и чудо все заработало.
Комментарий оставлен: 2024-11-21 08:53:49
Ответ:
Это старая технология, но работает до сих пор как часики.
Ответ оставлен: 2025-02-20 09:27:35
Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту,
предлагать только интересную информацию и упростить заполнение форм. Я
предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с
использованием мной файлов cookies. Вы в любое время можете удалить и/или
запретить их использование изменив настройки своего интернет-браузера.
Сообщайте мне о замеченных ошибках на:
web@orcinus.ru.
Все пожелания и советы будут учтены при дальнейшем проектировании сайта.
Я готов сотрудничать со всеми желающими.
В некоторых случаях, мнение автора может не совпадать с мнением автора!
Phone: +7-902-924-70-49.
В этой статье мы разберемся, как на базе Windows Server 2012 R2 установить и настроить связку Microsoft Deployment Toolkit 2013, Windows Assessment & Deployment Kit и роли WDS, и использовать этот набор для разворачивания образа Windows 10 на компьютеры клиентов по сети путем загрузки в режиме PXE (Preboot Execution Environment).
Нам понадобятся следующие компоненты:
- Windows Deployment Services – это роль Windows Server 2012, используемая для загрузки и разворачивания операционных систем по сети
- Microsoft Deployment Toolkit (MDT) 2013 Update 1 ( https://www.microsoft.com/en-us/download/details.aspx?id=48595) – набор инструментов для автоматизации развертывания операционных систем на рабочие станции и сервера
- Windows Assessment and Deployment Kit (Windows ADK) для Windows 10 (https://go.microsoft.com/fwlink/p/?LinkId=526740) – набор компонентов для настройки и развертывания Windows на новые компьютеры
- Установочный образ Windows 10 — в виде iso образа или установочного диска
Содержание:
- Установка роли Windows Deployment Services
- Установка Microsoft Deployment Toolkit 2013
- Установка Windows Assessment and Deployment Kit
- Настройка MDT 2013
- Создание задания установки MDT
- Настройка загрузочного образа в Windows Deployment Services
- Тестирование установки Windows 10 по сети
Установка роли Windows Deployment Services
В первую очередь нужно на сервере под управлением Windows Server 2012 R2 установить роль Windows Deployment Services. Установку роли можно выполнить из консоли Server Manager. В списке ролей выберите Windows Deployment Services и нажмите Next.
В списке устанавливаемых компонентов роли WDS отметьте службы Deployment Server и Transport Server.
Запустите установку роли WDS (занимает пару минут).
Совет. Роль Windows Deployment Services можно установить с помощью всего одной команды PowerShell:
Install-WindowsFeature -Name WDS -IncludeManagementTools
Установка Microsoft Deployment Toolkit 2013
Установите Microsoft Deployment Toolkit (MDT) 2013 Update 1 со стандартными настройками, для чего достаточно скачать и запустить с правами администратора файл MicrosoftDeploymentToolkit2013_x64.
Установка Windows Assessment and Deployment Kit
Далее нужно установить Windows Assessment and Deployment Kit (Windows ADK) для Windows 10. Скачайте и запустите файл adksetup.exe.
Укажите каталог для установки (по умолчанию C:\Program Files (x86)\Windows Kits\10\).
В списке компонентов ADK для установки отметьте:
- Deployment tools –используется для настройки образа Windows и автоматизации развертывания образа
- Windows Preinstallation Environment (Windows PE) – среда WinPE — минимальная ОС, разработанная для подготовки компьютера к установке Windows или обслуживания
- User State Migration tool (USMT) – набор инструментов для миграции данных пользователей между системами
Запустите установке Windows ADK.
Теперь нам нужен дистрибутив Windows 10. В нашем примере это будет Windows 10 x64 Pro. Т.к. MDT не позволяет напрямую работать с iso файлами образа Windows, необходимо распаковать установочные файлы. Самый простой вариант – смонтировать файл с iso образом Windows 10 через File Explorer (Проводник) в отдельный виртуальный драйв (ПКМ по iso файлу-> Mount).
Настройка MDT 2013
Приступим к настройке MDT 2013. Запустим консоль Deployment Workbench, щелкнем ПКМ по Deployment Share и создадим новый каталог (New Deployment Share).
В окне мастера создания нового каталога распространения укажите путь к папке (C:\DeploymentShare в нашем случае).
Укажите сетевое имя каталога (мы оставили имя по умолчанию DeploymentShare$) и нажмите Next.
Совет. Знак “$” в имени сетевой папки означает, что она будет скрыта от пользователей.
После окончания работы мастера перейдите в папку C:\DeploymentShare.
В этой папке хранятся образы ОС, драйвера, настройки, пакеты с приложениями и т.д. Папка является портабельной и может быть легко перенесена на другой MDT сервер.
Чтобы все сетевые клиенты (в том числе анонимные) могли обращаться к содержимому этой папке, в свойствах сетевой папки DeploymentShare$, нужно добавить группу Everyone с разрешением на чтение.
На следующем шаге нам нужно импортировать образ Windows 10. MDT поддерживает импорт образа операционной системы непосредственно с диска дистрибутива, wim файла или образа wds.
Разверните Deployment Shares -> MDT Deployment share. ПКМ по разделу Operating systems и в меню выберите Import Operating System.
Выберите пункт Full set of source files и укажите имя драйва, на который был смонтирован iso образ Windows 10.
Укажите имя каталога, в котором будет храниться импортируемый образ.
Мастер скопирует файлы дистрибутива Windows 10 в каталог C:\DeploymentShare\Operating Systems\Windows10Prox64, а в разделе Operating Systems появится новый запись, указывающая на образ Windows 10 Pro x64.
Создание задания установки MDT
Теперь нужно создать задание установки (Task Sequence), представляющее собой последовательность действий, необходимых для разворачивания Windows (это установка ОС, драйверов, приложений, конфигурация системы, обновлений, запуск различных скриптов настройки и т.п.).
Щелкните ПКМ по разделу Task Sequences и выберите New Task Sequence.
В качестве идентификатора задания (Task sequence ID) укажем DeployWin10x64, а имени (Task sequence name) — “Deploy Windows 10 x64”.
В выпадающем меню нужно выбрать один из существующих шаблонов заданий установки. В нашем случае это будет Standard Client Task Sequence.
Выберите ОС, которую нужно установить в рамках этого задания (Windows 10 Pro x64).
Затем можно указать ключ продукта, это может быть как retail, MAK или KMS ключ.
Далее можно задать пароль локального администратора на устанавливаемой системе.
Совет. Имейте в виду, что пароль хранится в открытом виде в файле Unattend.xml, поэтому стоит задать простой пароль локального администратора, который после ввода компьютера в домен будет автоматически измен с помощью MS LAPS.
Откройте свойства созданного задания и проверьте, что его запуск разрешён на любых платформах (This can run on any platforms).
На вкладке Task Sequence отображается последовательность шагов, определенных в шаблоне, которые нужно выполнить при разворачивании ОС на клиенте. Здесь можно добавить собственные шаги, либо оставить все по-умолчанию.
Далее нужно обновить каталок распространения MDT. Щелкните ПКМ по MDT Deployment Share и выберите Update Deployment Share. MDT сгенерирует загрузочные образы и файлы, нужные для установки ОС.
При первом запуске каталог C:\DeploymentShare\Boot пуст, поэтому нужно выбрать пункт Completely regenerate the boot image и дождаться генерации образов ОС.
В каталоге C:\DeploymentShare\Boot должны появится iso и wim образы Windows PE для x86 и x64 платформ. Эти образы могут быть использованы для загрузки физических или виртуальных машин при разворачивании образа. При разворачивании образа Windows по сети (PXE boot) с помощью Windows Deployment Services могут быть использованы wim файлы.
Совет. Т.к. мы планируем использовать загрузку PXE booting, нам понадобятся только wim файлы LiteTouchPE_x64.wim и LiteTouchPE_x86.wim.
Настройка загрузочного образа в Windows Deployment Services
Следующий этап – настройка сервера WDS, который должен обслуживать запросы клиентов PXE. Откройте консоль Windows Deployment Services (Server Manager -> Tools -> Windows Deployment Services), разверните ветку Servers и в контекстном меню сервера выберите Configure Server.
Укажем, что это будет отдельный WDS сервер (Standalone Server), не зависимый от Active Directory.
Каталог установки оставим без изменений — C:\RemoteInstall.
В настройках клиента PXE нужно указать, что нужно отвечать на запросы всех клиентов — Respond to all clien computers (known and unknown).
Совет. В среде Active Directory было бы безопаснее использовать опцию Respond only to known client computer.
Снимите галку– Add images to the server now.
Зеленый треугольник на имени WDS сервера означает, что он настроен и запущен.
Теперь нам нужно импортировать на WDS сервер загрузочный образ, который мы создали ранее с помощью MDT. Щелкните ПКМ по Boot Image –> Add boot image.
Перейдите в каталог C:\DeploymentShare\Boot и последовательно добавьте файлы LiteTouchPE_x86.wim и LiteTouchPE_x64.wim.
Последнее, что осталось выполнить – открыть свойства WDS сервера и перейти на вкладку Boot. Чтобы предотвратить случайную загрузку клиентов через PXE и автоматическую установку Windows, зададим обязательное использование клавиши F12 для использования PXE-загрузки. Для этого в секции PXE Boot Policy нужно выбрать опцию Require the user to press the F12 key to continue the PXE boot.
Здесь же укажите загрузочные образы для архитектур x86 и x64 (в том числе для архитектуры UEFI).
Все остальные настройки WDS сервера оставим по-умолчанию. Перезапустите службу WDS через консоль (All tasks ->Restart).
Важно. WDS сервер и клиентский компьютер, на который вы хотите установить ОС через PXE, должны находится в одной подсети (VLAN). Если они расположены в разных подсетях, нужно настроить DHCP-relay (IP Helper) с дополнительными DHCP опциями 60 и 67.
Тестирование установки Windows 10 по сети
Теперь мы готовы протестировать сетевую загрузку компьютера клиента с wim образа, расположенного на WDS сервере (PXE boot). В этом тесте это будет виртуальная машина VMWare. Запустите ВМ и в процессе загрузи несколько раз нажмите клавишу F12 для начала загрузки через PXE.
Press F12 for network service boot
Совет. Т.к. экран загрузки в ВМ проскакивает слишком быстро, практически нереально успеть нажать кнопку F12. Поэтом в настройках ВМ предпочтительно задать наивысший приоритет для загрузочного устройства Network boot from Intel E1000.
Машина подключится к WDS серверу и получит список доступных загрузочных образов Windows PE. В стандартном диалоге Boot Manager нужно быте выбрать ОС, которую нужно загрузить. В нашем случае это Lite Touch Windows PE (x86).
Система начнет загрузку по сети wim образа со средой WinPE и предложит начать установку Windows 10 с помощью мастера Microsoft Deployment Tool Wizard.
Нажмите на кнопку Run the Deployment Wizard to install a new Operating System для запуска пошагового мастера установки образа Windows 10 на компьютер клиента.
В нашем примере также понадобилось указать UNC путь к сетевой папке DeploymentShare$ на MDT сервере(\\10.1.24.170\DeploymentShare$) и имя+пароль пользователя для доступа к ней.
Осталось среди доступных заданий выбрать созданное ранее Deploy Windows 10 x64 и дождаться окончания сетевой установки образа Windows 10 на этот компьютер.
Итак, в этой статье мы показали, как воспользоваться функционалом MDT 2013 и WDS сервера для создания инфраструктуры, позволяющей в автоматическом режиме по сети развернуть образ Windows 10 на клиентах.
В этой статье мы рассмотрим шаги, необходимые для того, чтобы установить и настроить систему автоматической установки клиентских операционных систем на основе Windows Deployment Services. Мы добавим на сервер необходимые загрузочные образы и драйверы, создадим образ для захвата и воспользуемся им для создания установочного образа на основе подготовленной эталонной инсталляции операционной системы Windows 7.
Установка Windows Deployment Services.
Начнем с установки роли Windows Deployment Services на компьютере с операционной системой Windows Server 2008 R2.
Откроем Server Manager, выберем Roles и щелкнем на Add Roles.
Нажмем Next.
В следующем окне ставим галочку в пункте Windows Deployment Services и нажмем Next.
Еще раз Next.
Здесь нам нужно выбрать службы роли Windows Deplotment Services.
Deployment Server позволяет создавать образы операционных систем и управлять ими. Также он позволяет устанавливать эти операционные системы на компьютеры по сети. Для задач передачи данных использует Transport Server.
Transport Server содержит функционал, необходимый для доставки данных по сети, включая доставку с использованием мультикастинга, и может устанавливаться как отдельно, так и с Deployment Server.
Нам понадобятся обе службы. Нажимаем Next.
На странице Confirmation нажимаем Install.
И по завершении установки на странице Results нам сообщают о ее результатах. Нажимаем Close.
Настройка Windows Deployment Services.
Итак, мы установили роль Windows Deployment Services, и теперь нам нужно произвести его первоначальную настройку.
Нажимаем правой кнопкой на имя нашего сервера и выбираем Configure Server.
Откроется окно Before You Begin мастера Windows Deployment Services Configuration Wizard. Здесь нам сообщают, что после конфигурации сервера нам нужно будет добавить как минимум один загрузочный и один установочный образ. Этим мы займемся чуть позже.
Также здесь перечислены требования, соответствие которым является необходимым для работы Windows Deployment Services, а именно, что настраиваемый нами сервер является членом домена (или же контроллером) Active Directory, что в сети существуют активные DHCP и DNS серверы, а также, что на нашем сервере присутствует раздел диска с файловой системой NTFS, на котором предполагается хранить образы операционных систем.
Нажимаем Next.
В окне мастера Remote Installation Folder Location нам предлагается выбрать каталог, который будет содержать загрузочные и установочные образы, загрузочные файлы PXE (Pre-Boot Execution Environment) и средства управления Windows Deployment Services. Также здесь нам напоминают о том, что раздел, на котором предполагается создать требуемую папку должен содержать файловую систему NTFS.
Выбираем папку и нажимаем Next.
В окне DHCP Option 60 нам сообщают, что на нашем сервере обнаружен DHCP сервер, и предлагают отметить обе присутствующие в окне галочки. Первая, Do not listen on port 67, предписывает службе развертывания Windows не прослушивать порт 67, так как это будет делать присутствующий на нашем сервере DHCP сервер. Вторая галочка, Configure DHCP Option 60 to ‘PXEClient’, добавляет в свойства DHCP сервера опцию 60 со значением ‘PXEClient’, что будет указывать подключающимся клиентам, что данный сервер, кроме DHCP также содержит службу развертывания Windows.
В соответствии с рекомендациями мы поставим обе галочки.
Нажимаем Next.
В окне PXE Server Initial Settings нам предлагают выбрать будет ли отвечать наш WDS сервер клиентам, и если будет, то каким и как.
У нас есть три варианта на выбор.
Do not respond to any client computers. При выборе этого варианта, служба развертывания Windows не будет отвечать на запросы клиентов. Эту опцию стоит выбирать, если вы не хотите чтобы сервер принимал запросы от клиентов, пока вы полностью его не сконфигурируете.
Respond to only known client computers. При выборе этого параметра, сервер будет отвечать на запросы только тех машин, информация о которых уже содержится в Active Directory. То есть, чтобы сервер развертывания Windows ответил на запрос компьютера, необходимо, чтобы учетная запись для этого компьютера уже присутствовала в Active Directory. Сделать это можно из оснастки Active Directory Users and Computers, которая устанавливается вместе с ролью Windows Deployment Services. (Из оснастки Active Directory Users and Computers контроллера домена, на котором нет роли WDS это сделать не получится, так как при создании учетной записи компьютера страницы, запрашивающей GUID или MAC-адрес компьютера там не будет.)
Кроме оснастки, для добавления информации о компьютере можно воспользоваться утилитой wdsutil.exe с ключом /Add-Device.
Respond to all client computers (known and unknown). Результатом выбора этой опции будет то, что сервер будет отвечать на все запросы, вне зависимости от того, если ли учетная запись компьютера в Active Directory или нет.
При выборе этого варианта становится доступной галочка Requre administrator approval for unknown computers.
Установка этой галочки приведет к тому, что компьютер с отсутствующей в Active Directory учетной записью сможет продолжить установку только после утверждения администратором. Компьютер появится в списке Pending Devices оснастки Windows Deployment Services, где администратор может либо разрешить установку, либо запретить ее.
Также администратор может просмотреть список ожидающих компьютеров и разрешить или запретить установку используя уже упомянутую утилиту wdsutil.exe с ключами /Get-AutoAddDevices, /Approve-AutoAddDevices и /Reject-AutoAddDevices.
Выбираем вариант Respond only to known client computers и нажимаем Next.
На странице Operation Complete нам предлагают добавить загрузочные и установочные образы по завершении работы мастера. Сейчас мы не будем добавлять образы, поэтому оставим галочку снятой и нажмем Finish.
Свойства сервера WDS.
Как мы видим, теперь наш сервер настроен и мы можем начать добавлять образы. Но сначала стоит посмотреть где содержатся настройки сервера, в том числе те, которые мы только что сконфигурировали.
Щелкаем правой кнопкой мыши ни имени нашего сервера и выбираем Properties.
Перед нами откроется окно WDS Properties, содержащее несколько вкладок. Рассмотрим их внимательнее.
Вкладка General.
Здесь указаны имя нашего сервера, каталог, выбранный нами для хранения образов, а также режим работы сервера WDS.
На вкладке PXE Response мы можем обнаружить опции, отвечающие за поведение сервера при ответе на запросы компьютеров, а также величину интервала задержки перед отправкой ответа.
Вкладка AD DS содержит поле шаблона именования компьютеров, учетные записи которых отсутствуют в Active Directory. То есть компьютеры, учетные записи которых не представлены в службе каталогов будут получать имена в соответствии с этим шаблоном. Нажав на ссылку How to specify this format можно узнать о правилах составления данного шаблона.
Кроме того, на этой вкладке можно задать местоположение учетных записей компьютеров, которые будут созданы в процессе установки. В данном случае также имеются в виду те компьютеры, которые не имеют учетной записи в Active Directory.
На вкладке Boot можно задать как будет инициализироваться загрузка по сети (PXE boot).
При выборе Require the user to press the F12 key to continue PXE boot, при старте PXE загрузки будет выведено предложение нажать клавишу F12 для продолжения загрузки по сети. Если же в течение определенного периода времени нажатия клавиши не произойдет, то PXE загрузка будет отменена и компьютер попытается загрузиться с помощью следующего в списке метода загрузки.
Результатом выбора Always continue the PXE boot будет то, что PXE загрузка будет продолжена без какого-либо требования нажать клавишу.
И третий вариант, Continue the PXE boot unless the user presses the ESC key, указывает, что загрузка по сети будет продолжена если в течение определенного интервала времени пользователь не нажмет клавишу ESC.
Для чего это нужно?
Например, вы выбрали вариант Always continue to PXE boot. Он удобен тем, что для загрузки компьютера по сети не нужно будет нажимать никаких клавиш, и пользователь, находящийся в этот момент около компьютера не сможет прервать PXE загрузку нажатием клавиши ESC.
Но с другой стороны, если загрузка по сети стоит первой в списке загрузки компьютера, то это может привести к тому, что компьютер начнет установку операционной системы по сети, но после первой же перезагрузки, процесс повторится, так как компьютер будет пытаться загрузаиться не с жесткого диска (как следовало бы), а опять же при помощи PXE. В этом случае опция Require the user to press the F12 key to continue PXE boot становится весьма полезной.
Какая же опция подходит для вашей сети – решать вам, в зависимости от настройки сервера WDS и используемых вами методов развертывания операционных систем.
Также на этом экране можно задать загрузочный образ по умолчанию для компьютеров архитектуры x86, x64 или же ia64.
На вкладке Client мы можем выбрать файл ответов клиента WDS для каждой из поддерживаемых архитектур.
Существует два вида файлов ответов – файл ответов клиента WDS и файл ответов установочного образа.
Файл ответов клиента WDS позволяет автоматизировать ту часть установки, в которой, после загрузки компьютера с помощью загрузочного образа, предоставленного ему сервером WDS, вводятся данные об учетной записи для доступа к серверу WDS, размечается жесткий диск и выбирается образ для установки.
Файл ответов установочного образа применяется при автоматизации установки операционной системы, т.е. после того, как комьютер загрузит установочный образ и запустится уже со своего жесткого диска, и настраивается на уровне установочного образа. Файлы ответов этого типа отличаются для операционных систем Windows 7 и Windows XP.
Установка галочки Do not join the client to a domain after an installation приведет к тому, что сервер WDS не будет вводить установленные компьютеры в домен, хотя по умолчанию он это делает.
И последняя галочка отвечает за ведение журнала установки операционной системы. Установив эту галочку, вы получаете доступ к выпадающему списку, где вы можете выбрать типы регистрируемых событий.
Параметры, представленные на вкладке DHCP уже знакомы нам по мастеру первоначальной настройки и относятся к конфигурации, когда службы WDS и DHCP находятся на одном сервере.
Первая галочка, Do not listen on port 67, предотвращает прослушивание сервером WDS порта 67, так как этот порт будет прослушиваться сервером DHCP.
Вторая галочка, Configure DHCP option 60 to indicate that this server is also a PXE server, отвечает за добавление опции 60 в параметры DCHP сервера. Эта опция будет указывать клиентам DHCP, что данный компьютер также является и PXE сервером.
Вкладка Multicast, содержит опции, относящиеся к развертыванию операционных систем одновеременно на множество компьютеров при помощи мультикастинга. В данной статье мы не будем касаться настройки многоадресного вещания, так что пропустим подробное рассмотрение параметров данной вкладки и перейдем к следующей.
На вкладке Advanced у нас есть возможность предоставить серверу WDS динамически выбирать серверы службы каталога либо мы можем сами выбрать контроллер домена и сервер глобального каталога для использования сервером WDS.
Также на этой вкладке мы можем выбрать, нужно ли авторизовывать сервер WDS в DHCP.
Что это такое?
В сущности, авторизация сервера развертывания операционных систем заключается в добавлении записи о сервере в раздел конфигурации Active Directory по пути cn=NetServices,cn=Services, как это происходит при авторизации DHCP сервера.
Эту процедуру также можно выполнить при помощи утилиты wdsutil.exe с командой /Set-Server /Authorize:Yes.
Но в отличие от сервера DHCP, отсутствие авторизации которого приведет к тому, что он не будет обслуживать клиентов, для сервера WDS эту проверку нам нужно включить. Сделать это можно при помощи уже упомянутой утилиты wdsutil.exe с командой /Set-Server /RogueDetection:Yes.
Здесь есть одна особенность. Если серверы DHCP и WDS установлены на одной машине, то авторизация сервера WDS не будет иметь смысла, так как в этом случае запросы на порт 67 будут обрабатываться сервером DHCP и проверяться будет именно его авторизация.
Таким образом, для того, чтобы проверка авторизации проходила как для DHCP, так и для WDS, каждая из этих служб должна функционировать на отдельной машине.
На вкладке Network мы можем настроить диапазон портов, используемый сервером WDS для передачи клиентам образов операционных систем как при использовании мультикастинга, так и протокола TFTP.
Также на этой вкладке содержатся опции выбора сетевого профиля для использования сервером WDS.
Драйверы.
Теперь поговорим о драйверах.
При загрузке по сети, компьютер загружается при помощи полученого с сервера WDS загрузочного образа. В случае, если данный образ не содержит требуемых драйверов сетевой карты, то у компьютера не получится установить соединение с сервером WDS для выбора и последующей загрузки установочного образа.
В таком случае нужно добавить необходимый драйвер в загрузочный образ (равно как и в образ захвата операционной системы, Capture Image, и в образ обнаружения сервера WDS, Discovery Image, но об этом позже). И первым шагом будет добавление этого драйвера на сервер WDS.
В этом примере мы добавим драйвер для сетевых карт Realtek. Начнем с 64-х битной версии драйвера.
Щелкаем правой кнопкой мыши на узле Drivers и выбираем Add Driver Package…
Появляется окно Driver Package Location мастера добавления драйверов. Здесь нам требуется указать расположение файлов драйвера.
Оставляем параметр Select driver packages from an .inf file, выбираем требуемый .inf файл и щелкаем Next.
В окне Available Driver Packages нас информируют о том, какие пакеты драйверов были найдены в указанном нами месте. Здесь мы можем снять галочку с тех пакетов, которые мы не желаем добавлять на сервер. Также у нас есть возможность подробнее ознакомиться с содержимым пакета, дважды щелкнув на соответствующей ему строке.
Так как в предыдущем окне мы выбрали вариант указания .inf файла, в нашем случае здесь представлен всего один пакет. Дважды щелкнем на нем левой кнопкой мыши.
В открывшемся окне мы можем узнать общую информацию о пакете, список входящих в него драйверов (вкладка Drivers) и список файлов, составляющих данный пакет (вкладка Files).
Закроем окно нажатием на кнопку OK и перейдем к следующему окну мастера.
В окне Summary мы видим выбранный нами пакет драйверов. Нажатием на кнопку Next этот пакет будет добавлен на сервер WDS.
В следующем окне нас информируют об успешном добавлении пакета драйверов. Нажимаем Next.
В окне Driver Groups нам предлагают добавить этот пакет в группу драйверов, чтобы он был доступен для клиентов во время установки. Мы не будем этого делать и выберем вариант Do not put the driver package in a driver group at this time. Нажимаем Next.
В последнем окне мастера мы видим галочку Modify the filters for this group now, установив которую, в случае если бы мы добавили пакет в какую-либо группу в предыдущем окне, мы бы могли создать или изменить фильтры для этой группы.
Нажимаем Finish и повторяем процедуру для 32-х битной версии драйверов.
В итоге, узел All Packages, находящийся под узлом Drivers будет выглядеть следующим образом.
Загрузочные образы (Boot Images).
Теперь мы можем заняться добавлением загрузочных образов.
Щелкаем правой кнопкой мыши на узле Boot Images и выбираем Add Boot Image…
Откроется мастер добавления образов.
Необходимый нам загрузочный образ мы можем найти на диске дистрибутива Windows 7. Он находится в папке Sources и имеет название boot.wim. 64-х разрядная и 32-х разрядная версия образа находится соответственно на дисках 64-х и 32-х разрядной версии Windows 7.
В нашем случае образы уже скопированы на локальный жесткий диск.
Итак, указываем местоположение 64-х разрядной версии загрузочного образа и нажимаем Next.
В следующем окне нам предлагают указать имя и описание добавляемого образа и предлагают для этого значения по умолчанию.
Стоит изменить предлагаемые значения на что-нибудь более понятное. Например, вы можете указать имя, отражающее назначение данного образа.
Мы в качестве имени и описания укажем Boot (x64) и нажмем Next.
На странице Summary в поле Selected Images мы видим выбранный нами образ. Мы можем нажать кнопку Back и внести изменения, либо добавить образ на сервер, нажав на кнопку Next.
Как мы видим на странице Task Progress, образ успешно добавлен.
Проделаем ту же операцию для добавления 32-х разрядного образа.
Добавление драйверов в загрузочные образы.
Теперь добавим драйверы сетевых карт в загрузочные образы.
Щелкнем правой кнопкой мыши на требуемом загрузочном образе и выберем Add Driver Packages to Image…
Откроется окно мастера, предупреждающее о том, что добавление поврежденного драйвера может привести к порче загрузочного образа и рекомендующее перед добавлением сделать резервную копию образа путем закрытия мастеры и выбора в контекстном меню пункта Export Image.
Так как это тестовая среда, мы пропустим этот шаг и нажмем Next.
В следующем окне мы имеем возможность указать критерии поиска нужного нам пакета драйверов. Указав необходимые параметры (или оставив значения по умолчанию, как в нашем случае), нажмем кнопку Search for Packages.
Так как в нашей системе присутствует только один драйвер 64-х разрядной архитектуры, то в нижней части окна мастера отобразится только он. Здесь мы можем снять галочки с тех пакетов, добавлять которые мы не собираемся. Оставим галочку на нашем пакете драйверов для сетевых карт Realtek и нажмем Next.
В окне Selected Driver Packages нам еще раз показывают выбранные нами драйверы и сообщают, что нажатием кнопки Next они будут добавлены в загрузочный образ. Нажимаем Next.
При выполнении этой процедуры загрузочный образ будет смонтирован во временное месторасположение, к нему будут добавлены требуемые пакеты драйверов, после чего образ будет сохранен и размонтирован.
Стоит отметить, что для того, чтобы посмотреть какие драйверы уже присутствуют в определеннном загрузочном образе, а также для их удаления из него вам нужно будет воспользоваться утилитой dism.exe. Процесс будет состоять из следующих шагов: вы экспортируете требуемый образ, после чего монтируете его в файловую систему при помощи вышеупомянутой утилиты с ключом /Mount-Wim.
Выполнив эти действия, можно будет просмотреть список уже присутствующих в образе драйверов при помощи ключа /Get-Drivers, либо удалить некоторые из них использую ключ /Remove-Driver.
Если вашей целью было удаление драйверов из образа, то перед размонтированием его необходимо будет сохранить. После завершения работы с образом нужно будет импортировать его на сервер WDS.
Повторим операцию по добавлению драйверов для 32-х разрядного образа.
Образы захвата (Capture Images).
Теперь на основе содержащего требуемые драйверы загрузочного образа создадим образ для захвата операционной системы (Capture Image).
Щелкнем правой кнопкой мыши на нужном загрузочном образе и выберем Create Capture Image…
Откроется окно мастера, предлагающее ввести имя и описание создаваемого образа, а также его будущее расположение в файловой системе.
Введем необходимые данные и нажмем Next.
Мастер выполнит необходимые действия по созданию образа и сохранит его по указанному пути.
По завершении работы мастера мы имеем возможность добавить созданный образ на сервер WDS. Для этого поставим галочку Add Image to the Windows Deployment Server now и нажмем Next.
Откроется окно мастера с уже указанным расположением созданного нами в предыдущем шаге образа. Нажмем Next.
В следующем окне мастерамы имеем возможность изменить имя и описание добавляемого образа. В данном случае существующие значения удовлетворяют нашим требованиям, так что мы не станем их менять и сразу нажмем Next.
В окне Summary нам еще раз показывают выбранный образ и в случае ошибки предлагают нажать кнопку Back и внести требуемые изменения. Для добавления образа на сервер предлагается нажать кнопку Next.
После завершения работы мастера нам сообщают что процесс прошел успешно. Закроем окно нажатием кнопки Finish.
Повторим вышеописанные шаги для создания образа захвата из 32-х разрядного загрузочного образа.
Подготовка к созданию установочных образов.
Перед тем как приступить к добавлению установочных образов, нам нужно выполнить некоторые действия.
Первое из них — это создание группы установочных образов.
Щелкнем правой кнопкой мыши на пункте Install Images консоли Windows Deployment Services и выберем Add Image Group…
Введем имя группы и нажмем OK.
Кроме того, нам потребуется изменить настройку PXE Response Policy сервера WDS, находящуюся в окне WDS Properies на вкладке PXE Response, выбрав пункт Respond to all client computers (known and unknown) вместо установленного нами при первоначальной настройке Respond only to known client computers.
Делается это для того, чтобы компьютер, с которого мы будем снимать образ операционной системы смог загрузиться с сервера WDS, что было бы невозможно при предыдущей настройке, так как серверу WDS ничего не известно об этом компьютере.
Также это можно сделать из командной строки, выполнив команду wdsutil.exe /Set-Server /AnswerClients:All.
Установочные образы (Install Images).
Теперь мы можем заняться добавлением на сервер установочного образа.
Для этого нам нужен компьютер с установленной и настроенной операционной системой, на основе которого мы создадим эталонный образ для развертывания. В нашем случае это будет 64-х разрядная редакция Windows 7 Professional.
Перед захватом образа нам нужно подготовить операционную систему. Делается это при помощи утилиты sysprep.exe, находящейся в папке %SystemRoot%\System32\sysprep.
Можно воспользоваться ею как из графического интерфейса, так и из командной строки.
При работе с ее графическим интерфейсом в выпадающем меню System Cleanup Action нам нужно будет выбрать пункт Enter System Out-of-Box Experience (OOBE) и поставить галочку Generalize.
В выпадающем меню Shutdown Options выберем Reboot.
При вызове утилиты из командной строки нам нужно будет указать ключи, соответствующие вышеуказанным параметрам.
sysprep.exe /generalize /oobe /reboot
Параметр Enter System Out-of-Box Experience (OOBE) указывает, что при следующем запуске операционной системы пользователю (или, скорее, администратору) будет предложено произвести первоначальную настройку компьютера путем указания имени компьютера и некоторых других параметров.
Установка параметра Generalize приводит к тому, что из системы удаляется вся уникальная информация, сбрасывается SID, удаляются точки восстановления и журналы событий.
После нажания кнопки OK, Sysprep.exe подготовит систему к захвату образа и перезагрузит компьютер. Во время перезагрузки компьютера вам нужно будет выбрать PXE-загрузку.
Нужно сказать, что при загрузке компьютера без поддержки 64-х разрядной архитектуры, в меню загрузки будут видны только 32-х разрядные загрузочные образы, тогда как для компьютера с поддержкой 64-х разрядной архитектуры будут доступны как 32-х так и 64-х разрядные загрузочные образы.
Далее, при выборе 32-х разрядного загрузочного образа вы получите доступ к списку как 32-х, так и 64-х разрядных установочных образов, в то время как выбор 64-х разрядного загрузочного образа дает доступ только 64-х разрядным установочным образам.
Мы выберем 64-х разрядный образ захвата и нажмем Enter.
После загрузки компьютера из выбранного образа мы увидим начальное окно мастера захвата образов.
Нажмем Next.
В окне Directory to Capture выберем логический диск, содержащий подготовленную операционную систему и введем имя и описание создаваемого установочного образа.
В следующем окне в поле Name and location выберем имя и расположение файла образа. Захваченный образ будет сохранен в указанном месте.
Также, для того, чтобы загрузить образ на сервер WDS, поставим галочку Upload image to a Windows Deployment Services server (optional), введем имя сервера в строке Server name и нажмем Connect.
Появится окно для ввода учетных данных для подключения к серверу WDS. Предоставим необходимую информацию и нажмем OK.
В выпадающем списке Image Group name выберем группу, в которую мы хотим поместить создаваемый образ и нажмем Next.
Начнется процесс захвата образа.
После загрузки образа на сервер WDS он появится в списке установочных образов в указанной нами группе.
Кроме использования образа захвата создать образ подготовленной операционной системы можно, загрузившись с диска Windows Preinstallation Environment и воспользовавшиь утилитой imagex. Создать образ Windows PE можно при помощи утилиты oscdimg. Обе эти программы входят в набор Windows Automated Installation Kit, который можно загрузить с сайта http://www.microsoft.com.
Завершив добавление установочных образов можно вернуть настройку PXE Response Policy в состояние Respond only to known client computers.
Итак,
в данной статье мы рассмотрели шаги, необходимые для установки и первоначальной настройки Windows Depoyment Services, а также познакомились с процессами создания загрузочных образов, добавлением в них драйверов, созданием образов захвата на основе существующих загрузочных образов и в завершение мы воспользовались образом захвата для содания установочного образа из подготовленной при помощи утилиты sysprep.exe этaлонной инсталляции операционной системы.
Вторую часть этого цикла статей вы можете найти здесь:
Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть II. Создание файлов ответов.
Страницы в социальных сетях:
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell
Windows Deployment Services can not be installed on Windows Server Core unfortunately — it still requires a Windows Server install with a GUI (Desktop Experience). Luckily we can still install it using PowerShell and the command line. In this post I’ll go through the initial steps on how to deploy and configure a WDS server using command line and PowerShell.
Installing Windows Server
Boot the server from the Windows Server media and on the “Select the Operating System you want to install” screen, select the option “Windows Server Standard” or “Datacenter” edition with “Desktop Experience” in brackets.
Please note: You can no longer add and remove the GUI (Desktop Experience) with Windows Server 2016 onwards as you could with Windows Server 2012/2012 R2. This is due to numerous problems with keeping the installation and removal process consistent with updates. With Windows Server 2016 and above the only way to add or remove the GUI is to re-install and select one of the server editions with the “Desktop Experience” option.
Initial Configuration
Once the install process has completed, you will be prompted to set the Administrator password.
- Set the local “Administrator” password.
- Log in to Windows as the Administrator user.
- Open an elevated command prompt by pressing “Win + X” and selecting “Command Prompt (Admin)” from the menu.
- Type
sconfig
to get the Server Configuration menu. - You’ll need to configure at least the Network Settings — IP address, subnet mask, gateway, and DNS.
- You may want to enable Remote Desktop.
- Add the server to the domain — you’ll be asked if you’d like to change the computer name, and prompted to restart the server.
- After the restart, log in as a user with administrator privileges to the server.
Important note: Windows Server 2016 shipped with a bug that causes it to fail to get updates from WSUS out of the box. To work around it you should update directly from the internet or download and install the latest Cumulative Update for Windows Server 2016, which at the time of writing is KB4093120, download here.
Additional Storage Configuration
You may want to configure additional locally attached disks or iSCSI/MPIO storage. Creating new volumes that are locally attached can be done via the diskpart
command line tool. Below are the commands to create a new, NTFS formatted volume, with the drive letter of E:\
and the name “Data”, from a second disk in the server using the diskpart
tool. First, run diskpart
from the command line, then use the following commands:
|
|
The MPIO feature must be installed before the tool is available. You can do this via PowerShell:
|
|
When MPIO is installed you can load the MPIO utility using mpiocpl
. For the iSCSI utility you can use iscsicpl
. iSCSI is installed as part of the base Windows Server feature set.
Install Windows Deployment Services (WDS)
If you’ve just logged on to the server, open an elevated command prompt as before, by pressing “Win + X” and selecting “Command Prompt (Admin)” from the menu. Type “PowerShell” into the command line window before running any of the commands below.
First we need to install the WDS feature:
|
|
Now we need to run some post install tasks. The following command will initialize the WDS server and use the E:\
drive to store it’s content.
|
|
WDS is now installed and the initial configuration is complete, but some further configuration is required via the WDS Microsoft Management Console (MMC).
- Log in to the server as a user with administrator privileges.
- Open the “Windows Deployment Services MMC” under “Windows Administrative Tools” in the Start Menu.
- Expand the “Servers” node and Right click on the
server-name.contoso.com
and select “Properties”. - On the “PXE Response” tab select the “Respond to all client computers (known and unknown)” do not tick the “Require administrator approval option”.
- Click “Apply” and close the window.
To add a ‘LiteTouch’ boot image from MDT to WDS:
- Log in to the server as a user with administrator privileges.
- Open the “Windows Deployment Services MMC” under “Windows Administrative Tools” in the Start Menu.
- Navigate to “Servers” >
server-name.contoso.com
> “Boot Images”. - Right click in the empty window, and select “Add Boot Image”.
- Navigate to the “Boot” folder in the deployment share of MDT and select
LiteTouchPE_x64.wim
. - Complete the wizard.
To test the new boot image, create a new VM in Hyper-V with the following configuration:
- Generation 1
- 2x vCPUs
- 4GB of RAM
- Legacy Network Adapter with access the local network.
- Virtual Hard Drive of at least 80GB.
- Boot from the legacy Network Adapter.
- If using Hyper-V on Windows 10 1709 and above, make sure “Use Automatic Checkpoints” is disabled.
Start the Virtual Machine and you should be prompted to press F12 to boot and the deployment environment should start just as if you were booting from the LiteTouchPE_x64.iso
. If the VM is not booting from the network, it could be that the VM is on a different VLAN. To enable PXE booting on different VLANs you’ll need to add the IP address of the WDS server as a IP helper address on each VLAN on the routing switch.
Configuration for BIOS and UEFI Clients
If you have a mixture of devices with both BIOS and UEFI firmware that you wish to PXE boot, some additional configuration may be required depending on the network and versions of DHCP and WDS. On a network with a Windows Server 2016 DHCP server, WDS server and Cisco switches with a helper address configured, I haven’t needed to do this configuration but I wanted to include it for completeness. Your mileage may vary. Most of the following information is from a very helpful video from BranchCache Bob — here’s the video. It is assumed that you have a Microsoft Windows Server running DHCP. The first thing to do is to define the vendor classes for both the BIOS PXE Client and the UEFI PXE Client.
- Go to “DHCP”, right-click on “IPv4”
- In the “DHCP Vendor Classes” window, click Add
- For the “Name” enter “PXEClient (UEFI x86)”
- For the “Description” enter whatever you want
- Under the “ASCII” text enter
PXEClient:Arch:00006
— Important Note: you will not be able to paste this text, and it’s also case-sensitive - Click OK to add it to the list
- Now repeat steps 2 — 6 for “PXEClient (UEFI x64)” with
PXEClient:Arch:00007
as the ASCII value. - Finally, repeat steps 2 — 6 for “PXEClient (BIOS x86 & x64)” with
PXEClient:Arch:00000
(five zero’s) as the ASCII value.
or using PowerShell:
|
|
You should now have three additional vendor classes.
Now we need to create policies in DHCP so that the correct files are served to the correct clients. You will need to do this for each DHCP scope.
- Go to “DHCP” and expand the scope you wish to create a policy for
- Right-click on “Policies” and choose “New Policy”
- Enter “PXEClient (UEFI x64)” for the name
- Enter a “Description”, or leave it blank. Click Next
- On the “Configure Conditions for the policy” screen, click Add
- In the “Add/Edit Condition” window, click the “Value:” drop down menu
- Choose the “PXEClient (UEFI x64)” vendor class you created earlier
- Tick the “Append wildcard” check box and then click Add and finally OK
- Click Next on the “Configure Conditions for the policy” screen
- On the “Configure settings for the policy” screen, click No for the “Do you want to configure an IP address range for the policy”. Click Next
- “Please Note:” if DHCP is on the same server as WDS, you will need to set option 060, if WDS is on a different server, you do not need to set option 060
- On the “Configure settings for the policy” screen, scroll down until you see options “060” (if applicable), “066” and “067”
- Tick option “060” and enter “PXEClient” if applicable
- Tick option “066” and enter either the FQDN or the IP address of the WDS server.
- Tick option “067” and enter
boot\x64\wdsmgfw.efi
— this is the x64 UEFI boot file for WDS. Click Next. - On the “Summary” screen, if all the details are correct, click Finish
- Now repeat steps 2 — 14 for “PXEClient (UEFI x86)” with
boot\x86\wdsmgfw.efi
as option “067” - Finally, repeat steps 2 — 14 once again for “PXEClient (BIOS x86 & x64)” with
boot\x64\wdsnbp.com
as option “067” and leave option “060” empty
or using PowerShell:
|
|
The -ScopeId should be the IP range of the DHCP scope you want to add the policy to.
Don’t forget to repeat the above for each DHCP scope you wish to PXE boot from. In DHCP if you expand the “Scope Options” folder you should see the new options you just created and under “Policy Name” should be the names of the policies you just created.
You should now be able to boot both a UEFI and BIOS devices from the network. Please note, if DHCP is installed on the same server as WDS, you will need to check both the “Do not listen on DHCP ports” and “Configure DHCP options to indicate that this is also a PXE server” options.
Support My Work
If you would like to support me, please check out the link below.
- PayPal
If you have any questions or comments, please leave them below.
Thanks
-Mike