Bootovacie menu PXE so System Center Configuration Managerom

Bootovacie menu PXE so System Center Configuration Managerom

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 RootFolder vo vetve HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
    Predvolená hodnota C:\RemoteInstall
    Súbory na spúšťanie z nasadzovacej bodu SCCM sa nachádzajú v adresároch smsbootx86 a smsbootx64 v závislosti od architektúry.
    Najprv nastavíme adresár pre 32-bitovú architektúru, predvolene c:\RemoteInstall\smsbootx86
  • Stiahneme archív s najnovším syslinux . Skopírujeme z syslinux-5.01.zip do c:\RemoteInstall\smsbootx86 ná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
    Bootovacie menu PXE so System Center Configuration Managerom
  • V c:\RemoteInstall\smsbootx86 prepisujeme pxelinux.0 v pxelinux.com
    V priečinku c:\remoteinstall\smsbootx86 vykonávame kópiu abortpxe.com a premenúvame ju na abortpxe.0
    Ak sa ale neprezmenuje na príponu .0, potom napríklad inštrukcia
    Kernel abortpxe.com

    sa 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: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file č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
    Bootovacie menu PXE so System Center Configuration Managerom
    Poznámka: Nezabúdame premenovať tieto súbory aj v priečinku pre x64, pretože pri spúšťaní x86wdsnbp.com z 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úbor x86pxeboot.com, a x64pxeboot.com
  • Stiahnite si/vytvorte background.png, rozlíšením 640x480, kopírujeme do toho istého priečinka. Vytvárame priečinok ISO kde umiestnime ISO obrazy. Vytvárame priečinok pxelinux.cfg pre 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.0

    V priečinku pxelinux.cfg vytvárame súbor graphics.conf s 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 0

    V priečinku pxelinux.cfg vytvárame súbor av.conf s 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.cfg

    chain.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.com

    default
    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íkazu menu PASSWD heslo môžeme zadať buď ako je, alebo použiť algoritmus hashovania, pridaním na začiatok parametra príslušnú signatúru

Algoritmus
Signatúra

MD5
$1$

SHA-1
$4$

SHA-2-256
$5$

SHA-2-512
$6$

Týmto spôsobom pre heslo Qwerty a algoritme MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Heslo môžeme vygenerovať napríklad cez online generátor hashov www.insidepro.com/hashes.php?lang=sk, 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

Bootovacie menu PXE so System Center Configuration Managerom
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 mvgolubev tu. Ale na DC voľba 150, IP adresa TFTP servera, chýbala v nastaveniach oblasti DHCP a určenie voľby 150 cez netsh nefungovalo.Bootovacie menu PXE so System Center Configuration Managerom

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
Bootovacie menu PXE so System Center Configuration Managerom

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
Bootovacie menu PXE so System Center Configuration Managerom

Reštartujeme stroj, znova vstupujeme do menu, vyberáme v menu „Antivirus a nástroje“ a zadávame heslo Qwerty
Bootovacie menu PXE so System Center Configuration Managerom

Vyberáme ľubovoľný bod a pozorujeme načítanie ISO obrazu do pamäte
Bootovacie menu PXE so System Center Configuration Managerom

Čakáme a sledujeme výsledok
Bootovacie menu PXE so System Center Configuration Managerom

Overenie skončené
Bootovacie menu PXE so System Center Configuration Managerom

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 http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Správa servera http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Podpora produktov Microsoft Product Support Services (PSS) pre sieťové bootovanie Microsoft Windows Preinstallation Environment (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Ako preposielať UDP broadcast (BOOTP / DHCP) na Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Špecifiká fungovania a nastavenia DHCP na routeroch Cisco (Časť 2) http://habrahabr.ru/post/89997/

Ďalšie možnosti lokálneho bootovania

V testovacom prostredí príkaz

localboot 0

vydáva takú chybu
Bootovacie menu PXE so System Center Configuration Managerom
Z dokumentácie syslinux vyplýva, že pri

localboot 0

načí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 0

alebo

KERNEL chain.c32
APPEND hd0

Zdroje: http://www.syslinux.org/wiki/index.php/SYSLINUX#LOCALBOOT_type_.5BISOLINUX.2C_PXELINUX.5D
http://www.gossamer-threads.com/lists/syslinux/users/7127

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
Stores

To 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 Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

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)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.ru/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

Ďakujem za pozornosť!
Bootovacie menu PXE so System Center Configuration Managerom

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster