
A System Center Configuration Manager (a product for IT infrastructure management) capabilities extension is considered for booting user PCs via PXE. We create a boot menu based on PXELinux with System Center functionality and add antivirus scanning capabilities, diagnostic and recovery images. At the end of the article, we address the features of System Center 2012 Configuration Manager working together with Windows Deployment Services (WDS) when booting through PXE.
All actions are performed in a test environment, which already has System Center 2012 Configuration Manager SP1, a domain controller, and a number of test machines installed. It is assumed that SCCM is already using network deployment via PXE.
Bevezetés
The test environment consists of several virtual machines. All machines have Microsoft Windows Server 2008 R2 (x64) guest OS installed, E1000 network adapter, SCSI Controller: LSI Logic SAS.
Name (Roles)
IP address/DNS name
Funkció
SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local
System Center Configuration Manager 2012 SP1 is installed
DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local
Domain controller, DHCP server, and DNS server role
TEST (Test machine)
192.168.57.103
test.test.local
A teszteléshez
GW (Gateway)
192.168.57.1
Routing between networks. Gateway role
1. Add PXELinux to SCCM
Actions are performed on the machine where System Center Configuration Manager is installed.
- We will define the directory where the WDS files for booting are located, for this we will look at the registry parameter value.
RootFolderin the branchHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Alapértelmezett értékC:\RemoteInstall
Files for booting from the SCCM deployment point are located in directoriessmsboot\x86éssmsboot\x64depending on the architecture.
First, configure the directory for 32-bit architecture, by defaultc:\RemoteInstall\smsboot\x86 - Download the archive with the latest . Copy the following files from syslinux-5.01.zip to
c:\RemoteInstall\smsboot\x86the following files:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Additional files are needed to avoid such an error
- A
c:\RemoteInstall\smsboot\x86renamepxelinux.0be.pxelinux.com
A mappábanc:\remoteInstall\smsboot\x86make a copy ofabortpxe.comand rename it toabortpxe.0
If you do not rename to the extension.0, then for example, the instructionKernel abortpxe.comwill be executed with an error: Booting kernel failed: Bad file number
For PXELINUX, the boot file extension should be set according to the table.nincs vagy más Linux kernel kép .0 PXE bootstrap program (NBP) [csak PXELINUX] .bin "CD indító szektor" [csak ISOLINUX] .bs Indító szektor [csak SYSLINUX] .bss Indító szektor, DOS szuperblokk javítva lesz [csak SYSLINUX] .c32 COM32 kép (32-bites COMBOOT) .cbt COMBOOT kép (nem futtatható DOS-ból) .com COMBOOT kép (futtatható DOS-ból) .img Lemezkép [csak ISOLINUX]Forrás: „Kernel fájl” szekció
- Annak érdekében, hogy ne kelljen többször nyomkodni az F12 gombot a SCCM betöltésekor a menüből, nevezzük át a pxeboot.com-ot pxeboot.com.f12-re, másoljuk át a pxeboot.n12-t a pxeboot.com-ba
Ha ezt nem tesszük meg, akkor választáskor minden alkalommal ezt az üzenetet kapjuk
Megjegyzés: Ne felejtsük el átnevezni ezeket a fájlokat az x64 mappában is, mert amikor betöltődikx86wdsnbp.comaz x86 mappából a betöltő az architektúrát és a következő fájlt már a megfelelő architektúrájú mappából tölt be. Így a x64-hez a következő fájl nemx86pxeboot.com, ésx64pxeboot.com - Letöltjük/létrehozzuk , 640x480 felbontással, átmásoljuk ugyanabba a mappába. Létrehozunk egy mappát
ISOahová az ISO képeket fogjuk elhelyezni. Létrehozunk egy mappátpxelinux.cfga konfigurációkhoz. - A pxelinux.cfg mappában létrehozunk egy default nevű fájlt, nem Unicode kódolásban, a következő tartalommal
default (Kattintson a megjelenítéshez)# используем графическое меню 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.0A mappában
pxelinux.cfglétrehozunk egy fájltgraphics.confa tartalommal
graphics.conf (Kattintson a megjelenítéshez)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 0A mappában
pxelinux.cfglétrehozunk egy fájltav.confa tartalommal
av.conf (Kattintson a megjelenítéshez)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 betöltése teljes úton, más TFTP-ről is betölthető 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 - Ennek eredményeként a c:remoteinstallsmsbootx86 mappa tartalmazza a struktúrát
c:\remoteInstall\smsboot\x86
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.comalapértelmezett
av.conf
graphics.conf
*.iso - x64 architektúra esetén hasonlóan másoljuk és létrehozzuk ugyanezt a struktúrát a mappában
c:remoteinstallsmsbootx64
Kiegészítés
A menü PASWORD parancs használatakora jelszó megadható vagy az alapértelmezett formában, vagy a hash algoritmust használva a megfelelő aláírás hozzáadásával a paraméter elejéreAlgoritmusSHA-1
Aláírás: 0826bd11b2c130c4c8ac137e395ac2d4
$1$SHA-2-256
$4$SHA-2-512
$5$Így a jelszó
$6$Qwerty
Qwertyés az MD5 algoritmusmenü PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Jelszót generálhatunk például online hash generátor segítségével , szöveg
MD5(Unix)
2. PXELinux betöltés beállítása
Most megadjuk, hogyan kell betölteni a pxelinux.com-ot és megkapni a menüt.
A pxelinux.com betöltőprogram megadása WDS funkcióval nem működik az SCCM-ben. Az ilyen parancsok, mint
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
nem kerülnek feldolgozásra. Győződjön meg róla, hogy a betöltő képek nincsenek beállítva a WDS szerver konfigurációs kimenetét megjelenítő parancs végrehajtásával
wdsutil /get-server /show:images
Így az SCCM 2012-ben nem lehet megadni a saját fájlt a PXE betöltéshez az SMSPXE szolgáltató számára. Ezért az aktív DHCP tartományt fogjuk beállítani.
Az aktív DHCP tartomány beállításaiban az alábbi táblázat szerint adjuk meg a paramétereket
DHCP opció
Paraméter neve
Value
066
Boot server host name
sccm2012.test.local
067
Bootfile name
smsbootx86pxelinux.com
006
DNS szerverek
192.168.57.10
015
DNS domain név
test.local
A 066 opcióban megadjuk a sccm szerver FQDN nevét, a 067 opcióban a pxelinux.com x86 betöltő útját a TFTP gyökérétől kezdve, a 006 opcióban pedig a DNS szerver IP-címét. Ha a 066 opcióban rövid név szerepel, akkor a 015 opcióban a DNS domain suffix-et kell megadnunk.
Kiegészítés
A DHCP beállítások részletes leírását adta . De aDC150 opció, a TFTP-server IP-címe, hiányzott a DHCP zónabeállításokból, és a 150. opció netsh általi megadása nem működött.
3. A működés ellenőrzése
Alapvető beállítások befejeződtek, és lehet kezdeni az ellenőrzést. A tesztgépen a BIOS-ban a hálózati indítást kell megadni, és belépni a menübe
Válassza a «Start to SCCM» elemet, és ha a számítógéphez fel van tüntetve a feladat sorozat, akkor egy idő után megjelenik a „Task Sequence Wizard” ablak, amely kéri a jelszó megadását.

Indítsa újra a gépet, lépjen be újra a menübe, és válassza a «Antivirus and tools» elemet, és adja meg a jelszót. Qwerty
Válasszon egy tetszőleges elemet, és figyelje meg az ISO kép betöltését a memóriába.
Várjunk, és figyeljük az eredményeket.
Az ellenőrzés befejeződött.

4. További beállítások és jellemzők
A forgalomirányítás beállítása
Ha az ügyfél, a DHCP-szerver és a hálózati indítót tartalmazó szerver ugyanabban a hálózati szegmensben található, akkor nincs szükség további beállításokra. Ha viszont az ügyfél és a DHCP-szerver vagy a WDS/SCCM szerver különböző hálózati szegmensekben helyezkedik el, ajánlott a routereken beállítani a széles sávú csomagok továbbítását az ügyfél és a működő DHCP-szerver, valamint a WDS/SCCM szerver között. Az angol nyelvű szakirodalomban ezt a folyamatot „IP Helper table updates”-nak nevezik. Ebben az esetben az ügyfél, miután megkapta az IP címet, közvetlenül a DHCP csomagok segítségével lép kapcsolatba a hálózati indítót tartalmazó szerverrel, hogy letöltse azt.
Cisco routerek esetén a parancs
ip helper-address {ip address}
ahol {ip address} a DHCP-szerver vagy WDS/SCCM szerver címe. E parancs használata esetén az alábbi széles sávú UDP csomagok is továbbításra kerülnek
Port
Protokoll
69
TFTP
53
Domain Name System (DNS)
37
Időszolgáltatás
137
NetBIOS Név Szolgáltató
138
NetBIOS Datagram Szolgáltató
67
Bootstrap Protocol (BOOTP)
49
TACACS
A második módszer, amellyel az ügyfél közvetlenül információkat szerezhet a hálózati indítóról a DHCP szervertől, az opciók 60, 66, 67 megadása a DHCP szerveren. A 60-as DHCP paraméter használata a következő értékkel „PXEClient” minden DHCP hatókörben, csak abban az esetben, ha a DHCP-szerver ugyanazon a szerveren helyezkedik el, mint a Windows telepítési szolgáltatások. Ilyen esetben az ügyfél közvetlenül a Windows telepítési szolgáltatások szerverével lép kapcsolatba TFTP protokollon keresztül az UDP 4011-es portján, nem pedig DHCP használatával. E módszert a Microsoft nem ajánlja a terheléselosztással, a DHCP paraméterek helytelen kezelésével, valamint a Windows telepítési szolgáltatások válaszparamétereivel kapcsolatos problémák miatt az ügyfél oldalán. Továbbá, mert csupán a 66 és 67 DHCP opciók használata lehetővé teszi a hálózati indító szerveren megadott paraméterek megkerülését.
Nyitnia kell a következő UDP portokat a Windows telepítési szolgáltatások szerverén is
67-es port (DHCP)
69-es port (TFTP)
4011-es port (PXE)
és a 68-as port, ha DHCP-engedélyezés szükséges a szerveren.
A konfigurációs folyamat részletesebben és a különböző WDS szerverek közötti irányítással kapcsolatos finomságok az alábbi forrásokban találhatók:
Hálózati indító programok kezelése
Szerver kezelése
Microsoft Product Support Services (PSS) szolgáltatási határok a Microsoft Windows Előtelepítési Környezet (Windows PE) 2.0 hálózati indításához
Hogyan kell továbbítani a UDP széles sávú forgalmat (BOOTP / DHCP) Cisco eszközökön
A DHCP működésének és beállításának jellemzői Cisco routereken (2. rész)
További lehetőségek a helyi indításhoz
A tesztkörnyezetben a parancs
localboot 0 például ilyen hibát ad

A syslinux dokumentációja szerint
localboot 0a rendszer indítása helyi lemezről fog megtörténni. Egy adott 0x00 érték megadása esetén az első (primary) floppy lemezről, 0x80 érték megadása esetén az első (primary) merevlemezről. A parancs módosításával
localboot 0x80 a helyi operációs rendszer elindult.
Ha szükséges az indítás egy konkrét lemezről, partícióról vagy parancsról, localboot nem működik, akkor a modul lehetőségeit kell igénybe venni. chain.c32A betöltés után, az append paranccsal meg kell adni a konkrét lemezt vagy partíciót, a lemezek számozása 0-tól kezdődik, a partíciók számozása 1-től, mivel a 0-s partíció megadása esetén az MBR töltődik be. Lehetőség van a partíció kihagyására.
KERNEL chain.c32
APPEND hd0 0vagy
KERNEL chain.c32
APPEND hd0 Források:
A fájlok indításának sorrendje és leírása PXE-n keresztül
Mint ahogy a cikk elején már említettük, a könyvtár, ahol a WDS indítófái találhatók, a RootFolder regisztráló ágban lévő paraméterben található HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Alapértelmezett érték C:\RemoteInstall
Itt a paraméternél ReadFilter fel vannak tüntetve azok a könyvtárak, ahol a TFTP szerver a fájlokat keresi az indításhoz, kezdve a gyökérből. A SCCM 2012 SP1 telepítésekor ez a paraméter
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Ha a paraméter értékét megváltoztatjuk, akkor * minden fájlt feldolgoznak, ami a RemoteInstall könyvtárban található..
Az SCCM 2012 telepítési pont szerepe a következő regisztráló paraméterben van rögzítve ProvidersOrder, ami a következő ágon található HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
A parameter ProvidersOrder értékei lehetnek
SMSPXE
a PXE kiszolgáló a SCCM-ben
SMS.PXE.Filter
MDT-ből származó PXE szkript kezelő (Microsoft Deployment Toolkit)
BINLSVC
A WDS és RIS alapértelmezett kezelője
A SCCM telepítésekor a paraméter ProvidersOrder értéke SMSPXE. A paraméter módosításával a szolgáltatók betöltésének sorrendje módosítható.
A mappa RemoteInstall könyvtárban található. a következő alapértelmezett fájlok találhatók
wdsnbp.com
A hálózati indító program, amely a Windows telepítési szolgáltatásokhoz készült, és a következő feladatokat látja el:
1. Az architektúra észlelése.
2. Várakozó számítógépek kiszolgálása. Amikor az automatikus hozzáadás politikája be van kapcsolva, ez a hálózati indító program elküldésre kerül a várakozó számítógépeknek, hogy leállítsák a hálózati indítást, és tájékoztassák a szervert a kliens számítógép architektúrájáról.
3. A hálózati indítási hivatkozások használata (beleértve a DHCP protokoll 66 és 67 paraméterek alkalmazását)
PXEboot.com
(Alapértelmezetten) Megköveteli, hogy a felhasználó megnyomja az F12 billentyűt a hálózati indítás folytatásához.
PXEboot.n12
Nem igényel F12 billentyű lenyomását a felhasználótól, és azonnal megkezdi a hálózati betöltést
AbortPXE.com
A számítógép a BIOS következő betöltési elemével indul el várakozás nélkül
Bootmgr.exe
A Windows betöltő kezelője (Bootmgr.exe vagy Bootmgr.efi). A Windows betöltőt a lemez egy meghatározott partíciójáról vagy hálózati kapcsolaton keresztül (hálózati betöltés esetén) indítja el a beépített szoftver segítségével.
Bootmgfw.efi
Az EFI verziója a PXEboot.com és PXEboot.n12 programoknak (EFI alatt a PXE betöltésének engedélyezése vagy letiltása az EFI shellben történik, nem a hálózati betöltő program által). A Bootmgfw.efi integrálja a PXEboot.com, PXEboot.n12, abortpxe.com és bootmgr.exe funkcióit. Jelenleg csak x64 és Itanium architektúrákhoz érhető el.
Default.bcd
A betöltési konfigurációs adatbázis (BCD), REGF formátumú, REGEDIT-be betölthető, a Boot.ini szöveges fájlt helyettesíti.
A betöltés a fenti leírásnak megfelelően a következő sorrendben történik.
1. A wdsnbp.com tölti be.
2. Ezután a megfelelő architektúrájú pxeboot.com töltődik be.
3. A PXEBoot.com betölti a bootmgr.exe fájlt és a betöltési konfigurációs adatbázist (BCD).
4. A Bootmgr.exe olvassa a betöltési konfigurációnak megfelelő operációs rendszer fájljait a BCD-ből, és betölti a Boot.sdi fájlt és a Windows PE képet (boot.wim).
5. A Bootmgr.exe elindítja a Windows PE betöltését, a Winload.exe elérve a Windows PE képből.
Ha a RemoteInstall könyvtárban található. mappák léteznek
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend a létezésük azt jelenti, hogy a SCCM 2012 terjesztési pont szerepkörének (SCCM 2007 PXE szolgáltatási pontjának) hozzáadása előtt valamilyen konfigurációs lépés történt a Windows Deployment Services (WDS) telepítése során, amely automatikusan létrehozta ezeket a mappákat.
A terjesztési pont szerepkörhöz (SCCM 2007 PXE szolgáltatási pontjához) elegendő csak a következő mappák.
SMSBoot
SMSIMAGES
SMSTemp
StoresEz nem jelenti azt, hogy a SCCM helytelenül van telepítve, de jelezheti a hibák lehetséges forrását.
A WDS, SCCM és PXE közt jelentkező problémák részletes megoldását a cikkben találja.
Result
A System Center Configuration Manager által irányított IT-infrastruktúrában új eszköz került bevezetésre a helyi rendszergazdák számára.
ISO képek linkjeinek listája (Kattintson a megjelenítéshez)
Köszönöm a figyelmet!

Forrás: habr.com
