PXE меню за зареждане с System Center Configuration Manager

PXE меню за зареждане с System Center Configuration Manager

Обмисляме разширяване на възможностите на System Center Configuration Manager (продукт за управление на ИТ инфраструктура) при зареждане на потребителски компютри през мрежа с помощта на PXE. Ние създаваме меню за зареждане, базирано на PXELinux с функционалност на System Center и добавяме изображения за антивирусно сканиране, диагностика и възстановяване. В края на статията засягаме функциите на System Center 2012 Configuration Manager във връзка с Windows Deployment Services (WDS) при зареждане чрез PXE.

Извършваме всички действия в тестова среда, която вече има инсталиран System Center 2012 Configuration Manager SP1, домейн контролер и редица тестови машини. Предполага се, че SCCM вече се внедрява по мрежата, използвайки PXE.

Влизане

Тестовата среда се състои от няколко виртуални машини. Всички машини имат инсталирана операционна система за гости Microsoft Windows Server 2008 R2 (x64), мрежов адаптер E1000, SCSI контролер: LSI Logic SAS

Име (Роли)
IP адрес / DNS име
функционален

SCCM (Мениджър за конфигурация на системния център)
192.168.57.102
sccm2012.test.local

Инсталиран System Center Configuration Manager 2012 SP1

DC (AD,DHCP,DNS)
192.168.57.10
dc1.test.local

Ролята на домейн контролера, DHCP сървъра и DNS сървъра

ТЕСТ (тестова машина)
192.168.57.103
test.test.local

За тестване

G.W. (шлюз)
192.168.57.1
Маршрутизиране между мрежите. Роля на шлюз

1. Добавете PXELinux към SCCM

