PXE-opstartmenu met System Center Configuration Manager
We overwegen de mogelijkheden van System Center Configuration Manager (een product voor het beheer van de IT-infrastructuur) uit te breiden bij het opstarten van pc's van gebruikers via een netwerk met PXE. We maken een opstartmenu op basis van PXELinux met System Center-functionaliteit en voegen antivirusscan-, diagnose- en herstelimages toe. Aan het einde van het artikel gaan we in op de functies van System Center 2012 Configuration Manager in combinatie met Windows Deployment Services (WDS) bij het opstarten via PXE.
We voeren alle acties uit op een testomgeving waarop System Center 2012 Configuration Manager SP1 al is geïnstalleerd, een domeincontroller en een aantal testmachines. Aangenomen wordt dat SCCM al via het netwerk wordt geïmplementeerd met behulp van PXE.
Toegang
De testomgeving bestaat uit meerdere virtuele machines. Op alle machines is Microsoft Windows Server 2008 R2 (x64) gastbesturingssysteem geïnstalleerd, E1000-netwerkadapter, SCSI-controller: LSI Logic SAS
De rol van de domeincontroller, DHCP-server en DNS-server
TEST (Testmachine)
192.168.57.103
test.test.lokaal
Om uit te proberen
GW (Gateway)
192.168.57.1
Routering tussen netwerken. Gateway-rol
1. Voeg PXELinux toe aan SCCM
We voeren acties uit op de machine waarop System Center Configuration Manager is geïnstalleerd
Laten we de directory bepalen waar de WDS-bestanden zich bevinden om te downloaden, hiervoor zoeken we in het register naar de waarde van de parameter RootFolder in de draad HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Standaardwaarde C:RemoteInstall
De bestanden die van het SCCM-implementatiepunt moeten worden gedownload, bevinden zich in de mappen smsbootx86 и smsbootx64 afhankelijk van de architectuur.
Stel eerst standaard een map in voor 32-bits architectuur c:Remoteinstallsmsbootx86
Download het archief met de nieuwste syslinux . Kopieer van syslinux-5.01.zip naar c:Remoteinstallsmsbootx86 de volgende bestanden: memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Er zijn extra bestanden nodig om een dergelijke fout te voorkomen.
В c:Remoteinstallsmsbootx86 hernoemen pxelinux.0 в pxelinux.com
In map c:remoteinstallsmsbootx86 een kopie maken abortpxe.com en hernoem het naar abortpxe.0
Zo niet hernoemen naar extensie .0, dan bijvoorbeeld de instructie
Kernel abortpxe.com
zal mislukken met de volgende fout: Opstarten kernel mislukt: onjuist bestandsnummer
Voor PXELINUX moet de extensie van het downloadbestand worden ingesteld op basis van de plaat
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]
Om niet meerdere keren op de F12-toets te drukken bij het laden van SCCM via het menu, hernoem je pxeboot.com naar pxeboot.com.f12, kopieer je pxeboot.n12 naar pxeboot.com
Gebeurt dit niet, dan krijgen we bij het kiezen elke keer zo'n bericht Opmerking: vergeet niet om deze bestanden ook in de x64-map te hernoemen. wanneer het laadt x86wdsnbp.com uit de map x86 bepaalt de loader de processorarchitectuur en wordt het volgende bestand geladen uit de map met de bijbehorende architectuur. Dus voor x64 zal het volgende bestand dat niet zijn x86pxeboot.comEn x64pxeboot.com
Downloaden / maken achtergrond.png, resolutie 640x480, kopiëren naar dezelfde map. Maak een map ISO waar we ISO-afbeeldingen zullen plaatsen. Maak een map pxelinux.cfg voor configuraties.
Maak in de map pxelinux.cfg een standaardbestand aan, in een niet-unicode-codering, met de inhoud standaard (Klik om weer te geven)
# используем графическое меню
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
In map pxelinux.cfg maak een bestand aan graphics.conf met inhoud graphics.conf (Klik om weer te geven)
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
In map pxelinux.cfg maak een bestand aan av.conf met inhoud av.conf (klik om weer te geven)
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
Als resultaat bevat de map c:remoteinstallsmsbootx86 de structuur
Voor de x64-architectuur kopiëren en creëren we op dezelfde manier dezelfde structuur in de map c:remoteinstallsmsbootx64
Toevoeging
Bij gebruik van de opdracht menu PASSWD het wachtwoord kan worden ingesteld zoals het is, of een hash-algoritme gebruiken door de overeenkomstige handtekening aan het begin van de parameter toe te voegen
Het algoritme
Handtekening
MD5
$ $ 1
SHA-1
$ $ 4
SHA-2-256
$ $ 5
SHA-2-512
$ $ 6
Dus voor wachtwoord Qwerty en MD5-algoritme
menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
Je kunt bijvoorbeeld een wachtwoord genereren via een online hashgenerator www.insidepro.com/hashes.php?lang=rus, lijn MD5(Unix)
2. Stel PXELinux-opstart in
Nu zullen we aangeven hoe pxelinux.com moet worden geladen en het menu moet worden geopend.
Het specificeren van de pxelinux.com bootloader via de WDS-functionaliteit werkt niet in SCCM. Bekijk opdrachten
worden niet verwerkt. U kunt controleren of opstartimages niet zijn ingesteld door de output WDS-serverconfiguratieopdracht uit te voeren
wdsutil /get-server /show:images
Daarom kunt u in SCCM 2012 uw bestand niet specificeren voor PXE-download naar de SMSPXE-provider. Daarom zullen we het actieve gebied van de DHCP-server configureren.
Stel in de parameters van het actieve DHCP-gebied de parameters in volgens de plaat
DHCP-optie
Parameternaam
Waarde
066
Hostnaam van de opstartserver
sccm2012.test.local
067
Bootfile naam
smsbootx86pxelinux.com
006
DNS-servers
192.168.57.10
015
DNS-domeinnaam
test.lokaal
In optie 066 specificeren we de FQDN-naam van de sccm-server, in optie 067 specificeren we het pad naar de x86-bootloader pxelinux.com uitgaande van de TFTP-root, in optie 006 specificeren we het IP-adres van de DNS-server. Als bij optie 066 een korte servernaam wordt gebruikt, geven we bij optie 015 het DNS-achtervoegsel van het domein op.
Toevoeging
Beschreef de DHCP-configuratie in meer detail mvgolubevhier. Maar verder DC optie 150, IP-adres van de TFTP-server, ontbrak in de DHCP-bereikinstellingen en het specificeren van optie 150 via netsh werkte niet.
3. Werk controleren
De basisinstellingen zijn voltooid en u kunt beginnen met controleren. We geven op de testcomputer in het BIOS aan dat deze via het netwerk is geladen en in het menu is geladen
Selecteer een item «Start to SCCM» en als een takenreeks aan de computer is toegewezen, verschijnt na een tijdje het venster "Task Sequence Wizard" waarin u wordt gevraagd een wachtwoord in te voeren
Start de machine opnieuw op, ga terug naar het menu, selecteer in het menu «Antivirus and tools» en voer het wachtwoord in Qwerty
We selecteren een willekeurig item en observeren het laden van de ISO-afbeelding in het geheugen
Afwachten en het resultaat zien
Verificatie voltooid
4. Aanvullende instellingen en functies
Routing instellen
Als de client, de DHCP-server en de server met de netwerklader zich in hetzelfde netwerksegment bevinden, is er geen aanvullende configuratie vereist. Als de client en de DHCP-server of WDS/SCCM-server zich echter op verschillende netwerksegmenten bevinden, wordt aanbevolen dat u uw routers configureert om broadcastpakketten van de client door te sturen naar de actieve DHCP-server en de actieve WDS/SCCM-server. In de Engelse literatuur staat dit proces bekend als "IP Helper table updates". In dit geval neemt de client, na het verkrijgen van een IP-adres, rechtstreeks contact op met de server die de netwerklader bevat via DHCP-pakketten om de netwerklader te downloaden.
Gebruik voor Cisco-routers de opdracht
ip helper-address {ip address}
waar {ip address} DHCP-server of WDS/SCCM-serveradres. Deze opdracht verzendt ook de volgende UDP-broadcastpakketten
Haven
protocol
69
TFTP
53
Domain Name System (DNS)
37
Tijd dienst
137
NetBIOS-naamserver
138
NetBIOS-datagramserver
67
Bootstrap-protocol (BOOTP)
49
TACACS
De tweede methode voor de client om informatie over de netwerklader rechtstreeks van de DHCP-server te verkrijgen, is door opties 60,66,67 op de DHCP-server op te geven. DHCP-optie 60 gebruiken met waarde «PXEClient» naar alle DHCP-scopes, alleen als de DHCP-server wordt gehost op dezelfde server als Windows Deployment Services. In dit geval communiceert de client rechtstreeks met de Windows Deployment Services-server via TFTP op UDP-poort 4011 in plaats van via DHCP. Deze methode wordt niet aanbevolen door Microsoft vanwege problemen met taakverdeling, onjuiste afhandeling van DHCP-opties en Windows Deployment Services-antwoordopties aan de clientzijde. En ook omdat u met slechts twee DHCP-opties 66 en 67 de parameters die zijn ingesteld op de netwerk-opstartserver kunt omzeilen.
U moet ook de volgende UDP-poorten openen op de Windows Deployment Services-server
poort 67 (DHCP)
poort 69 (TFTP)
poort 4011 (PXE)
en poort 68 als DHCP-autorisatie vereist is op de server.
laden gaat vanaf een lokale schijf. En bij het specificeren van een specifieke waarde 0x00 van de primaire (primaire) diskette, bij het specificeren van 0x80 van de primaire (primaire) harde schijf. Door de opdracht te wijzigen in
localboot 0x80
het lokale besturingssysteem is geladen.
Als het nodig is om op te starten vanaf een specifieke schijf, partitie of opdracht localboot niet werkt, dan kunt u gebruik maken van de mogelijkheden van de module chain.c32. Gebruik na het laden de opdracht append om een specifieke schijf of schijfpartitie op te geven, schijfnummering begint bij 0, partitienummering begint bij 1. als partitie 0 is opgegeven, wordt de MBR geladen. Bij het specificeren van een schijf kan de partitie worden weggelaten.
Volgorde en beschrijving van het downloaden van bestanden via PXE
Zoals vermeld aan het begin van het artikel, is de map waar de WDS-bestanden zich bevinden om te downloaden opgenomen in de waarde van de parameter RootFolder in de registertak HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Standaardwaarde C:RemoteInstall
Hier in de parameter ReadFilter mappen zijn gespecificeerd waar de TFTP-server zoekt naar bestanden om te downloaden, beginnend bij de root. Met SCCM 2012 SP1 geïnstalleerd, is deze instelling
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*
Als u de parameterwaarde wijzigt in * dan worden alle bestanden in de map verwerkt RemoteInstall.
De SCCM 2012-implementatiepuntrol wordt opgegeven in de registerwaarde ProvidersOrdergelegen in het filiaal HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parameter ProvidersOrder waarden kan aannemen
SMSPXE
PXE-servicepunt in SCCM
SMS.PXE.Filter
PXE-scripthandler van MDT (Microsoft Deployment Toolkit)
BINLSVC
Standaard WDS- en RIS-engine
Met SCCM geïnstalleerd, wordt de parameter ProvidersOrder heeft de betekenis SMSPXE. Door de parameter te wijzigen, kunt u de volgorde wijzigen waarin providers worden geladen.
In de catalogus RemoteInstall de volgende standaardbestanden bevinden zich
wdsnbp.com
Een netwerkopstartprogramma ontworpen voor Windows Deployment Services dat de volgende taken uitvoert:
1. Architectuurdetectie.
2. Onderhoud van wachtende computers. Wanneer het beleid voor automatisch toevoegen is ingeschakeld, wordt dit netwerkopstartprogramma naar wachtende computers gestuurd om het opstarten via het netwerk te onderbreken en de server te informeren over de architectuur van de clientcomputer.
3. Netwerk-opstartkoppelingen gebruiken (inclusief het gebruik van DHCP-opties 66 en 67)
PXEboot.com
(Standaard) Vereist dat de gebruiker op de F12-toets drukt om door te gaan met opstarten via het netwerk
PXEboot.n12
Vereist niet dat de gebruiker op de F12-toets drukt en start onmiddellijk met opstarten via het netwerk
AfbrekenPXE.com
Start de computer op met het volgende opstartitem in het BIOS zonder te wachten
bootmgr.exe
Windows Boot Manager (Bootmgr.exe of Bootmgr.efi). Laadt de Windows-bootloader met behulp van firmware van een specifieke schijfpartitie of via een netwerkverbinding (in het geval van opstarten via het netwerk)
Bootmgfw.efi
De EFI-versie van PXEboot.com en PXEboot.n12 (in EFI ligt de keuze om PXE al dan niet op te starten in de EFI-shell, niet in het netwerkopstartprogramma). Bootmgfw.efi combineert de mogelijkheden van PXEboot.com, PXEboot.n12, abortpxe.com en bootmgr.exe. Het bestaat momenteel alleen voor x64- en Itanium-architecturen.
Standaard.bcd
Boot Configuration Data Store (BCD), REGF-formaat, kan in REGEDIT worden geladen, vervangt het tekstbestand Boot.ini
Het laden vindt plaats in de volgende volgorde zoals hierboven beschreven
1. Download wdsnbp.com.
2. Vervolgens wordt pxeboot.com met de juiste architectuur geladen
3. PXEBoot.com downloadt bootmgr.exe en de BCD-opstartconfiguratiegegevensopslag
4. Bootmgr.exe leest de BCD-opstartconfiguratiegegevens van het besturingssysteem en laadt het bestand Boot.sdi en de Windows PE-image (boot.wim)
5. Bootmgr.exe begint met het laden van Windows PE door Winload.exe te openen in de Windows PE-image
Als in RemoteInstall er zijn mappen
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend
hun aanwezigheid betekent dat voordat de distributiepuntrol in SCCM 2012 (PXE-servicepunten in SCCM 2007) werd toegevoegd, er enige configuratieactie was op de geïnstalleerde Windows Deployment Services (WDS) die deze mappen automatisch maakte.
Voor de distributiepuntrol (PXE-servicepunt in SCCM 2007) zijn alleen de volgende mappen voldoende