
Analizăm extinderea funcționalităților System Center Configuration Manager (un produs pentru gestionarea infrastructurii IT) la bootarea PC-urilor utilizatorilor prin rețea folosind PXE. Creăm un meniu de boot bazat pe PXELinux cu funcționalități ale System Center și adăugăm capabilități de verificare antivirus, imagini de diagnosticare și recuperare. La finalul articolului, abordăm specificitățile colaborării între System Center 2012 Configuration Manager și Windows Deployment Services (WDS) în procesul de bootare prin PXE.
Toate acțiunile se desfășoară într-un mediu de testare, în care este deja instalat System Center 2012 Configuration Manager SP1, un controler de domeniu și un anumit număr de mașini de test. Se presupune că în SCCM se utilizează deja desfășurarea prin rețea folosind PXE.
Introducere
Mediul de testare constă din mai multe mașini virtuale. Pe toate mașinile este instalat sistemul de operare Microsoft Windows Server 2008 R2 (x64), adaptor de rețea E1000, Controler SCSI: LSI Logic SAS.
Nume (Roluri)
Adresă IP / nume DNS
Funcționalitate
SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local
System Center Configuration Manager 2012 SP1 este instalat
DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local
Rol de controler de domeniu, server DHCP și server DNS
TEST (Mașina de test)
192.168.57.103
test.test.local
Pentru testare
GW (Gateway)
192.168.57.1
Rutare între rețele. Rolul gateway-ului.
1. Adăugăm PXELinux în SCCM
Acțiunile se desfășoară pe mașina unde este instalat System Center Configuration Manager.
- Definim catalogul unde se află fișierele WDS pentru bootare, pentru aceasta în registrul de sistem verificăm valoarea parametrului.
RootFolderîn ramuraHKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valorile posibileC:RemoteInstall
Fișierele pentru bootare din punctul de desfășurare SCCM sunt situate în directoarelesmsbootx86șismsbootx64în funcție de arhitectură.
Întâi configurăm directorul pentru arhitectura de 32 de biți, în mod implicitc:Remoteinstallsmsbootx86 - Descărcăm arhiva cu ultima versiune . Copiem din syslinux-5.01.zip în
c:Remoteinstallsmsbootx86fișierele următoare:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Fișiere suplimentare sunt necesare pentru a evita o eroare de acest tip.
- În
c:Remoteinstallsmsbootx86renunțăm la denumireapxelinux.0înpxelinux.com
În folderulc:remoteinstallsmsbootx86facem o copieabortpxe.comși o redenumim înabortpxe.0
Dacă nu o redenumim în extensia.0, atunci, de exemplu, instrucțiuneaKernel abortpxe.comva fi executată cu eroarea: Booting kernel failed: Bad file number
Pentru PXELINUX, extensia fișierului de boot trebuie stabilită conform tabelului.niciun alt imagine a kernel-ului Linux .0 programul de bootstrap PXE (NBP) [doar PXELINUX] .bin "sector de boot CD" [doar ISOLINUX] .bs Sector de boot [doar SYSLINUX] .bss Sector de boot, superblocul DOS va fi patch-uit [doar SYSLINUX] .c32 imagine COM32 (COMBOOT pe 32 de biți) .cbt imagine COMBOOT (nu este rulabil din DOS) .com imagine COMBOOT (rulabil din DOS) .img imagine de disc [doar ISOLINUX]Sursa: secțiunea "Fișier kernel"
- Pentru a nu apăsa de mai multe ori tasta F12 la bootarea SCCM prin meniu, redenumim pxeboot.com în pxeboot.com.f12, copiem pxeboot.n12 în pxeboot.com
Dacă nu facem acest lucru, la selecție vom primi de fiecare dată acest mesaj
Notă: Nu uitați să redenumiți aceste fișiere și în folderul pentru x64, deoarece la bootarex86wdsnbp.comdin folderul x86, bootloader-ul determină arhitectura procesorului și următorul fișier este încărcat deja din folderul cu arhitectura corespunzătoare. Astfel, pentru x64, următorul fișier va fi nux86pxeboot.com, iarx64pxeboot.com - Descărcăm/creăm , cu rezoluția 640x480, copiem în același folder. Creăm un folder
ISOunde vom plasa imaginile ISO. Creăm un folderpxelinux.cfgpentru configurații. - În folderul pxelinux.cfg creăm fișierul default, într-o codare non-UTF, cu conținutul
default (Apasă pentru a vizualiza)# используем графическое меню 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 folderul
pxelinux.cfgcreăm fișierulgraphics.confcu conținutul
graphics.conf (Apasă pentru a vizualiza)MARJA MENU 10 RÂNDURI MENU 16 RÂND MSGTAB MENU 21 RÂNDUL TIMPULUI MENU 26 CULOARE MENU BORDA 30;44 #00000000 #00000000 niciuna CULOARE MENU BARE DE DERulare 30;44 #00000000 #00000000 niciuna CULOARE MENU TITLU 0 #ffffffff #00000000 niciuna CULOARE MENU SEL 30;47 #40000000 #20ffffff FOND MENU background.png NENEGATIV 0 PERMITE OPȚIUNI 0În folderul
pxelinux.cfgcreăm fișierulav.confcu conținutul
av.conf (Apasă pentru a vizualiza)DEFAULT vesamenu.c32 PROMPT 0 TITLU MENU Antivirus și instrumente INCLUDE MENU pxelinux.cfg/graphics.conf eticheta meniu principal eticheta meniu eticheta întoarce la meniul principal kernel vesamenu.c32 atașează pxelinux.cfg/default eticheta drweb eticheta meniu DrWeb kernel memdisk atașează iso raw initrd=isodrweb.iso eticheta eset eticheta meniu Eset kernel memdisk atașează iso raw initrd=isoeset_sysrescue.iso eticheta kav eticheta meniu KAV Rescue CD KERNEL kav/rescue ATAȘEAZĂ initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ro udev liveimg doscsi nomodeset quiet splash #Se încarcă ISO din calea completă, se poate încărca din alt TFTP eticheta winpe eticheta meniu WinPE dintr-un alt TFTP kernel sccm2012.test.local::smsbootx86memdisk atașează iso raw initrd=sccm2012.test.local::smsbootx86isoWinPE_RaSla.iso eticheta clonezilla eticheta meniu Clonezilla kernel memdisk atașează iso raw initrd=isoclonezilla.iso - În final, catalogul c:remoteinstallsmsbootx86 conține structura
c:remoteinstallsmsbootx86
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 - Pentru arhitectura x64, similar copiem și creăm aceeași structură în folderul
c:remoteinstallsmsbootx64
Complement
Când folosiți comandameniul PASSWDparola poate fi setată fie așa cum este, fie folosind un algoritm de hash, adăugând la începutul parametrului semnătura corespunzătoareAlgoritm
SemnăturaMD5
$1$SHA-1
$4$SHA-2-256
$5$SHA-2-512
$6$Astfel, pentru parola
Qwertyși algoritmul MD5menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Parola poate fi generată, de exemplu, printr-un generator online de hash-uri. , linie
MD5(Unix)
2. Configurăm încărcarea PXELinux
Acum vom specifica cum să încărcăm pxelinux.com și să obținem meniul.
Specificarea încărcătorului pxelinux.com prin funcționalitatea WDS nu funcționează în SCCM. Comenzile de tip
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
nu sunt procesate. Verificați că imaginile de încărcare nu sunt setate executând comanda de ieșire a configurației serverului WDS
wdsutil /get-server /show:images
Astfel, în SCCM 2012 nu se poate specifica propriul fișier pentru încărcare prin PXE pentru furnizorul SMSPXE. Prin urmare, vom configura domeniul activ al serverului DHCP.
În parametrii domeniului activ DHCP, specificăm parametrii conform tabelului.
Opțiunea DHCP
Numele parametrului
Valoare
066
Numele gazdei serverului de boot
sccm2012.test.local
067
Numele fișierului de boot
smsbootx86pxelinux.com
006
Servere DNS
192.168.57.10
015
Nume de domeniu DNS
test.local
În opțiunea 066, specificăm numele FQDN al serverului SCCM, iar în opțiunea 067 indicăm calea către încărcătorul x86 pxelinux.com începând de la rădăcina TFTP, în opțiunea 006 specificăm adresa IP a serverului DNS. În cazul în care în opțiunea 066 este folosit un nume scurt al serverului, în opțiunea 015 specificăm sufixul DNS al domeniului.
Complement
Mai detaliat, configurația DHCP a fost descrisă de . Dar peDCopțiunea 150, adresa IP a serverului TFTP, a lipsit de la configurațiile domeniului DHCP și specificarea opțiunii 150 prin netsh nu a funcționat.
3. Verificarea funcționării
Configurările principale au fost finalizate și putem începe verificarea. Specificăm pe computerul de test din BIOS să se încarce prin rețea și ne încărcăm în meniul
Selectăm punctul «Start to SCCM» și dacă pe computer este alocată o secvență de sarcini, după un timp va apărea fereastra «Asistent pentru crearea secvenței de sarcini» cu cererea de a introduce parola.