Извършваме действия на машината, на която е инсталиран System Center Configuration Manager

  • Нека определим директорията, където се намират WDS файловете за изтегляне, за това търсим в системния регистър стойността на параметъра RootFolder в клон HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Стойност по подразбиране C:RemoteInstall
    Файловете за изтегляне от точката за разполагане на SCCM се намират в директориите smsbootx86 и smsbootx64 в зависимост от архитектурата.
    Първо, настройте директория за 32-битова архитектура по подразбиране c:Remoteinstallsmsbootx86
  • Изтеглете архива с най-новите Syslinux . Копирайте от syslinux-5.01.zip в c:Remoteinstallsmsbootx86 следните файлове:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Необходими са допълнителни файлове, за да се избегне такава грешка.
    PXE меню за зареждане с System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 преименувам pxelinux.0 в pxelinux.com
    В папка c:remoteinstallsmsbootx86 направи копие abortpxe.com и го преименувайте на abortpxe.0
    Ако не преименувайте на разширение .0, тогава например инструкцията

    Kernel abortpxe.com

    ще се провали със следната грешка: Неуспешно зареждане на ядрото: Грешен номер на файл
    За PXELINUX разширението на файла за изтегляне трябва да бъде зададено според табелата

    none or other	Linux kernel image
     .0		PXE bootstrap program (NBP) [PXELINUX only]
     .bin		"CD boot sector" [ISOLINUX only]
     .bs		Boot sector [SYSLINUX only]
     .bss		Boot sector, DOS superblock will be patched in [SYSLINUX only]
     .c32		COM32 image (32-bit COMBOOT)
     .cbt		COMBOOT image (not runnable from DOS)
     .com		COMBOOT image (runnable from DOS)
     .img		Disk image [ISOLINUX only]
    

    Източник: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file раздел „Файл на ядрото“

  • За да не натискате клавиша F12 няколко пъти, когато зареждате SCCM през менюто, преименувайте pxeboot.com на pxeboot.com.f12, копирайте pxeboot.n12 на pxeboot.com
    Ако това не бъде направено, тогава при избора ще получаваме такова съобщение всеки път
    PXE меню за зареждане с System Center Configuration Manager
    Забележка: Не забравяйте да преименувате и тези файлове в папката x64. когато се зареди x86wdsnbp.com от папката x86, товарачът определя архитектурата на процесора и следващият файл се зарежда от папката със съответната архитектура. По този начин за x64 последващият файл няма да бъде x86pxeboot.comИ x64pxeboot.com
  • Изтегляне / създаване фон.png, резолюция 640x480, копирайте в същата папка. Създайте папка ISO където ще поставим ISO изображения. Създайте папка pxelinux.cfg за конфигурации.
  • В папката pxelinux.cfg създайте файл по подразбиране в кодиране, различно от уникод, със съдържанието
    по подразбиране (Щракнете за показване)

    # используем графическое меню
    DEFAULT vesamenu.c32
    PROMPT 0
    timeout 80
    TOTALTIMEOUT 9000
    
    MENU TITLE PXE Boot Menu (x86)
    MENU INCLUDE pxelinux.cfg/graphics.conf
    MENU AUTOBOOT Starting Local System in 8 seconds
    
    # Boot local HDD (default)
    LABEL bootlocal
    menu label Boot Local
    menu default
    localboot 0x80
    # if it doesn't work 
    #kernel chain.c32
    #append hd0
    
    # Вход в меню по паролю Qwerty, алгоритм MD5
    label av
    menu label Antivirus and tools
    menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
    kernel vesamenu.c32
    append pxelinux.cfgav.conf 
    
    label sccm
    menu label Start to SCCM
    COM32 pxechn.c32
    APPEND sccm2012.test.local::smsbootx86wdsnbp.com -W
    
    label pxe64
    menu label Start to x64 pxelinux
    COM32 pxechn.c32
    APPEND sccm2012.test.local::smsbootx64pxelinux.com
    
    LABEL Abort
    MENU LABEL Exit
    KERNEL abortpxe.0

    В папка pxelinux.cfg създайте файл graphics.conf със съдържание
    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

    В папка pxelinux.cfg създайте файл av.conf със съдържание
    av.conf (Щракнете за показване)

    DEFAULT vesamenu.c32
    PROMPT 0
    MENU TITLE Antivirus and tools
    MENU INCLUDE pxelinux.cfg/graphics.conf
    
    label main menu
    menu label return to main menu
    kernel vesamenu.c32
    append pxelinux.cfg/default
    
    label drweb
    menu label DrWeb
    kernel memdisk
    append iso raw initrd=isodrweb.iso
    
    label eset
    menu label Eset
    kernel memdisk
    append iso raw initrd=isoeset_sysrescue.iso
    
    label kav
    menu label KAV Rescue CD
    KERNEL kav/rescue
    APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset quiet splash
    
    #Загружаем ISO по полному пути, можно загружать с другого TFTP
    label winpe
    menu label WinPE  from another TFTP
    kernel sccm2012.test.local::smsbootx86memdisk
    append iso raw initrd=sccm2012.test.local::smsbootx86isoWinPE_RaSla.iso
    
    label clonezilla
    menu label Clonezilla
    kernel memdisk
    append iso raw initrd=isoclonezilla.iso
    
  • В резултат на това директорията c:remoteinstallsmsbootx86 съдържа структурата

    c:remoteinstallsmsbootx86
    pxelinux.cfg

    верига.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    фон.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortpxe.com

    подразбиране
    ср.конф
    graphics.conf
    *.iso

  • За архитектурата x64 ние копираме по подобен начин и създаваме същата структура в папката c:remoteinstallsmsbootx64

Допълнение
При използване на командата menu PASSWD паролата може да се зададе както е, или да се използва алгоритъм за хеширане чрез добавяне на съответния подпис в началото на параметъра

Алгоритъм
Подпис

MD5
$ 1 $

SHA-1
$ 4 $

SHA-2-256
$ 5 $

SHA-2-512
$ 6 $

И така за паролата Qwerty и MD5 алгоритъм

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Можете да генерирате парола, например, чрез онлайн хеш генератор www.insidepro.com/hashes.php?lang=rus, ред MD5(Unix)

2. Настройте стартиране на PXELinux

Сега ще посочим как да заредите pxelinux.com и да получите менюто.
Указването на буутлоудъра pxelinux.com чрез функционалността на WDS не работи в SCCM. Преглед на команди

wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86

не се обработват. Можете да проверите дали изображенията за зареждане не са зададени, като изпълните изходната команда за конфигуриране на WDS сървър

wdsutil /get-server /show:images

PXE меню за зареждане с System Center Configuration Manager
Следователно в SCCM 2012 не можете да посочите вашия файл за изтегляне на PXE към доставчика на SMSPXE. Затова ще конфигурираме активната област на DHCP сървъра.
В параметрите на DHCP активната зона задайте параметрите според табелата

DHCP опция
Име на параметър
Стойност

066
Име на хоста на сървъра за зареждане
sccm2012.test.local

067
Име на файла за зареждане
smsbootx86pxelinux.com

006
DNS сървъри
192.168.57.10

015
DNS име на домейн
тест.местен

В опция 066 посочваме FQDN името на sccm сървъра, в опция 067 посочваме пътя до x86 bootloader pxelinux.com, започвайки от корена на TFTP, в опция 006 посочваме IP адреса на DNS сървъра. Ако в опция 066 се използва кратко име на сървър, в опция 015 посочваме DNS суфикса на домейна.

Допълнение
Описва по-подробно конфигурацията на DHCP mvgolubev тук. Но на DC опция 150, IP адрес на TFTP сървър, липсваше в настройките на обхвата на DHCP и указването на опция 150 чрез netsh не проработи.PXE меню за зареждане с System Center Configuration Manager

3. Проверка на работата

Основните настройки са завършени и можете да започнете проверката. Посочваме на тестовия компютър в BIOS, че се зарежда по мрежата и се зарежда в менюто
PXE меню за зареждане с System Center Configuration Manager

Избери предмет «Start to SCCM» и ако на компютъра е зададена последователност от задачи, след известно време ще се появи прозорецът „Съветник за последователност от задачи“, който ви подканва да въведете парола
PXE меню за зареждане с System Center Configuration Manager

Рестартирайте машината, върнете се в менюто, изберете в менюто «Antivirus and tools» и въведете паролата Qwerty
PXE меню за зареждане с System Center Configuration Manager

Избираме произволен елемент и наблюдаваме зареждането на ISO изображението в паметта
PXE меню за зареждане с System Center Configuration Manager

Чакане и виждане на резултата
PXE меню за зареждане с System Center Configuration Manager

Проверката е завършена
PXE меню за зареждане с System Center Configuration Manager

4. Допълнителни настройки и функции

Настройка на маршрута

Ако клиентът, DHCP сървърът и сървърът, съдържащ мрежовото зареждане, са в един и същи мрежов сегмент, не е необходима допълнителна конфигурация. Въпреки това, ако клиентът и DHCP сървърът или WDS/SCCM сървърът са разположени в различни мрежови сегменти, се препоръчва да конфигурирате вашите рутери да препращат излъчвани пакети от клиента към активния DHCP сървър и активния WDS/SCCM сървър. В англоезичната литература този процес е известен като "IP Helper table updates". В този случай клиентът, след като получи IP адрес, се свързва със сървъра, съдържащ мрежовия зареждащ механизъм директно чрез DHCP пакети, за да изтегли мрежовия зареждащ файл.
За рутери на Cisco използвайте командата

ip helper-address {ip address}

където {ip address} Адрес на DHCP сървър или WDS/SCCM сървър. Тази команда също изпраща следните UDP излъчвани пакети

порт
Протоколът

69
TFTP

53
Система за имена на домейни (DNS)

37
Обслужване на времето

137
NetBIOS сървър за имена

138
NetBIOS Datagram сървър

67
Bootstrap протокол (BOOTP)

49
ТАКАСИ

