Meniul de pornire PXE cu System Center Configuration Manager

Meniul de pornire PXE cu System Center Configuration Manager

Luăm în considerare extinderea capabilităților System Center Configuration Manager (un produs pentru gestionarea infrastructurii IT) atunci când pornim computerele utilizatorilor printr-o rețea folosind PXE. Creăm un meniu de pornire bazat pe PXELinux cu funcționalitatea System Center și adăugăm imagini de scanare antivirus, diagnostic și recuperare. La sfârșitul articolului, atingem caracteristicile System Center 2012 Configuration Manager împreună cu Windows Deployment Services (WDS) atunci când pornește prin PXE.

Efectuăm toate acțiunile într-un mediu de testare care are deja instalat System Center 2012 Configuration Manager SP1, un controler de domeniu și o serie de mașini de testare. Se presupune că SCCM este deja implementat în rețea folosind PXE.

Intrare

Mediul de testare este format din mai multe mașini virtuale. Toate mașinile au instalat sistemul de operare invitat Microsoft Windows Server 2008 R2 (x64), adaptor de rețea E1000, controler SCSI: LSI Logic SAS

Nume (roluri)
Adresă IP/nume DNS
funcțional

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

S-a instalat System Center Configuration Manager 2012 SP1

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

Rolul controlerului de domeniu, al serverului DHCP și al serverului DNS

TEST (mașină de testare)
192.168.57.103
test.test.local

Pentru testare

G.W. (Poarta de acces)
192.168.57.1
Rutarea între rețele. Rol Gateway

1. Adăugați PXELinux la SCCM

Efectuăm acțiuni pe mașina în care este instalat System Center Configuration Manager

  • Să determinăm directorul în care se află fișierele WDS pentru descărcare, pentru aceasta căutăm în registru valoarea parametrului RootFolder într-o ramură HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Valoare implicită C:RemoteInstall
    Fișierele de descărcat din punctul de implementare SCCM se află în directoare smsbootx86 и smsbootx64 in functie de arhitectura.
    Mai întâi, configurați un director pentru arhitectura pe 32 de biți, în mod implicit c:Remoteinstallsmsbootx86
  • Descărcați arhiva cu cele mai recente syslinux . Copiați de pe syslinux-5.01.zip în c:Remoteinstallsmsbootx86 urmatoarele fisiere:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Sunt necesare fișiere suplimentare pentru a evita o astfel de eroare.
    Meniul de pornire PXE cu System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 redenumiți pxelinux.0 в pxelinux.com
    În folder c:remoteinstallsmsbootx86 fa o copie abortpxe.com și redenumiți-l în abortpxe.0
    Dacă nu, redenumiți în extensie .0, apoi de exemplu instrucțiunea

    Kernel abortpxe.com

    va eșua cu următoarea eroare: Pornirea nucleului a eșuat: Număr de fișier greșit
    Pentru PXELINUX, extensia fișierului de descărcare trebuie setată conform plăcuței

    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]
    

    Sursa: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file secțiunea „Fișier kernel”

  • Pentru a nu apăsa tasta F12 de mai multe ori când încărcați SCCM prin meniu, redenumiți pxeboot.com în pxeboot.com.f12, copiați pxeboot.n12 în pxeboot.com
    Dacă acest lucru nu se face, atunci când alegem, vom primi un astfel de mesaj de fiecare dată
    Meniul de pornire PXE cu System Center Configuration Manager
    Notă: Nu uitați să redenumiți aceste fișiere și în folderul x64. când se încarcă x86wdsnbp.com din folderul x86, încărcătorul determină arhitectura procesorului și următorul fișier este încărcat din folderul cu arhitectura corespunzătoare. Astfel, pentru x64, fișierul următor nu va fi x86pxeboot.comȘi x64pxeboot.com
  • Descărcați/creați fundal.png, rezoluție 640x480, copiați în același folder. Creați un folder ISO unde vom plasa imagini ISO. Creați un folder pxelinux.cfg pentru config.
  • În folderul pxelinux.cfg, creați un fișier implicit, într-o codificare non-unicode, cu conținutul
    implicit (dați clic pentru a afișa)

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

    În folder pxelinux.cfg creați un fișier graphics.conf cu continut
    graphics.conf (Faceți clic pentru a afișa)

    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

    În folder pxelinux.cfg creați un fișier av.conf cu continut
    av.conf (Click pentru a afișa)

    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
    
  • Ca rezultat, directorul c:remoteinstallsmsbootx86 conține structura

    c:remoteinstallsmsbootx86
    pxelinux.cfg

    lanţ.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxehn.c32
    vesamenu.c32
    pxelinux.com
    fundal.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortpxe.com

    lipsă
    av.conf
    grafică.conf
    *.izo

  • Pentru arhitectura x64, copiem și creăm în mod similar aceeași structură în folder c:remoteinstallsmsbootx64

Plus
Când utilizați comanda menu PASSWD parola poate fi setată ca atare sau poate utiliza un algoritm de hashing adăugând semnătura corespunzătoare la începutul parametrului

Algoritmul
Semnătură

MD5
1 USD

SHA-1
4 USD

SHA-2-256
5 USD

SHA-2-512
6 USD

Deci pentru parola Qwerty și algoritmul MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Puteți genera o parolă, de exemplu, printr-un generator de hash online www.insidepro.com/hashes.php?lang=rus, linie MD5(Unix)

2. Configurați boot-ul PXELinux

Acum vom indica cum să încărcăm pxelinux.com și să obținem meniul.
Specificarea bootloader-ului pxelinux.com prin intermediul funcționalității WDS nu funcționează în SCCM. Vizualizați comenzi

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

nu sunt procesate. Puteți verifica dacă imaginile de pornire nu sunt setate prin rularea comenzii de configurare a serverului WDS de ieșire

wdsutil /get-server /show:images

Meniul de pornire PXE cu System Center Configuration Manager
Prin urmare, în SCCM 2012, nu puteți specifica fișierul pentru descărcare PXE către furnizorul SMSPXE. Prin urmare, vom configura zona activă a serverului DHCP.
În parametrii zonei active DHCP, setați parametrii conform plăcuței

opțiunea DHCP
Numele parametrului
Valoare

066
Numele gazdă al serverului de pornire
sccm2012.test.local

067
Numele fișierului de pornire
smsbootx86pxelinux.com

006
Servere DNS
192.168.57.10

015
Nume de domeniu DNS
test.local

In optiunea 066 specificam numele FQDN al serverului sccm, in optiunea 067 specificam calea catre bootloader-ul x86 pxelinux.com incepand de la radacina TFTP, in optiunea 006 specificam adresa IP a serverului DNS. Dacă în opțiunea 066 este folosit un nume scurt de server, în opțiunea 015 specificăm sufixul DNS al domeniului.

Plus
A descris configurația DHCP mai detaliat mvgolubev aici. Dar mai departe DC opțiunea 150, adresa IP a serverului TFTP, lipsea din setările domeniului DHCP și specificarea opțiunii 150 prin netsh nu a funcționat.Meniul de pornire PXE cu System Center Configuration Manager

3. Verificarea lucrărilor

Setările de bază sunt finalizate și puteți începe verificarea. Indicăm pe computerul de testare din BIOS că este încărcat prin rețea și încărcat în meniu
Meniul de pornire PXE cu System Center Configuration Manager

Alegeți un element «Start to SCCM» și dacă o secvență de sarcini este atribuită computerului, atunci după un timp va apărea fereastra „Asistent secvență de sarcini” care vă va cere să introduceți o parolă
Meniul de pornire PXE cu System Center Configuration Manager

Reporniți aparatul, reveniți la meniu, selectați din meniu «Antivirus and tools» și introduceți parola Qwerty
Meniul de pornire PXE cu System Center Configuration Manager

Selectăm un articol arbitrar și observăm încărcarea imaginii ISO în memorie
Meniul de pornire PXE cu System Center Configuration Manager

Aștept și văd rezultatul
Meniul de pornire PXE cu System Center Configuration Manager

Verificare finalizată
Meniul de pornire PXE cu System Center Configuration Manager

4. Setări și caracteristici suplimentare

Configurare rutare

Dacă clientul, serverul DHCP și serverul care conține încărcătorul de rețea se află în același segment de rețea, nu este necesară nicio configurare suplimentară. Cu toate acestea, dacă clientul și serverul DHCP sau serverul WDS/SCCM sunt situate pe segmente de rețea diferite, se recomandă să configurați routerele pentru a redirecționa pachetele de difuzare de la client la serverul DHCP activ și serverul WDS/SCCM activ. În literatura engleză, acest proces este cunoscut sub numele de „actualizări de tabel IP Helper”. În acest caz, clientul, după obținerea unei adrese IP, contactează serverul care conține încărcătorul de rețea direct prin intermediul pachetelor DHCP pentru a descărca încărcătorul de rețea.
Pentru routerele Cisco, utilizați comanda

ip helper-address {ip address}

unde {ip address} Adresa serverului DHCP sau a serverului WDS/SCCM. Această comandă trimite, de asemenea, următoarele pachete de difuzare UDP

port
protocol

69
TFTP

53
Sistem de nume de domeniu (DNS)

37
Serviciu de timp

137
Server de nume NetBIOS

138
Server de date NetBIOS

67
Protocolul Bootstrap (BOOTP)

49
TACACS

A doua metodă pentru ca clientul să obțină informații despre încărcătorul de rețea direct de la serverul DHCP este de a specifica opțiunile 60,66,67 pe serverul DHCP. Folosind opțiunea DHCP 60 cu valoare «PXEClient» la toate domeniile DHCP, numai dacă serverul DHCP este găzduit pe același server ca Windows Deployment Services. În acest caz, clientul comunică direct cu serverul Windows Deployment Services folosind TFTP pe portul UDP 4011 în loc să utilizeze DHCP. Această metodă nu este recomandată de Microsoft din cauza problemelor legate de echilibrarea încărcăturii, gestionării incorecte a opțiunilor DHCP și a opțiunilor de răspuns Windows Deployment Services pe partea clientului. Și, de asemenea, pentru că utilizarea doar a două opțiuni DHCP 66 și 67 vă permite să ocoliți parametrii setați pe serverul de boot de rețea.
De asemenea, trebuie să deschideți următoarele porturi UDP pe serverul Windows Deployment Services
portul 67 (DHCP)
portul 69 (TFTP)
portul 4011 (PXE)
și portul 68 dacă este necesară autorizarea DHCP pe server.

Mai detaliat, procesul de configurare și nuanțele de redirecționare între diferite servere WDS sunt descrise mai jos în surse:
Managementul programului de pornire în rețea http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Managementul serverului http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Limitele de suport pentru serviciile de asistență pentru produse Microsoft (PSS) pentru pornirea în rețea Mediul de preinstalare Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Cum să redirecționați transmisia UDP (BOOTP / DHCP) pe Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Caracteristici de funcționare și configurare a DHCP pe routerele Cisco (Partea 2) http://habrahabr.ru/post/89997/

Opțiuni suplimentare pentru descărcare locală

Într-un mediu de testare, comanda

localboot 0

da o astfel de eroare
Meniul de pornire PXE cu System Center Configuration Manager
Din documentația syslinux rezultă că atunci când

localboot 0

încărcarea va merge de pe un disc local. Și când se specifică o anumită valoare 0x00 de pe discheta primară (primară), când se specifică 0x80 de pe hard diskul primar (primar). Prin schimbarea comenzii în

localboot 0x80

sistemul de operare local s-a încărcat.
Dacă este nevoie să porniți de pe un anumit disc, partiție sau comandă localboot nu funcționează, atunci puteți utiliza capacitățile modulului chain.c32. După încărcare, utilizați comanda append pentru a specifica un anumit disc sau o partiție de disc, numerotarea discului începe de la 0, numerotarea partiției începe de la 1. dacă este specificată partiția 0, MBR-ul este încărcat. Când specificați un disc, partiția poate fi omisă.

KERNEL chain.c32
APPEND hd0 0

sau

KERNEL chain.c32
APPEND hd0

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

Comanda și descrierea descărcării fișierelor prin PXE

După cum sa menționat la începutul articolului, directorul în care se află fișierele WDS pentru descărcare este conținut în valoarea parametrului RootFolder în filiala registrului HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valoare implicită C:RemoteInstall
Aici în parametru ReadFilter sunt specificate directoare unde serverul TFTP caută fișiere de descărcat, începând de la rădăcină. Cu SCCM 2012 SP1 instalat, această setare este

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Dacă modificați valoarea parametrului în * atunci toate fișierele aflate în director vor fi procesate RemoteInstall.

Rolul punctului de implementare SCCM 2012 este specificat în valoarea de registru ProvidersOrdersituat în ramură HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parametru ProvidersOrder poate lua valori

SMSPXE
Punct de service PXE în SCCM

SMS.PXE.Filter
Manager de script PXE de la MDT (Microsoft Deployment Toolkit)

BINLSVC
Motor WDS și RIS standard

Cu SCCM instalat, parametrul ProvidersOrder chestiuni SMSPXE. Prin modificarea parametrului, puteți modifica ordinea în care sunt încărcați furnizorii.

În catalog RemoteInstall sunt localizate următoarele fișiere standard

wdsnbp.com

Un program de pornire în rețea conceput pentru Serviciile de implementare Windows care efectuează următoarele sarcini:
1. Detectarea arhitecturii.
2. Întreținerea calculatoarelor de așteptare. Când politica de adăugare automată este activată, acest program de pornire în rețea este trimis computerelor în așteptare pentru a suspenda pornirea rețelei și pentru a informa serverul despre arhitectura computerului client.
3. Utilizarea legăturilor de pornire în rețea (inclusiv utilizarea opțiunilor DHCP 66 și 67)

PXEboot.com

(Implicit) Necesită ca utilizatorul să apese tasta F12 pentru a continua pornirea în rețea

PXEboot.n12

Nu necesită ca utilizatorul să apese tasta F12 și începe imediat pornirea rețelei

AbortPXE.com

Pornește computerul folosind următorul element de pornire din BIOS fără a aștepta

bootmgr.exe

Windows Boot Manager (Bootmgr.exe sau Bootmgr.efi). Încarcă bootloader-ul Windows utilizând firmware de pe o anumită partiție de disc sau printr-o conexiune de rețea (în cazul pornirii în rețea)

Bootmgfw.efi

Versiunea EFI a PXEboot.com și PXEboot.n12 (în EFI, alegerea de a porni sau nu a porni PXE este în shell-ul EFI, nu în programul de pornire în rețea). Bootmgfw.efi combină capabilitățile PXEboot.com, PXEboot.n12, abortpxe.com și bootmgr.exe. În prezent există doar pentru arhitecturile x64 și Itanium.

Implicit.bcd

Boot Configuration Data Store (BCD), format REGF, poate fi încărcat în REGEDIT, înlocuiește fișierul text Boot.ini

Încărcarea are loc în următoarea ordine, așa cum este descris mai sus
1. Descărcați wdsnbp.com.
2. În continuare, se încarcă pxeboot.com cu arhitectura corespunzătoare
3. PXEBoot.com descarcă bootmgr.exe și depozitul de date de configurare a pornirii BCD
4. Bootmgr.exe citește datele de configurare a pornirii BCD intrările sistemului de operare și încarcă fișierul Boot.sdi și imaginea Windows PE (boot.wim)
5. Bootmgr.exe începe să încarce Windows PE accesând Winload.exe în imaginea Windows PE

În cazul în care RemoteInstall sunt foldere

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

prezența lor înseamnă că, înainte de a adăuga rolul punctului de distribuție în SCCM 2012 (puncte de service PXE în SCCM 2007), a existat o acțiune de configurare pe serviciile de implementare Windows (WDS) instalate care au creat automat aceste foldere.
Pentru rolul punctului de distribuție (punct de serviciu PXE în SCCM 2007), doar următoarele foldere sunt suficiente

SMSBoot
SMSIMAGES
SMSTemp
Stores

Acest lucru nu înseamnă că SCCM este instalat incorect, dar poate indica o posibilă sursă de erori.
Soluția diferitelor probleme ale pachetului WDS, SCCM și PXE este discutată în detaliu în articol. Depanarea PXE Service Point și WDS în Configuration Manager 2007

Total

Infrastructura IT gestionată de System Center Configuration Manager a adăugat un nou instrument pentru administratorii de sistem de teren.

Lista de link-uri către imagini ISO (Click pentru a afișa)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

Vă mulțumim pentru atenție!
Meniul de pornire PXE cu System Center Configuration Manager

Sursa: www.habr.com

Adauga un comentariu