Reporniți mașina, intrați din nou în meniu, selectați în meniu «Antivirus and tools» și introducem parola. Qwerty
Selectăm un punct aleatoriu și observăm încărcarea imaginii ISO în memorie.
Așteptăm și observăm rezultatul.
Verificare finalizată.

4. Setări suplimentare și particularități.
Configurarea rutării.
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ă configurarea suplimentară. Totuși, dacă clientul și serverul DHCP sau serverul WDS/SCCM se află în segmente de rețea diferite, se recomandă configurarea redirecționării pachetelor de difuzare de la client la serverul DHCP activ și la serverul WDS/SCCM activ pe routere. În literatura de specialitate în limba engleză, acest proces este cunoscut sub numele de „IP Helper table updates”. În acest caz, clientul, după ce primește o adresă IP, se conectează la serverul care conține încărcătorul de rețea direct prin pachete DHCP pentru a descărca încărcătorul de rețea.
Pentru routerele Cisco se folosește comanda
ip helper-address {ip address}
unde {ip address} adresa serverului DHCP sau a serverului WDS/SCCM. Folosind această comandă, sunt de asemenea redirecționate următoarele pachete UDP de difuzare
Port
Protocolul
69
TFTP
53
Domain Name System (DNS)
37
Serviciul de timp
137
Server de nume NetBIOS
138
Server de datagrame NetBIOS
67
Bootstrap Protocol (BOOTP)
49
TACACS
A doua metodă pentru a obține informații despre încărcătorul de rețea direct de la serverul DHCP este specificarea opțiunilor 60, 66, 67 pe serverul DHCP. Utilizarea parametrului DHCP 60 cu valoarea „PXEClient” în toate domeniile de aplicare DHCP, doar dacă serverul DHCP se află pe același server cu serviciile de desfășurare Windows. În acest caz, clientul se conectează la serverul serviciilor de desfășurare Windows direct prin protocolul TFTP prin UDP-portul 4011, și nu prin DHCP. Această metodă nu este recomandată de Microsoft din cauza problemelor de echilibrare a încărcăturii, procesării incorecte a parametrilor DHCP și a parametrilor de răspuns ai serviciilor de desfășurare Windows pe partea clientului. De asemenea, utilizarea doar a două opțiuni 66 și 67 DHCP permite evitarea parametrilor stabiliți pe serverul de încărcare a rețelei.
De asemenea, trebuie să deschideți următoarele портuri UDP pe serverul serviciilor de desfășurare Windows
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 redirecționării între diferite servere WDS sunt descrise mai jos în surse:
Gestionarea programelor de încărcare a rețelei
Gestionarea serverului
Limitele de suport ale Microsoft Product Support Services (PSS) pentru încărcarea în rețea a Microsoft Windows Preinstallation Environment (Windows PE) 2.0
Cum să redirecționezi difuzarea UDP (BOOTP / DHCP) pe Cisco
Caracteristicile funcționării și configurării DHCP pe routerele Cisco (Partea 2)
Funcționalități suplimentare de încărcare locală
În mediu de test, comanda
localboot 0 întâlnește o astfel de eroare

Din documentația syslinux reiese că
localboot 0încărcarea se va face de pe disc local. Iar când se specifică o valoare concretă 0x00 de pe discheta principală și 0x80 de pe discul dur principal. Schimbând comanda în
localboot 0x80 OS-ul local a fost încărcat.
Dacă trebuie să faceți încărcarea de pe un disc, o partiție sau comanda localboot nu funcționează, atunci se poate utiliza capacitățile modulului chain.c32. După ce acesta a fost încărcat, comanda append specifică discul sau partiția specifică, numerotarea discurilor începe de la 0, iar numerotarea partițiilor de la 1, deoarece specificarea partiției 0 încarcă MBR. La specificarea discului, partiția poate fi omisă.
KERNEL chain.c32
APPEND hd0 0sau
KERNEL chain.c32
APPEND hd0 Surse:
Ordinea și descrierea încărcării fișierelor prin PXE
Așa cum s-a menționat la începutul articolului, directorul în care se află fișierele WDS pentru încărcare este conținut în valoarea parametrului RootFolder din ramura registrului HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valorile posibile C:RemoteInstall
Aici, în parametru ReadFilter sunt specificate directoarele unde serverul TFTP caută fișiere pentru încărcare, începând de la rădăcină. Cu SCCM 2012 SP1 instalat, acest parametru este astfel
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Dacă modificați valoarea parametrului în * toate fișierele din directorul RemoteInstall.
Rolul punctului de desfășurare SCCM 2012 este specificat în parametrul registrului ProvidersOrder, situat în ramura HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parametru ProvidersOrder poate lua valori
SMSPXE
punctul de servicii PXE în SCCM
SMS.PXE.Filter
Procesorul de script-uri PXE din MDT (Microsoft Deployment Toolkit)
BINLSVC
Procesor standard WDS și RIS
Cu SCCM instalat, parametrul ProvidersOrder are valoarea SMSPXE. Modificând parametrul se poate schimba ordinea de încărcare a furnizorilor.
În directorul RemoteInstall se află următoarele fișiere standard
wdsnbp.com
Program de încărcare prin rețea, dezvoltat pentru serviciile de implementare Windows care îndeplinește următoarele sarcini:
1. Detectarea arhitecturii.
2. Administrarea calculatoarelor aflate în așteptare. Atunci când politica de adăugare automată este activată, acest program de încărcare prin rețea este trimis către calculatoarele aflate în așteptare, pentru a suspenda încărcarea prin rețea și a informa serverul despre arhitectura computerului client.
3. Utilizarea legăturilor de încărcare prin rețea (inclusiv utilizarea parametrilor 66 și 67 din protocolul DHCP)
PXEboot.com
(Implicit) Necesită ca utilizatorul să apese tasta F12 pentru a continua încărcarea prin rețea
PXEboot.n12
Nu necesită apăsarea tastei F12 de către utilizator și începe imediat încărcarea rețelei
AbortPXE.com
Încarcă computerul folosind următorul element de încărcare din BIOS fără a aștepta
Bootmgr.exe
Managerul de încărcare Windows (Bootmgr.exe sau Bootmgr.efi). Încarcă prin programul încorporat de încărcare Windows dintr-o partiție specifică a unității sau printr-o conexiune la rețea (în cazul încărcării rețelei)
Bootmgfw.efi
Versiunea EFI a programelor PXEboot.com și PXEboot.n12 (în EFI, opțiunea de a încărca sau nu PXE este gestionată în shell-ul EFI, nu de programul de încărcare rețea). Programul Bootmgfw.efi combină funcționalitățile PXEboot.com, PXEboot.n12, abortpxe.com și bootmgr.exe. În prezent, există doar pentru arhitecturile x64 și Itanium
Default.bcd
Depozitul datelor de configurare a încărcării (BCD), format REGF, poate fi încărcat în REGEDIT, înlocuiește fișierul text Boot.ini
Încărcarea se realizează în următoarea ordine conform descrierii de mai sus
1. Se încarcă wdsnbp.com.
2. Apoi se încarcă pxeboot.com pentru arhitectura corespunzătoare
3. PXEBoot.com încarcă bootmgr.exe și depozitul de date de configurare a încărcării BCD
4. Bootmgr.exe citește înregistrările sistemului de operare din depozitul de date de configurare a încărcării BCD și încarcă fișierul Boot.sdi și imaginea Windows PE (boot.wim)
5. Bootmgr.exe începe încărcarea Windows PE, apelând la Winload.exe din imaginea Windows PE
Dacă în RemoteInstall există foldere
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend prezența acestora indică faptul că, înainte de a adăuga rolul de punct de distribuție în SCCM 2012 (punctele de servicii PXE în SCCM 2007), a existat o acțiune de configurare a serviciilor de desfășurare a Windows (WDS), rezultând astfel crearea automată a acestor foldere.
Pentru rolul de punct de distribuție (punct de servicii PXE în SCCM 2007), este suficient doar următoarele foldere
SMSBoot
SMSIMAGES
SMSTemp
StoresAceasta nu înseamnă că SCCM este instalat incorect, dar poate indica o posibilă sursă de erori.
Soluționarea diferitelor probleme ale legăturii WDS, SCCM și PXE este discutată detaliat în articolul
Rezultatul
În infrastructura IT gestionată de System Center Configuration Manager, a fost adăugat un nou instrument pentru administratori sistemici pe teren.
Lista linkurilor către imagini ISO (Faceți clic pentru a afișa)
Vă mulțumesc pentru atenție!

Sursa: habr.com