Вторият метод за клиента да получи информация за мрежовото зареждане директно от DHCP сървъра е да посочи опции 60,66,67 на DHCP сървъра. Използване на DHCP опция 60 със стойност «PXEClient» към всички DHCP обхвати, само ако DHCP сървърът се хоства на същия сървър като услугите за разполагане на Windows. В този случай клиентът комуникира директно със сървъра на Windows Deployment Services, използвайки TFTP на UDP порт 4011, вместо да използва DHCP. Този метод не се препоръчва от Microsoft поради проблеми с балансирането на натоварването, неправилно обработване на DHCP опции и опции за отговор на услугите за разполагане на Windows от страна на клиента. А също и защото използването само на две DHCP опции 66 и 67 ви позволява да заобиколите параметрите, зададени на сървъра за мрежово зареждане.
Трябва също да отворите следните UDP портове на сървъра на Windows Deployment Services
порт 67 (DHCP)
порт 69 (TFTP)
порт 4011 (PXE)
и порт 68, ако се изисква DHCP оторизация на сървъра.

По-подробно процесът на конфигуриране и нюансите на пренасочване между различни WDS сървъри са описани по-долу в източниците:
Управление на програма за зареждане в мрежа http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Управление на сървъра http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Услугите за поддръжка на продукти на Microsoft (PSS) поддържат граници за мрежово зареждане Среда за предварително инсталиране на Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Как да препратя UDP излъчване (BOOTP / DHCP) на Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Характеристики на работа и конфигурация на DHCP на маршрутизатори на Cisco (част 2) http://habrahabr.ru/post/89997/

Допълнителни опции за локално изтегляне

В тестова среда командата

localboot 0

дава такава грешка
PXE меню за зареждане с System Center Configuration Manager
От документацията на syslinux следва, че когато

localboot 0

зареждането ще става от локален диск. И при посочване на конкретна стойност 0x00 от основния (основния) флопи диск, при посочване на 0x80 от основния (основния) твърд диск. Като промените командата на

localboot 0x80

локалната ОС се зареди.
Ако има нужда от зареждане от определен диск, дял или команда localboot не работи, тогава можете да използвате възможностите на модула chain.c32. След като го заредите, използвайте командата append, за да посочите конкретен диск или дисков дял, номерирането на диска започва от 0, номерирането на дялове започва от 1. ако е посочен дял 0, MBR се зарежда. Когато посочвате диск, дялът може да бъде пропуснат.

KERNEL chain.c32
APPEND hd0 0

или

KERNEL chain.c32
APPEND hd0

Източници: http://www.syslinux.org/wiki/index.php/SYSLINUX#LOCALBOOT_type_.5BISOLINUX.2C_PXELINUX.5D
http://www.gossamer-threads.com/lists/syslinux/users/7127

Ред и описание на изтегляне на файлове чрез PXE

Както бе споменато в началото на статията, директорията, в която се намират WDS файловете за изтегляне, се съдържа в стойността на параметъра RootFolder в клона на регистъра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Стойност по подразбиране C:RemoteInstall
Тук в параметъра ReadFilter указани са директории, където TFTP сървърът търси файлове за изтегляне, започвайки от корена. С инсталиран SCCM 2012 SP1 тази настройка е

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Ако промените стойността на параметъра на * тогава всички файлове, намиращи се в директорията, ще бъдат обработени RemoteInstall.

Ролята на SCCM 2012 точка за разполагане е указана в стойността на системния регистър ProvidersOrderнамиращи се във филиала HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Параметър ProvidersOrder може да приема стойности

SMSPXE
PXE сервизна точка в SCCM

SMS.PXE.Филтър
PXE манипулатор на скриптове от MDT (Microsoft Deployment Toolkit)

BINLSVC
Стандартен WDS и RIS двигател

С инсталиран SCCM, параметърът ProvidersOrder въпроси SMSPXE. Чрез промяна на параметъра можете да промените реда, в който се зареждат доставчиците.

В каталога RemoteInstall се намират следните стандартни файлове

wdsnbp.com

