
Zvážime rozšírenie možností System Center Configuration Manager (produkt na správu IT infraštruktúry) pri spúšťaní užívateľských PC cez sieť pomocou PXE. Vytvoríme spúšťacie menu na základe PXELinux s funkciami System Center a pridáme možnosti antivírusovej kontroly, diagnostické a obnovovacie obrazy. Na konci článku sa dotkneme špecifík spolupráce System Center 2012 Configuration Manager s Windows Deployment Services (WDS) pri spúšťaní cez PXE.
Všetky akcie vykonávame v testovacom prostredí, v ktorom je už nainštalovaný System Center 2012 Configuration Manager SP1, kontrolér domény a niekoľko testovacích strojov. Predpokladá sa, že v SCCM už prebieha nasadenie cez sieť pomocou PXE.
Úvod
Testovacie prostredie sa skladá z niekoľkých virtuálnych strojov. Na všetkých strojoch je nainštalovaný hosťujúci operačný systém Microsoft Windows Server 2008 R2 (x64), sieťový adaptér E1000, SCSI Controller: LSI Logic SAS
Názov (Úlohy)
IP adresa / DNS meno
Funkcionalita
SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local
Nainštalovaný System Center Configuration Manager 2012 SP1
DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local
Úloha kontroléra domény, DHCP servera a DNS servera
TEST (Testovací stroj)
192.168.57.103
test.test.local
Na testovanie
GW (Gateway)
192.168.57.1
Zasielanie medzi sieťami. Úloha brány
1. Pridáme PXELinux do SCCM
Akcie vykonávame na stroji, kde je nainštalovaný System Center Configuration Manager
- Určíme adresár, kde sa nachádzajú súbory WDS pre spúšťanie; na to sa v registri pozrieme na hodnotu parametra
RootFoldervo vetveHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Predvolená hodnotaC:\RemoteInstall
Súbory na spúšťanie z nasadzovacej bodu SCCM sa nachádzajú v adresárochsmsbootx86asmsbootx64v závislosti od architektúry.
Najprv nastavíme adresár pre 32-bitovú architektúru, predvolenec:\RemoteInstall\smsbootx86 - Stiahneme archív s najnovším . Skopírujeme z syslinux-5.01.zip do
c:\RemoteInstall\smsbootx86následovných súborov:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Ďalšie súbory sú potrebné, aby sa predišlo podobnej chybe
- V
c:\RemoteInstall\smsbootx86prepisujemepxelinux.0vpxelinux.com
V priečinkuc:\remoteinstall\smsbootx86vykonávame kópiuabortpxe.coma premenúvame ju naabortpxe.0
Ak sa ale neprezmenuje na príponu.0, potom napríklad inštrukciaKernel abortpxe.comsa vykoná s chybou: Booting kernel failed: Bad file number
Pre PXELINUX je potrebné priradiť rozšírenie súboru spúšťania podľa tabuľkyžiadny alebo iný obraz Linux jadra .0 program na bootovanie PXE (NBP) [len PXELINUX] .bin "Boot sektor CD" [len ISOLINUX] .bs Boot sektor [len SYSLINUX] .bss Boot sektor, DOS superblok bude opravený [len SYSLINUX] .c32 obraz COM32 (32-bit COMBOOT) .cbt obraz COMBOOT (nie je spustiteľný z DOS) .com obraz COMBOOT (spustiteľný z DOS) .img obraz disku [len ISOLINUX]Zdroj: časť „Jadrový súbor“
- Aby sme nemuseli niekoľkokrát stláčať kláves F12 pri spúšťaní SCCM z ponuky, premenovávame pxeboot.com na pxeboot.com.f12, kopírujeme pxeboot.n12 do pxeboot.com
Ak to neurobíme, pri výbere dostaneme zakaždým takúto správu
Poznámka: Nezabúdame premenovať tieto súbory aj v priečinku pre x64, pretože pri spúšťaníx86wdsnbp.comz priečinka x86, bootloader určuje architektúru procesora a nasledujúci súbor už načíta z priečinka s príslušnou architektúrou. Týmto spôsobom pre x64 bude nasledujúci súborx86pxeboot.com, ax64pxeboot.com - Stiahnite si/vytvorte , rozlíšením 640x480, kopírujeme do toho istého priečinka. Vytvárame priečinok
ISOkde umiestnime ISO obrazy. Vytvárame priečinokpxelinux.cfgpre konfigurácie. - V priečinku pxelinux.cfg vytvoríme súbor default, v ne-unicode kódovaní, s obsahom
default (Kliknite na zobrazenie)# используем графическое меню 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.0V priečinku
pxelinux.cfgvytvárame súborgraphics.confs obsahom
graphics.conf (Kliknite na zobrazenie)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 0V priečinku
pxelinux.cfgvytvárame súborav.confs obsahom
av.conf (Kliknite na zobrazenie)DEFAULT vesamenu.c32 PROMPT 0 MENU TITLE Antivirus a nástroje MENU INCLUDE pxelinux.cfg/graphics.conf label main menu menu label návrat do hlavného 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 #Načítame ISO podľa úplnej cesty, je možné načítavať z iného TFTP label winpe menu label WinPE z iného 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 - Nakoniec priečinok c:remoteinstallsmsbootx86 obsahuje štruktúru
c:\remoteinstall\smsbootx86
pxelinux.cfgchain.c32
ldlinux.c32
libcom32.c32
libutil.c32
pxechn.c32
vesamenu.c32
pxelinux.com
background.png
pxelinux.cfg
pxelinux.cfg
pxelinux.cfg
ISO
abortpxe.0
wdsnbp.com
bootmgfw.efi
wdsmgfw.efi
bootmgr.exe
pxeboot.n12
pxeboot.com
abortpxe.comdefault
av.conf
graphics.conf
*.iso - Pre architektúru x64 rovnako kopírujeme a vytvárame rovnakú štruktúru v priečinku
c:remoteinstallsmsbootx64
Doplnok
Pri použití príkazumenu PASSWDheslo môžeme zadať buď ako je, alebo použiť algoritmus hashovania, pridaním na začiatok parametra príslušnú signatúruAlgoritmus
SignatúraMD5
$1$SHA-1
$4$SHA-2-256
$5$SHA-2-512
$6$Týmto spôsobom pre heslo
Qwertya algoritme MD5menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Heslo môžeme vygenerovať napríklad cez online generátor hashov , riadok
MD5(Unix)
2. Nastavujeme načítanie PXELinux
Teraz určujeme, ako načítať pxelinux.com a získať menu.
Určenie bootloadera pxelinux.com prostredníctvom funkcie WDS nefunguje v SCCM. Príkazy typu
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
nebudú spracované. Uistite sa, že obrazce bootovania nie sú nastavené, môžete to overiť príkazom pre zobrazenie konfigurácie servera WDS
wdsutil /get-server /show:images
Týmto spôsobom v SCCM 2012 nemožno zadať vlastný súbor na načítanie cez PXE pre poskytovateľa SMSPXE. Preto budeme nastavovať aktívnu oblasť DHCP servera.
V parametroch aktívnej oblasti DHCP nastavujeme parametre podľa tabuľky
Voľba DHCP
Názov parametra
Hodnota
066
Názov hostiteľa boot servera
sccm2012.test.local
067
Názov boot súboru
smsbootx86pxelinux.com
006
DNS servery
192.168.57.10
015
Názov domény DNS
test.local
V voľbe 066 uvádzame FQDN názov sccm servera, v voľbe 067 uvádzame cestu k x86 bootloaderu pxelinux.com začínajúcu od koreňa TFTP, v voľbe 006 uvádzame IP adresu DNS servera. V prípade, že sa vo voľbe 066 používa krátke meno servera, v voľbe 015 uvádzame DNS suffix domény.
Doplnok
Podrobnejšie nastavenie DHCP popísal . Ale naDCvoľba 150, IP adresa TFTP servera, chýbala v nastaveniach oblasti DHCP a určenie voľby 150 cez netsh nefungovalo.
3. Kontrola funkčnosti
Hlavné nastavenia sú hotové a môžeme prejsť k overeniu. Určujeme na teste počítača v BIOS-e, aby sa načítalo cez sieť a načítava sa do menu
Vyberáme položku „Začať do SCCM“ a ak je počítaču pridelená sekvencia úloh, krátko sa objaví okno „Sprievodca vytvorením sekvencie úloh“ so žiadosťou o zadanie hesla

