Spouštěcí nabídka PXE s System Center Configuration Manager

Spouštěcí nabídka PXE s System Center Configuration Manager

Zvažujeme rozšíření možností System Center Configuration Manager (produkt pro správu IT infrastruktury) při bootování uživatelských PC přes síť pomocí PXE. Vytváříme spouštěcí nabídku založenou na PXELinux s funkcí System Center a přidáváme antivirové skenování, diagnostické a obnovovací obrazy. Na konci článku se dotýkáme funkcí System Center 2012 Configuration Manager ve spojení s Windows Deployment Services (WDS) při bootování přes PXE.

Všechny akce provádíme v testovacím prostředí, které již má nainstalovanou aktualizaci System Center 2012 Configuration Manager SP1, řadič domény a řadu testovacích počítačů. Předpokládá se, že SCCM se již nasazuje po síti pomocí PXE.

Vstup

Testovací prostředí se skládá z několika virtuálních strojů. Všechny počítače mají nainstalovaný hostující OS Microsoft Windows Server 2008 R2 (x64), síťový adaptér E1000, řadič SCSI: LSI Logic SAS

Jméno (role)
IP adresa / DNS jméno
Funkčnost

SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local

Nainstalován System Center Configuration Manager 2012 SP1

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

Role řadiče domény, serveru DHCP a serveru DNS

TEST (zkušební stroj)
192.168.57.103
test.test.místní

Pro testování

G.W. (brána)
192.168.57.1
Směrování mezi sítěmi. Role brány

1. Přidejte PXELinux do SCCM

Provádíme akce na počítači, kde je nainstalován System Center Configuration Manager

  • Pojďme určit adresář, kde jsou umístěny soubory WDS pro stahování, za tímto účelem hledáme v registru hodnotu parametru RootFolder ve větvi HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Výchozí hodnota C:RemoteInstall
    Soubory ke stažení z místa nasazení SCCM jsou umístěny v adresářích smsbootx86 и smsbootx64 v závislosti na architektuře.
    Nejprve ve výchozím nastavení nastavte adresář pro 32bitovou architekturu c:Remoteinstallsmsbootx86
  • Stáhněte si archiv s nejnovějšími SYSLINUX . Zkopírujte ze syslinux-5.01.zip do c:Remoteinstallsmsbootx86 následující soubory:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Aby se předešlo takové chybě, jsou potřeba další soubory.
    Spouštěcí nabídka PXE s System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 přejmenovat pxelinux.0 в pxelinux.com
    Ve složce c:remoteinstallsmsbootx86 udělat kopii abortpxe.com a přejmenovat na abortpxe.0
    Pokud ne, přejmenujte na příponu .0, pak například návod

    Kernel abortpxe.com

    selže s následující chybou: Spouštění jádra selhalo: Chybné číslo souboru
    U PXELINUX by měla být přípona stahovaného souboru nastavena podle štítku

    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]
    

    Zdroj: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file sekce "Soubor jádra"

  • Abyste při načítání SCCM přes nabídku nestiskli několikrát klávesu F12, přejmenujte pxeboot.com na pxeboot.com.f12, zkopírujte pxeboot.n12 na pxeboot.com
    Pokud se tak nestane, pak při výběru takovou zprávu obdržíme pokaždé
    Spouštěcí nabídka PXE s System Center Configuration Manager
    Poznámka: Nezapomeňte přejmenovat i tyto soubory ve složce x64. když se načte x86wdsnbp.com ze složky x86 zavaděč určí architekturu procesoru a další soubor se načte ze složky s odpovídající architekturou. Pro x64 tedy následující soubor nebude x86pxeboot.coma x64pxeboot.com
  • Stáhnout / vytvořit pozadí.png, rozlišení 640x480, zkopírujte do stejné složky. Vytvořte složku ISO kam umístíme ISO obrazy. Vytvořte složku pxelinux.cfg pro konfigurace.
  • Ve složce pxelinux.cfg vytvořte výchozí soubor v kódování bez Unicode s obsahem
    výchozí (zobrazíte kliknutím)

    # используем графическое меню
    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

    Ve složce pxelinux.cfg vytvořit soubor graphics.conf s obsahem
    graphics.conf (zobrazíte kliknutím)

    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

    Ve složce pxelinux.cfg vytvořit soubor av.conf s obsahem
    av.conf (zobrazíte kliknutím)

    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
    
  • V důsledku toho obsahuje adresář c:remoteinstallsmsbootx86 strukturu

    c:remoteinstallsmsbootx86
    pxelinux.cfg

    řetěz.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    pozadí.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortpxe.com

    standardní
    av.conf
    grafika.conf
    *.iso

  • Pro architekturu x64 obdobně zkopírujeme a vytvoříme stejnou strukturu ve složce c:remoteinstallsmsbootx64

Přidání
Při použití příkazu menu PASSWD heslo lze nastavit tak, jak je, nebo použít hashovací algoritmus přidáním odpovídajícího podpisu na začátek parametru

Algoritmus
Podpis

MD5
$ 1 $

SHA-1
$ 4 $

SHA-2-256
$ 5 $

SHA-2-512
$ 6 $

Takže pro heslo Qwerty a algoritmus MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Heslo si můžete vygenerovat například prostřednictvím online generátoru hash www.insidepro.com/hashes.php?lang=rus, řádek MD5(Unix)

2. Nastavte bootování PXELinux

Nyní ukážeme, jak načíst pxelinux.com a získat nabídku.
Specifikace zavaděče pxelinux.com pomocí funkce WDS nefunguje v SCCM. Zobrazit příkazy

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

nejsou zpracovány. Spuštěním výstupního konfiguračního příkazu serveru WDS můžete ověřit, že spouštěcí obrazy nejsou nastaveny

wdsutil /get-server /show:images

Spouštěcí nabídka PXE s System Center Configuration Manager
Proto v SCCM 2012 nemůžete zadat svůj soubor pro stahování PXE poskytovateli SMSPXE. Proto nakonfigurujeme aktivní oblast serveru DHCP.
V parametrech aktivní oblasti DHCP nastavte parametry podle štítku

možnost DHCP
Název parametru
Hodnota

066
Název hostitele spouštěcího serveru
sccm2012.test.local

067
Název spouštěcího souboru
smsbootx86pxelinux.com

006
DNS servery
192.168.57.10

015
Název domény DNS
test.místní

Ve volbě 066 zadáme FQDN jméno sccm serveru, ve volbě 067 zadáme cestu k x86 bootloaderu pxelinux.com počínaje kořenem TFTP, ve volbě 006 zadáme IP adresu DNS serveru. Pokud je ve volbě 066 použito krátké jméno serveru, ve volbě 015 uvedeme příponu DNS domény.

Přidání
Podrobněji je popsána konfigurace DHCP mvgolubev zde. Ale dál DC volba 150, adresa IP serveru TFTP, chyběla v nastavení rozsahu DHCP a zadání volby 150 přes netsh nefungovalo.Spouštěcí nabídka PXE s System Center Configuration Manager

3. Kontrola práce

Základní nastavení je hotovo a můžete začít s kontrolou. Na testovacím počítači v BIOSu indikujeme, že je načten přes síť a načten do menu
Spouštěcí nabídka PXE s System Center Configuration Manager

Vybrat předmět «Start to SCCM» a pokud je k počítači přiřazena sekvence úloh, po chvíli se zobrazí okno „Průvodce sekvencí úloh“ s výzvou k zadání hesla
Spouštěcí nabídka PXE s System Center Configuration Manager

Restartujte stroj, vraťte se do nabídky, vyberte v nabídce «Antivirus and tools» a zadejte heslo Qwerty
Spouštěcí nabídka PXE s System Center Configuration Manager

Vybereme libovolnou položku a sledujeme načítání ISO obrazu do paměti
Spouštěcí nabídka PXE s System Center Configuration Manager

Čekání a vidění výsledku
Spouštěcí nabídka PXE s System Center Configuration Manager

Ověření dokončeno
Spouštěcí nabídka PXE s System Center Configuration Manager

4. Další nastavení a funkce

Nastavení směrování

Pokud jsou klient, DHCP server a server obsahující síťový zavaděč ve stejném segmentu sítě, není nutná žádná další konfigurace. Pokud jsou však klient a server DHCP nebo server WDS/SCCM v různých segmentech sítě, doporučuje se nakonfigurovat směrovače tak, aby předávaly pakety vysílání z klienta na aktivní server DHCP a aktivní server WDS/SCCM. V anglické literatuře je tento proces znám jako "IP Helper table updates". V tomto případě klient po získání IP adresy kontaktuje server obsahující síťový zavaděč přímo přes pakety DHCP, aby si síťový zavaděč stáhl.
U směrovačů Cisco použijte příkaz

ip helper-address {ip address}

kde {ip address} Adresa serveru DHCP nebo serveru WDS/SCCM. Tento příkaz také odesílá následující pakety vysílání UDP

Přístav
Protokol

69
TFTP

53
Systém názvů domén (DNS)

37
Časová služba

137
Server jmen NetBIOS

138
Datagramový server NetBIOS

67
Bootstrap Protocol (BOOTP)

49
Tacacs

Druhou metodou pro klienta, jak získat informace o síťovém zavaděči přímo ze serveru DHCP, je zadat volby 60,66,67 na serveru DHCP. Použití možnosti DHCP 60 s hodnotou «PXEClient» do všech oborů DHCP, pouze pokud je server DHCP hostován na stejném serveru jako služba pro nasazení systému Windows. V tomto případě klient komunikuje přímo se serverem Windows Deployment Services pomocí TFTP na portu UDP 4011 namísto použití DHCP. Společnost Microsoft tuto metodu nedoporučuje kvůli problémům s vyrovnáváním zátěže, nesprávným zacházením s možnostmi DHCP a možnostmi odezvy Služeb pro nasazení systému Windows na straně klienta. A také proto, že použití pouze dvou možností DHCP 66 a 67 umožňuje obejít parametry nastavené na spouštěcím serveru sítě.
Musíte také otevřít následující porty UDP na serveru Windows Deployment Services
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
a port 68, pokud je na serveru vyžadována autorizace DHCP.

Podrobněji je proces konfigurace a nuance přesměrování mezi různými servery WDS popsány níže ve zdrojích:
Správa spouštěcích programů ze sítě http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Správa serveru http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Hranice podpory služeb Microsoft Product Support Services (PSS) pro spouštění ze sítě Microsoft Windows Preinstallation Environment (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Jak předat vysílání UDP (BOOTP / DHCP) na Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Vlastnosti provozu a konfigurace DHCP na routerech Cisco (část 2) http://habrahabr.ru/post/89997/

Další možnosti pro místní stahování

V testovacím prostředí příkaz

localboot 0

dává tuto chybu
Spouštěcí nabídka PXE s System Center Configuration Manager
Z dokumentace k syslinuxu vyplývá, že když

localboot 0

načítání proběhne z místního disku. A při zadání konkrétní hodnoty 0x00 z primární (primární) diskety, při zadání 0x80 z primárního (primárního) pevného disku. Změnou příkazu na

localboot 0x80

místní OS se načetl.
Pokud je potřeba zavést systém z konkrétního disku, oddílu nebo příkazu localboot nefunguje, pak můžete využít možnosti modulu chain.c32. Po jeho načtení zadejte konkrétní disk nebo diskový oddíl pomocí příkazu append, číslování disků začíná od 0, číslování diskových oddílů začíná od 1. pokud je zadán oddíl 0, načte se MBR. Při zadávání disku lze oddíl vynechat.

KERNEL chain.c32
APPEND hd0 0

nebo

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

Pořadí a popis stahování souborů přes PXE

Jak již bylo zmíněno na začátku článku, adresář, kde jsou umístěny soubory WDS ke stažení, je obsažen v hodnotě parametru RootFolder v pobočce registru HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Výchozí hodnota C:RemoteInstall
Zde v parametru ReadFilter jsou specifikovány adresáře, kde TFTP server hledá soubory ke stažení, počínaje kořenem. S nainstalovanou aktualizací SCCM 2012 SP1 je toto nastavení

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Pokud změníte hodnotu parametru na * pak budou zpracovány všechny soubory umístěné v adresáři RemoteInstall.

Role bodu nasazení SCCM 2012 je určena v hodnotě registru ProvidersOrderumístěné v pobočce HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parametr ProvidersOrder může nabývat hodnot

SMSPXE
Servisní bod PXE v SCCM

Filtr SMS.PXE
Obslužný program skriptu PXE z MDT (Microsoft Deployment Toolkit)

BINLSVC
Standardní motor WDS a RIS

S nainstalovaným SCCM, parametr ProvidersOrder záležitosti SMSPXE. Změnou parametru můžete změnit pořadí načítání poskytovatelů.

V katalogu RemoteInstall jsou umístěny následující standardní soubory

wdsnbp.com

Síťový spouštěcí program určený pro Windows Deployment Services, který provádí následující úlohy:
1. Detekce architektury.
2. Údržba čekajících počítačů. Když je povolena zásada automatického přidávání, je tento síťový spouštěcí program odeslán do čekajících počítačů, aby pozastavil spouštění sítě a informoval server o architektuře klientského počítače.
3. Použití síťových spouštěcích odkazů (včetně použití možností DHCP 66 a 67)

PXEboot.com

(Výchozí) Vyžaduje, aby uživatel stiskl klávesu F12, aby pokračovalo spouštění sítě

PXEboot.n12

Nevyžaduje, aby uživatel stiskl klávesu F12 a okamžitě zahájí spouštění sítě

PřerušitPXE.com

Spustí počítač pomocí další spouštěcí položky v systému BIOS bez čekání

bootmgr.exe

Správce spouštění systému Windows (Bootmgr.exe nebo Bootmgr.efi). Načte zavaděč Windows pomocí firmwaru z konkrétního diskového oddílu nebo přes síťové připojení (v případě spouštění ze sítě)

Bootmgfw.efi

Verze EFI PXEboot.com a PXEboot.n12 (v EFI je volba spouštět nebo nespouštět PXE v prostředí EFI, nikoli spouštěcí program ze sítě). Bootmgfw.efi kombinuje schopnosti PXEboot.com, PXEboot.n12, abortpxe.com a bootmgr.exe. V současnosti existuje pouze pro architektury x64 a Itanium.

Default.bcd

Boot Configuration Data Store (BCD), formát REGF, lze načíst do REGEDIT, nahrazuje textový soubor Boot.ini

Načítání probíhá v následujícím pořadí, jak je popsáno výše
1. Stáhněte si wdsnbp.com.
2. Dále se načte pxeboot.com příslušné architektury
3. PXEBoot.com stáhne bootmgr.exe a úložiště dat konfigurace spouštění BCD
4. Bootmgr.exe načte položky operačního systému spouštěcích konfiguračních dat BCD a načte soubor Boot.sdi a obraz Windows PE (boot.wim)
5. Bootmgr.exe začne načítat Windows PE přístupem k Winload.exe v bitové kopii Windows PE

Pokud RemoteInstall jsou tam složky

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

jejich přítomnost znamená, že před přidáním role distribučního bodu v SCCM 2012 (servisní body PXE v SCCM 2007) došlo k nějaké konfigurační akci na nainstalované službě Windows Deployment Services (WDS), která tyto složky automaticky vytvořila.
Pro roli distribučního bodu (servisní bod PXE v SCCM 2007) postačují pouze následující složky

SMSBoot
SMSIMAGES
SMSTemp
Stores

To neznamená, že je SCCM nainstalováno nesprávně, ale může to ukazovat na možný zdroj chyb.
Řešení různých problémů svazku WDS, SCCM a PXE je velmi podrobně rozebráno v článku. Odstraňování problémů se servisním bodem PXE a WDS v Configuration Manager 2007

Celkový

Infrastruktura IT spravovaná nástrojem System Center Configuration Manager přidala nový nástroj pro správce systému v terénu.

Seznam odkazů na obrázky ISO (zobrazíte kliknutím)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

Спасибо за внимание!
Spouštěcí nabídka PXE s System Center Configuration Manager

Zdroj: www.habr.com

Přidat komentář