
Vi övervÀger att utöka funktionaliteten hos System Center Configuration Manager (en produkt för hantering av IT-infrastruktur) för att möjliggöra nÀtverksstart av anvÀndarpersondatorer via PXE. Vi skapar en startmeny baserad pÄ PXELinux med funktioner frÄn System Center och lÀgger till funktioner för viruskontroll, samt diagnostik- och ÄterstÀllningsbilder. I slutet av artikeln berör vi specifikationerna för hur System Center 2012 Configuration Manager fungerar tillsammans med Windows Deployment Services (WDS) för att möjliggöra PXE-start.
Alla ÄtgÀrder utförs i en testmiljö dÀr System Center 2012 Configuration Manager SP1 redan Àr installerad, en domÀncontroller och ett antal testmaskiner finns tillgÀngliga. Det förutsÀtts att SCCM redan anvÀnds för nÀtverksutdeployering med PXE.
Inledning
Testmiljön bestÄr av flera virtuella maskiner. Alla maskiner har operativsystemet Microsoft Windows Server 2008 R2 (x64) installerat, nÀtverksadapter E1000, SCSI Controller: LSI Logic SAS.
Namn (Roller)
IP-adress / DNS-namn
Funktionalitet
SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local
System Center Configuration Manager 2012 SP1 Àr installerad
DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local
Roll som domÀncontroller, DHCP-server och DNS-server
TEST (Testmaskin)
192.168.57.103
test.test.local
För testning
GW (Gateway)
192.168.57.1
Routing mellan nÀtverk. Roll som gateway.
1. LĂ€gg till PXELinux i SCCM
à tgÀrderna utförs pÄ maskinen dÀr System Center Configuration Manager Àr installerad.
- Vi definierar katalogen dÀr WDS-filerna för start ligger. För att göra detta, kollar vi vÀrdet pÄ parametern i registret.
RootFolderi grenenHKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
StandardvÀrdeC:RemoteInstall
Filerna för start frÄn distributionspunkten SCCM finns i katalogernasmsbootx86ochsmsbootx64beroende pÄ arkitektur.
Först konfigurerar vi katalogen för 32-bitars arkitektur, som standardc:Remoteinstallsmsbootx86 - Vi laddar ner arkivet med den senaste . Vi kopierar följande filer frÄn syslinux-5.01.zip till
c:Remoteinstallsmsbootx86de följande filerna:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Ytterligare filer Àr nödvÀndiga för att undvika ett sÄdant fel.
- I
c:Remoteinstallsmsbootx86Vi döper ompxelinux.0pÄpxelinux.com
I mappenc:remoteinstallsmsbootx86gör vi en kopia avabortpxe.comoch döper om den tillabortpxe.0
Om vi inte döper om den till Àndelsen.0, dÄ exempelvis instruktionenKernel abortpxe.comkommer att utföras med felet: Booting kernel failed: Bad file number.
För PXELINUX bör filens startÀndelse anges enligt tabellen.ingen eller annan Linux kÀrnbild .0 PXE startprogram (NBP) [endast PXELINUX] .bin "CD startsektor" [endast ISOLINUX] .bs Startsektor [endast SYSLINUX] .bss Startsektor, DOS superblock kommer att patchas in [endast SYSLINUX] .c32 COM32-bild (32-bitars COMBOOT) .cbt COMBOOT-bild (kan inte köras frÄn DOS) .com COMBOOT-bild (kan köras frÄn DOS) .img Diskbild [endast ISOLINUX]KÀlla: avsnitt "Kernelfil"
- För att slippa trycka flera gÄnger pÄ F12 under uppstart av SCCM via menyn, omdöper vi pxeboot.com till pxeboot.com.f12, kopierar pxeboot.n12 till pxeboot.com
Om detta inte görs kommer vi varje gÄng att fÄ detta meddelande
AnmÀrkning: Glöm inte att döpa om dessa filer i mappen för x64 ocksÄ, eftersom de laddasx86wdsnbp.comfrÄn x86-mappen, laddar bootloader arkitekturen och nÀsta fil laddas redan frÄn mappen med motsvarande arkitektur. För x64 kommer nÀsta fil att bli intex86pxeboot.com, ochx64pxeboot.com - Ladda ner/skapa , med en upplösning pÄ 640x480, kopiera till samma mapp. Skapa mappen
ISOdÀr vi ska placera ISO-bilder. Skapa mappenpxelinux.cfgför konfigurationer. - I mappen pxelinux.cfg skapar vi filen default, i icke-unicode kodning, med innehÄllet
default (Klicka för att visa)# ĐžŃĐżĐŸĐ»ŃĐ·ŃĐ”ĐŒ ĐłŃаŃĐžŃĐ”ŃĐșĐŸĐ” ĐŒĐ”ĐœŃ 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.0I mappen
pxelinux.cfgskapa filengraphics.confmed innehÄllet
graphics.conf (Klicka för att visa)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 0I mappen
pxelinux.cfgskapa filenav.confmed innehÄllet
av.conf (Klicka för att visa)DEFAULT vesamenu.c32 PROMPT 0 MENU TITLE Antivirus och verktyg MENU INCLUDE pxelinux.cfg/graphics.conf label main menu menu label gÄ tillbaka till huvudmenyn 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 #Ladda ISO frÄn fullstÀndig vÀg, kan laddas frÄn annan TFTP label winpe menu label WinPE frÄn en annan 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 - Som resultat innehÄller katalogen c:remoteinstallsmsbootx86 strukturen
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 - För arkitekturen x64 kopierar vi pÄ samma sÀtt och skapar en liknande struktur i mappen
c:remoteinstallsmsbootx64
TillÀgg
Vid anvÀndning av kommandotmenu PASSWDkan lösenordet anges antingen som det Àr, eller anvÀnda hash-algoritmen genom att lÀgga till den motsvarande signaturen i början av parameternAlgoritm
SignaturMD5
$1$SHA-1
$4$SHA-2-256
$5$SHA-2-512
$6$SÄledes för lösenordet
Qwertyoch i MD5-algoritmenmenu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Du kan generera ett lösenord, till exempel genom en online hashgenerator , strÀng
MD5(Unix)
2. Konfigurera PXELinux-laddning
Vi anger nu hur vi ska ladda pxelinux.com och fÄ menyn.
Att ange bootloader pxelinux.com med hjÀlp av WDS-funktionen fungerar inte i SCCM. Kommandon av typen
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
hanteras inte. För att sÀkerstÀlla att bootbilderna inte Àr angivna kan du köra kommandot för att visa WDS-serverkonfigurationen
wdsutil /get-server /show:images
SÄledes kan man i SCCM 2012 inte ange sin egen fil för att ladda via PXE för SMSPXE-leverantören. Vi kommer dÀrför att konfigurera den aktiva DHCP-omrÄdet.
I instÀllningarna för den aktiva DHCP-omrÄdet anger vi parametrarna enligt tabellen
DHCP-alternativ
Parameter namn
VĂ€rde
066
Boot server host name
sccm2012.test.local
067
Bootfile name
smsbootx86pxelinux.com
006
DNS-servrar
192.168.57.10
015
DNS domÀnnamn
test.local
I alternativ 066 anges FQDN-namn pÄ sccm-servern, i alternativ 067 anger vi sökvÀgen till x86 bootloader pxelinux.com som börjar frÄn roten av TFTP, i alternativ 006 anger vi IP-adressen till DNS-servern. Om alternativ 066 anvÀnder ett kort namn pÄ servern, anges DNS-suffixet för domÀnen i alternativ 015.
TillÀgg
Mer detaljerad information om DHCP-konfigurationen har beskrivits av . Men iDCalternativ 150, IP-adressen för TFTP-servern, saknades i instÀllningarna för DHCP-omrÄdet och angivande av alternativ 150 via netsh fungerade inte.
3. Testa funktionen
De grundlÀggande instÀllningarna Àr klara och vi kan börja testa. Vi anger pÄ testdatorn i BIOS att den ska starta frÄn nÀtverket och laddar menyn
Vi vÀljer alternativet «Start to SCCM» och om datorn har tilldelats en uppgiftssekvens, kommer ett fönster med meddelandet «Guiden för att skapa uppgiftssekvens» att dyka upp efter en stund och be om att ange lösenord

Vi startar om maskinen, gÄr Äter in i menyn och vÀljer i menyn «Antivirus and tools» och anger lösenordet Qwerty
Vi vÀljer ett valfritt alternativ och ser ISO-avbildningen laddas i minnet
Vi vÀntar och observerar resultatet
Testet Àr klart

4. Ytterligare instÀllningar och funktioner
Konfigurering av routing
Om klienten, DHCP-servern och servern som innehÄller nÀtverksstartprogrammet befinner sig i samma nÀtverkssegment, krÀvs ingen ytterligare konfiguration. Om klienten och DHCP-servern eller WDS/SCCM-servern befinner sig i olika nÀtverkssegment, rekommenderas att konfigurera routerarna för att vidarebefordra bredbroadcast-paket frÄn klienten till den aktiva DHCP-servern och den aktiva WDS/SCCM-servern. I engelsksprÄkig litteratur Àr denna process kÀnd som "IP Helper table updates". I detta fall kontaktar klienten, efter att ha fÄtt en IP-adress, servern som innehÄller nÀtverksstartprogrammet direkt via DHCP-paket för att ladda ner nÀtverksstartprogrammet.
För Cisco-routrar anvÀnds kommandot
ip helper-address {ip address}
w {ip address} adressen till DHCP-servern eller WDS/SCCM-servern. NÀr detta kommando anvÀnds vidarebefordras Àven följande bredbroadcast-UDP-paket
Port
Protokoll
69
TFTP
53
Domain Name System (DNS)
37
TidstjÀnst
137
NetBIOS Namnserver
138
NetBIOS Datagramserver
67
Bootstrap Protocol (BOOTP)
49
TACACS
Den andra metoden för att fÄ klienten information om nÀtverksstartprogrammet direkt frÄn DHCP-servern Àr genom att ange alternativ 60,66,67 pÄ DHCP-servern. AnvÀndning av DHCP-parametern 60 med vÀrdet "PXEClient" i alla DHCP-scope, endast om DHCP-servern Àr placerad pÄ samma server som Windows-installationstjÀnster. I detta fall kontaktar klienten Windows-installationstjÀnst-servern direkt via TFTP-protokollet över UDP-port 4011, istÀllet för via DHCP. Microsoft rekommenderar inte denna metod pÄ grund av problem med belastningsbalansering, felaktig hantering av DHCP-parametrar och svar frÄn installationsservicetjÀnster pÄ klientsidan. Dessutom tillÄter anvÀndningen av endast de tvÄ alternativen 66 och 67 av DHCP att kringgÄ parametrarna som definieras pÄ nÀtverksstartservern.
Det Àr ocksÄ nödvÀndigt att öppna följande UDP-portar pÄ Windows-installationstjÀnst-servern
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
och port 68, om DHCP-autentisering pÄ servern krÀvs.
Processen för konfiguration och detaljer om vidarebefordran mellan olika WDS-servrar beskrivs mer ingÄende nedan i kÀllorna:
Hantera program för nÀtverksstart
Hantera servern
Microsoft Product Support Services (PSS) supportgrÀnser för nÀtverksstart av Microsoft Windows Preinstallation Environment (Windows PE) 2.0
Hur man vidarebefordrar UDP-broadcast (BOOTP / DHCP) pÄ Cisco
Funktioner och konfiguration av DHCP pÄ Cisco-routrar (Del 2)
Ytterligare möjligheter för lokal start
I testmiljön anvÀnds kommandot
localboot 0 ger en sÄdan felkod

FrÄn dokumentationen för syslinux framgÄr att
localboot 0start kommer att ske frÄn den lokala disken. NÀr man anger ett specifikt vÀrde 0x00 frÄn den huvudsakliga (primary) diskettstationen, eller 0x80 frÄn den huvudsakliga (primary) hÄrddisken. Genom att Àndra kommandot till
localboot 0x80 det lokala operativsystemet har startat.
Om det Àr nödvÀndigt att starta frÄn en specifik disk, partition eller kommando localboot inte fungerar, kan man utnyttja modulfunktionerna chain.c32. Efter att ha laddat den, anger vi det specifika disken eller partitionen med kommandot append, diskar numreras frÄn 0, partitioner frÄn 1 eftersom nÀr partition 0 anges, laddas MBR. Vid angivelse av disk behöver partitionen inte anges.
KERNEL chain.c32
APPEND hd0 0eller
KERNEL chain.c32
APPEND hd0 KĂ€llor:
Ordning och beskrivning av filerna för att starta via PXE
Som redan nÀmnts i början av artikeln, katalogen dÀr WDS-filer för start finns, anges i vÀrdet av parametern RootFolder i registret HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
StandardvÀrde C:RemoteInstall
HÀr anges Àven parametern ReadFilter som specificerar katalogerna dÀr TFTP-servern letar efter startfiler, börjar frÄn roten. NÀr SCCM 2012 SP1 Àr installerat, Àr detta parameter vÀrde
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Om vÀrdet av parametern Àndras till * kommer alla filer som finns i katalogen att bearbetas RemoteInstall.
SCCM 2012 distributionsroll anges i registreringsparameter ProvidersOrder, belÀgen i grenen HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parameter ProvidersOrder kan anta vÀrdena
SMSPXE
PXE-tjÀnstpunkt i SCCM
SMS.PXE.Filter
PXE-skriptshanterare frÄn MDT (Microsoft Deployment Toolkit)
BINLSVC
Standard WDS och RIS-hanterare
NÀr SCCM Àr installerat, Àr parameter ProvidersOrder betydelse SMSPXE. Genom att Àndra parametern kan man Àndra ordningen för provÀrdering av leverantörer.
I kataloget RemoteInstall finns följande standardfiler
wdsnbp.com
NÀtverksstartprogrammet, utformat för Windows-distributions tjÀnster och utför följande uppgifter:
1. UpptÀckte arkitekturen.
2. Hantera vÀntande datorer. NÀr policyn för automatisk tillÀgg Àr aktiverad, skickas detta nÀtverksstartprogram till vÀntande datorer för att avbryta nÀtverksstarten och rapportera servern klientdatorns arkitektur.
3. AnvÀndning av lÀnkar för nÀtverksstart (inklusive anvÀndningen av parametrarna 66 och 67 i DHCP-protokollet)
PXEboot.com
(Som standard) KrÀver att anvÀndaren trycker pÄ F12-tangenten för att fortsÀtta med nÀtverksstarten
PXEboot.n12
KrÀver inte att anvÀndaren trycker pÄ F12 och börjar omedelbart nÀtverksstarta
AbortPXE.com
Startar datorn med hjÀlp av nÀsta startalternativ i BIOS utan att vÀnta
Bootmgr.exe
Windows boot manager (Bootmgr.exe eller Bootmgr.efi). Laddar Windows-laddaren frÄn en angiven diskpartition eller via en nÀtverksanslutning (vid nÀtverksstart)
Bootmgfw.efi
EFI-versionen av programmen PXEboot.com och PXEboot.n12 (i EFI vÀljs det att ladda eller inte ladda PXE i EFI-skalet, inte av nÀtverksstartprogrammet). Programmet Bootmgfw.efi kombinerar funktionerna hos PXEboot.com, PXEboot.n12, abortpxe.com och bootmgr.exe. För nÀrvarande finns det endast för x64- och Itanium-arkitekturer
Default.bcd
Lagring av startkonfigurationsdata (BCD), REGF-format, kan laddas i REGEDIT, ersÀtter textfilen Boot.ini
Starten sker i följande ordning i enlighet med beskrivningen ovan
1. wdsnbp.com laddas.
2. DÀrefter laddas den arkitektur som överensstÀmmer med pxeboot.com
3. PXEBoot.com laddar bootmgr.exe och lagringen av startkonfigurationsdata BCD
4. Bootmgr.exe lÀser operativsystemets poster frÄn lagringen av startkonfigurationsdata BCD och laddar filen Boot.sdi och bilden av Windows PE (boot.wim)
5. Bootmgr.exe pÄbörjar starten av Windows PE genom att hÀnvisa till Winload.exe i Windows PE-bilden
Om det finns RemoteInstall mappar
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend deras nÀrvaro innebÀr att det gjordes nÄgon form av konfiguration av den installerade Windows Deployment Services (WDS) innan rollen som distributionspunkt lades till i SCCM 2012 (PXE-servrar i SCCM 2007), vilket resulterade i att dessa mappar skapades automatiskt.
För rollen som distributionspunkt (PXE-server i SCCM 2007) rÀcker det med följande mappar
SMSBoot
SMSIMAGES
SMSTemp
StoresDetta innebÀr inte att SCCM Àr felaktigt installerat, men kan indikera en potentiell felkÀlla.
En mycket detaljerad lösning pÄ olika problem med integrationen av WDS, SCCM och PXE beskrivs i artikeln
Resultat
I IT-infrastrukturen som hanteras av System Center Configuration Manager har ett nytt verktyg tillkommit för systemadministratörer pÄ plats.
Lista med lÀnkar till ISO-avbilder (Klicka för att visa)
Tack för uppmÀrksamheten!

KĂ€lla: habr.com