Reštartujeme stroj, znova vstupujeme do menu, vyberáme v menu „Antivirus a nástroje“ a zadávame heslo Qwerty
Vyberáme ľubovoľný bod a pozorujeme načítanie ISO obrazu do pamäte
Čakáme a sledujeme výsledok
Overenie skončené

4. Dodatočné nastavenia a špecifiká
Nastavenie smerovania
Ak je klient, DHCP server a server, ktorý obsahuje sieťový bootloader, v rovnakom segmente siete, nie je potrebná žiadna ďalšia konfigurácia. Ak sú však klient a DHCP server, alebo server WDS/SCCM v rôznych segmentoch siete, odporúča sa nastaviť na routeroch preposielanie širokopásmových paketov od klienta na aktívny DHCP server a aktívny server WDS/SCCM. V anglicky hovoriacej literatúre je tento proces známy ako „aktualizácie IP Helper table“. V takom prípade sa klient po získaní IP adresy priamo spojí so serverom, ktorý obsahuje sieťový bootloader, prostredníctvom DHCP paketov, aby stiahol sieťový bootloader.
Pre routery Cisco sa používa príkaz
ip helper-address {ip address}
kde {ip address} adresa DHCP servera alebo servera WDS/SCCM. Pri použití tohto príkazu sa tiež preposielajú nasledujúce širokopásmové UDP pakety
Port
Protokol
69
TFTP
53
Domain Name System (DNS)
37
Časová služba
137
NetBIOS Name Server
138
NetBIOS Datagram Server
67
Bootstrap Protocol (BOOTP)
49
TACACS
Druhým spôsobom, ako získať informácie o sieťovom bootloaderi priamo z DHCP servera, je nastavenie možností 60, 66, 67 na DHCP serveri. Použitie parametra DHCP 60 s hodnotou „PXEClient“ vo všetkých oblastiach použitia DHCP, iba ak je DHCP server umiestnený na tom istom serveri ako služby nasadenia Windows. V takom prípade sa klient priamo spojí so serverom služieb nasadenia Windows prostredníctvom protokolu TFTP cez UDP port 4011, a nie cez DHCP. Tento spôsob nie je odporúčaný spoločnosťou Microsoft z dôvodu problémov s vyvažovaním záťaže, nesprávneho spracovania parametrov DHCP a parametrov odpovedí služieb nasadenia Windows na strane klienta. Taktiež preto, že použitie iba dvoch možností 66 a 67 DHCP umožňuje obísť parametre nastavené na serveri sieťového bootovania.
Taktiež je potrebné otvoriť nasledujúce UDP porty na serveri služieb nasadenia Windows
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
a port 68, ak je potrebná DHCP autorizácia na serveri.
Podrobnejšie informácie o procese nastavenia a nuansách preposielania medzi rôznymi servermi WDS sú popísané nižšie v zdrojoch:
Správa programov sieťového bootovania
Správa servera
Podpora produktov Microsoft Product Support Services (PSS) pre sieťové bootovanie Microsoft Windows Preinstallation Environment (Windows PE) 2.0
Ako preposielať UDP broadcast (BOOTP / DHCP) na Cisco
Špecifiká fungovania a nastavenia DHCP na routeroch Cisco (Časť 2)
Ďalšie možnosti lokálneho bootovania
V testovacom prostredí príkaz
localboot 0 vydáva takú chybu

Z dokumentácie syslinux vyplýva, že pri
localboot 0načítanie prebehne z lokálneho disku. Pri uvedení konkrétnej hodnoty 0x00 z hlavného (primary) disku floppy a pri uvedení 0x80 z hlavného (primary) hard disku. Zmenou príkazu na
localboot 0x80 lokálny operačný systém sa načítal.
Ak je potrebné vykonať načítanie z konkrétneho disku, oddielu alebo príkaz localboot nefunguje, potom je možné využiť možnosti modulu chain.c32. Po jeho načítaní príkazom append určujeme konkrétny disk alebo oddiel disku, číslovanie diskov začína od 0, číslovanie oddielov od 1, pretože pri uvedení oddielu 0 sa načíta MBR. Pri uvedení disku nie je nutné uvádzať oddiel.
KERNEL chain.c32
APPEND hd0 0alebo
KERNEL chain.c32
APPEND hd0 Zdroje:
Poradie a popis načítania súborov cez PXE
Ako už bolo spomenuté na začiatku článku, adresár, kde sa nachádzajú súbory WDS na načítanie, obsahuje hodnotu parametra RootFolder v kľúči registra HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Predvolená hodnota C:\RemoteInstall
Tu je v parametre ReadFilter uvedený adresár, kde TFTP server hľadá súbory na načítanie, začínajúc od koreňa. Pri nainštalovanom SCCM 2012 SP1 je tento parameter takýto
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Ak zmeníte hodnotu parametra na * budú spracovávané všetky súbory umiestnené v adresári RemoteInstall.
Úloha bodu nasadenia SCCM 2012 je zapísaná v parametre registra ProvidersOrder, nachádzajúca sa v kľúči HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parameter ProvidersOrder môže mať hodnoty
SMSPXE
PXE servisný bod v SCCM
SMS.PXE.Filter
Správca PXE skriptov z MDT (Microsoft Deployment Toolkit)
BINLSVC
Štandardný správca WDS a RIS
Pri nainštalovanom SCCM parameter ProvidersOrder má hodnotu SMSPXE. Zmenou parametra môžete meniť poradie načítania poskytovateľov.
V adresári RemoteInstall sa nachádzajú nasledujúce štandardné súbory
wdsnbp.com
Program sieťového načítania, navrhnutý pre služby nasadenia Windows a vykonávajúci nasledujúce úlohy:
1. Zistenie architektúry.
2. Obsluhovanie čakajúcich počítačov. Keď je povolená politika automatického pridávania, tento program sieťového načítania sa posiela na čakajúce počítače, aby prerušiť sieťové načítanie a oznámiť serveru architektúru klientského počítača.
3. Využitie odkazov sieťového načítania (vrátane využitia parametrov 66 a 67 protokolu DHCP)
PXEboot.com
(Predvolené) Vyžaduje, aby používateľ stlačil kláves F12 pre pokračovanie sieťového načítania
PXEboot.n12
Nepotrebuje stlačenie klávesy F12 zo strany používateľa a okamžite začína sieťové zavádzanie
AbortPXE.com
Zavádza počítač pomocou nasledujúceho zavádzacieho prvku v BIOS bez čakania
Bootmgr.exe
Správca zavádzania systému Windows (Bootmgr.exe alebo Bootmgr.efi). Zavádza pomocou pevného zavádzača Windows z určitej diskovej oblasti alebo cez sieťové pripojenie (pri sieťovom zavádzaní)
Bootmgfw.efi
Verzia EFI programov PXEboot.com a PXEboot.n12 (v EFI sa rozhodovanie o zavádzaní alebo nezavádzaní PXE vykonáva v shelli EFI, nie programom sieťového zavádzania). Program Bootmgfw.efi kombinuje funkcie PXEboot.com, PXEboot.n12, abortpxe.com a bootmgr.exe. V súčasnosti existuje iba pre architektúry x64 a Itanium
Default.bcd
Úložisko údajov konfigurácie zavádzania (BCD), formát REGF, môže byť načítané v REGEDIT, nahrádza textový súbor Boot.ini
Zavádzanie prebieha v nasledovnom poradí podľa vyššie uvedeného opisu
1. Zavádza sa wdsnbp.com.
2. Ďalej sa zavádza pxeboot.com zodpovedajúcej architektúry
3. PXEBoot.com načíta bootmgr.exe a úložisko údajov konfigurácie zavádzania BCD
4. Bootmgr.exe načíta záznamy operačného systému z údajov konfigurácie zavádzania BCD a načíta súbor Boot.sdi a obraz Windows PE (boot.wim)
5. Bootmgr.exe začína zavádzanie Windows PE, pričom sa odkazuje na Winload.exe v obraze Windows PE
Ak existuje RemoteInstall sú tam priečinky
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend Ich prítomnosť naznačuje, že pred pridaním úlohy distribučného bodu do SCCM 2012 (servisného bodu PXE v SCCM 2007) bolo vykonané nejaké konfiguračné úpravy nainštalovaných Windows Deployment Services (WDS), ktoré automaticky vytvorili tieto priečinky.
Pre úlohu distribučného bodu (servisného bodu PXE v SCCM 2007) sú potrebné iba nasledujúce priečinky
SMSBoot
SMSIMAGES
SMSTemp
StoresTo neznamená, že SCCM je nainštalovaný nesprávne, ale môže naznačovať možný zdroj chýb.
Veľmi podrobne sa riešenie rôznych problémov spojených s WDS, SCCM a PXE preberá v článku
Záver
V IT infraštruktúre spravovanej System Center Configuration Manager sa pridal nový nástroj pre prácu miestnych systémových administrátorov.
Zoznam odkazov na obrázky ISO (Kliknite na zobrazenie)
Ďakujem za pozornosť!

Zdroj: habr.com