Програма за мрежово зареждане, предназначена за Windows Deployment Services, която изпълнява следните задачи:
1. Откриване на архитектура.
2. Поддръжка на чакащи компютри. Когато правилото за автоматично добавяне е активирано, тази програма за мрежово зареждане се изпраща до чакащи компютри, за да преустанови зареждането по мрежата и да информира сървъра за архитектурата на клиентския компютър.
3. Използване на мрежови връзки за зареждане (включително използване на DHCP опции 66 и 67)

PXEboot.com

(По подразбиране) Изисква потребителят да натисне клавиша F12, за да продължи мрежовото зареждане

PXEboot.n12

Не изисква от потребителя да натиска клавиша F12 и стартира незабавно стартиране на мрежата

AbortPXE.com

Зарежда компютъра, като използва следващия елемент за зареждане в BIOS, без да чака

bootmgr.exe

Windows Boot Manager (Bootmgr.exe или Bootmgr.efi). Зарежда буутлоудъра на Windows с помощта на фърмуер от конкретен дисков дял или през мрежова връзка (в случай на мрежово зареждане)

Bootmgfw.efi

EFI версията на PXEboot.com и PXEboot.n12 (в EFI изборът да се стартира или не PXE е в обвивката на EFI, а не в програмата за мрежово зареждане). Bootmgfw.efi съчетава възможностите на PXEboot.com, PXEboot.n12, abortpxe.com и bootmgr.exe. В момента съществува само за x64 и Itanium архитектури.

Default.bcd

Boot Configuration Data Store (BCD), REGF формат, може да се зареди в REGEDIT, замества текстовия файл Boot.ini

Зареждането се извършва в следния ред, както е описано по-горе
1. Заредете wdsnbp.com.
2. След това се зарежда pxeboot.com с подходящата архитектура
3. PXEBoot.com изтегля bootmgr.exe и хранилището на данни за конфигурация за зареждане BCD
4. Bootmgr.exe чете BCD данните за конфигурацията на операционната система за зареждане и зарежда файла Boot.sdi и изображението на Windows PE (boot.wim)
5. Bootmgr.exe започва да зарежда Windows PE чрез достъп до Winload.exe в образа на Windows PE

Ако RemoteInstall има папки

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

тяхното присъствие означава, че преди добавянето на ролята на точката на разпространение в SCCM 2012 (PXE сервизни точки в SCCM 2007), е имало някакво конфигурационно действие върху инсталираните услуги за разполагане на Windows (WDS), които автоматично са създали тези папки.
За ролята на точка на разпространение (PXE сервизна точка в SCCM 2007) са достатъчни само следните папки

SMSBoot
SMSIMAGES
SMSTemp
Stores

Това не означава, че SCCM е инсталиран неправилно, но може да сочи към възможен източник на грешки.
Решаването на различни проблеми на пакета WDS, SCCM и PXE е разгледано много подробно в статията. Отстраняване на неизправности с PXE Service Point и WDS в Configuration Manager 2007

Общо

ИТ инфраструктурата, управлявана от System Center Configuration Manager, добави нов инструмент за полеви системни администратори.

Списък с връзки към ISO изображения (Щракнете за показване)download.f-secure.com/estore/rescue-cd-3.16-52606.iso
git.ipxe.org/releases/wimboot/wimboot-latest.zip
download.geo.drweb.com/pub/drweb/livecd/drweb-livecd-602.iso
rescuedisk.kaspersky-labs.com/rescuedisk/updatable/kav_rescue_10.iso
esetsupport.com/eset_sysrescue.iso
boot.ipxe.org/ipxe.iso
citylan.dl.sourceforge.net/project/clonezilla/clonezilla_live_alternative/20130226-quantal/clonezilla-live-20130226-quantal-i386.iso
ftp.rasla.ru/_Distr_/WinPE/RaSla/WinPE_RaSla.iso
www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.zip

Спасибо за внимание!
PXE меню за зареждане с System Center Configuration Manager

Източник: www.habr.com

Добавяне на нов коментар