Boot-menu PXE med System Center Configuration Manager

Boot-menu PXE med System Center Configuration Manager

Vi overvejer at udvide funktionerne i System Center Configuration Manager (et produkt til håndtering af IT-infrastruktur) ved at starte bruger-PC'er over netværket ved hjælp af PXE. Vi opretter en boot-menu baseret på PXELinux med funktionalitet fra System Center og tilføjer muligheder for antiviruskontrol, diagnostik- og gendannelsesbilleder. I slutningen af artiklen berører vi funktionerne ved brug af System Center 2012 Configuration Manager i forbindelse med Windows Deployment Services (WDS) ved opstart via PXE.

Alle handlinger udføres i et testmiljø, hvor der allerede er installeret System Center 2012 Configuration Manager SP1, en domænekontroller og et antal testmaskiner. Det antages, at der allerede anvendes netværksudrulning via PXE i SCCM.

Introduktion

Testmiljøet består af flere virtuelle maskiner. På alle maskiner er gæste-OS'en Microsoft Windows Server 2008 R2 (x64) installeret, med E1000 netværksadapter og SCSI-controller: LSI Logic SAS.

Navn (Roller)
IP-adresse / DNS-navn
Funktionalitet

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

System Center Configuration Manager 2012 SP1 er installeret.

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

Rollen som domænekontroller, DHCP-server og DNS-server.

TEST (Testmaskine)
192.168.57.103
test.test.local

Til testformål

GW (Gateway)
192.168.57.1
Ruting mellem netværk. Gateway-rollen.

1. Tilføjer PXELinux til SCCM

Handlingerne udføres på maskinen, hvor System Center Configuration Manager er installeret.

  • Vi definerer kataloget, hvor WDS-filerne til opstart er placeret, ved at tjekke registreringsdatabasen for parameterens værdi. RootFolder i nøglen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
    Standardværdi C:\RemoteInstall
    Filene til opstart fra SCCM-udrulningspunktet er placeret i følgende kataloger: smsboot\x86 og smsboot\x64 afhængigt af arkitekturen.
    Først konfigurerer vi kataloget til 32-bit arkitektur, som som standard er c:\RemoteInstall\smsboot\x86
  • Vi downloader arkivet med den nyeste version. syslinux Kopier fra syslinux-5.01.zip til c:\RemoteInstall\smsboot\x86 følgende filer:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Yderligere filer er nødvendige for at undgå en fejl som denne:
    Boot-menu PXE med System Center Configuration Manager
  • I c:\RemoteInstall\smsboot\x86 Vi omdøber pxelinux.0 i pxelinux.com
    I mappen c:\remoteinstall\smsboot\x86 vi laver en kopi af abortpxe.com og omdøber den til abortpxe.0
    Hvis vi ikke omdøber til denne udvidelse, vil instruktionen, for eksempel: .0Kernel abortpxe.com
    blive udført med en fejl: Booting kernel failed: Bad file number.

    For PXELINUX bør filtypen til opstartsfilerne angives i overensstemmelse med tabellen.
    For PXELINUX, the file extension for the boot image should be specified according to the table.

    ingen eller anden	Linux kernelbillede
     .0		PXE bootstrap-program (NBP) [kun PXELINUX]
     .bin		"CD bootsektor" [kun ISOLINUX]
     .bs		Bootsektor [kun SYSLINUX]
     .bss		Bootsektor, DOS-superblock vil blive patcheret i [kun SYSLINUX]
     .c32		COM32-billede (32-bit COMBOOT)
     .cbt		COMBOOT-billede (kan ikke køres fra DOS)
     .com		COMBOOT-billede (kan køres fra DOS)
     .img		Diskbillede [kun ISOLINUX]
    

    Kilde: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file afsnittet “Kernelfil”

  • For at undgå at trykke på F12-tasten flere gange under opstart af SCCM gennem menuen, omdøber vi pxeboot.com til pxeboot.com.f12, kopierer pxeboot.n12 til pxeboot.com
    Hvis dette ikke gøres, vil vi ved valg hver gang få denne besked
    Boot-menu PXE med System Center Configuration Manager
    Bemærk: Husk at omdøbe disse filer også i mappen for x64, da når den starter op x86wdsnbp.com fra x86-mappen, bestemmer bootloaderen processorarkitekturen og den næste fil indlæses allerede fra mappen med den tilsvarende arkitektur. Således vil den følgende fil for x64 ikke være x86pxeboot.com, og x64pxeboot.com
  • Vi downloader/opretter background.png, med opløsningen 640x480, kopierer til samme mappe. Opretter en mappe ISO hvor vi vil placere ISO-billeder. Opretter en mappe pxelinux.cfg til konfigurationer.
  • I mappen pxelinux.cfg opretter vi filen default, i ikke-unicode-kodning, med indholdet
    default (Klik for at vise)
    # используем графическое меню
    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

    I mappen pxelinux.cfg opretter filen graphics.conf med indholdet
    graphics.conf (Klik for at vise)

    MENU MARGIN 10
    MENU ROWS 16
    MENU TABMSGROW 21
    MENU TIMEOUTROW 26
    MENU COLOR BORDER 30;44 #00000000 #00000000 ingen
    MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 ingen
    MENU COLOR TITLE 0 #ffffffff #00000000 ingen
    MENU COLOR SEL 30;47 #40000000 #20ffffff
    MENU BACKGROUND background.png
    NOESCAPE 0
    ALLOWOPTIONS 0

    I mappen pxelinux.cfg opretter filen av.conf med indholdet
    av.conf (Klik for at vise)

    DEFAULT vesamenu.c32
    PROMPT 0
    MENU TITLE Antivirus og værktøjer
    MENU INCLUDE pxelinux.cfg/graphics.conf
    
    label hovedmenu
    menu label vend tilbage til hovedmenu
    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=da udev liveimg doscsi nomodeset quiet splash
    
    #Indlæser ISO ved fuld sti, kan indlæses fra en anden TFTP
    label winpe
    menu label WinPE fra en anden 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
    
  • I sidste ende indeholder kataloget c:remoteinstallsmsbootx86 strukturen

    c:\remoteinstall\smsboot\x86
    pxelinux.cfg

    chain.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.com

    default
    av.conf
    graphics.conf
    *.iso

  • For x64-arkitekturen kopierer vi på samme måde og opretter samme struktur i mappen c:remoteinstallsmsbootx64

Tilføjelse
Ved anvendelse af kommandoen menu PASSWD kan adgangskoden angives enten som den er, eller ved at bruge hash-algoritmen ved at tilføje den relevante signatur i begyndelsen af parameteren

Metode
Signatur

MD5
$1$

SHA-1
$4$

SHA-2-256
$5$

SHA-2-512
$6$

Således for adgangskoden Qwerty og MD5-algoritmen

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Du kan for eksempel generere en adgangskode via en online hash-generator. www.insidepro.com/hashes.php?lang=rus, streng MD5(Unix)

2. Konfigurer PXELinux-opstart

Lad os nu angive, hvordan vi loader pxelinux.com og får menuen.
Angivelse af bootloader pxelinux.com via WDS-funktionalitet fungerer ikke i SCCM. Kommandoer af typen

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

bliver ikke behandlet. For at sikre, at bootbillederne ikke er angivet, kan du udføre kommandoen til at vise WDS-serverkonfigurationen.

wdsutil /get-server /show:images

Boot-menu PXE med System Center Configuration Manager
Dermed kan vi i SCCM 2012 ikke angive vores egen fil til opstart via PXE for SMSPXE-udbyderen. Vi skal derfor konfigurere den aktive DHCP-omfang.
I indstillingerne for den aktive DHCP-omfang angiver vi parametrene i overensstemmelse med tabellen.

DHCP-option
Parameternavn
Værdi

066
Boot server host name
sccm2012.test.local

067
Bootfile name
smsbootx86pxelinux.com

006
DNS-servere
192.168.57.10

015
DNS-domænenavn
test.local

I option 066 angiver vi FQDN-navnet på SCCM-serveren, i option 067 angiver vi stien til x86 bootloaderen pxelinux.com, der starter fra rod TFTP, i option 006 angiver vi IP-adressen til DNS-serveren. Hvis der anvendes et kort navn til serveren i option 066, angiver vi DNS-suffixet i option 015.

Tilføjelse
Mere detaljeret har jeg beskrevet DHCP-opsætningen mvgolubev her. Men i DC mangel på option 150, TFTP-serverens IP-adresse, var ikke tilgængelig i indstillingerne for DHCP-omfanget, og angivelse af option 150 via netsh virkede ikke.Boot-menu PXE med System Center Configuration Manager

3. Kontrollér funktionalitet

De grundlæggende indstillinger er afsluttet, og vi kan begynde at kontrollere. Angiv på testcomputeren i BIOS, at den skal starte fra netværket, og vi booter ind i menuen.
Boot-menu PXE med System Center Configuration Manager

Vi vælger punktet "Start to SCCM" og hvis computeren har tildelt en opgavefølge, vises der efter et stykke tid et vindue "Task Sequence Wizard" med anmodning om at indtaste adgangskoden.
Boot-menu PXE med System Center Configuration Manager

Vi genstarter maskinen, går ind i menuen igen, og vælger i menuen "Antivirus and tools" og indtaster adgangskoden. Qwerty
Boot-menu PXE med System Center Configuration Manager

Vi vælger et vilkårligt punkt og observerer, at ISO-billedet indlæses i hukommelsen.
Boot-menu PXE med System Center Configuration Manager

Vi venter og observerer resultatet.
Boot-menu PXE med System Center Configuration Manager

Kontrol afsluttet.
Boot-menu PXE med System Center Configuration Manager

4. Yderligere indstillinger og funktioner

Opsætning af routing

Hvis klienten, DHCP-serveren og serveren med netværksbootloaderen er i det samme netværkssegment, kræves der ikke yderligere konfiguration. Hvis klienten og DHCP-serveren eller WDS/SCCM-serveren er i forskellige netværkssegmenter, anbefales det at konfigurere routerne til at videresende broadcast-pakker fra klienten til den fungerende DHCP-server og den fungerende WDS/SCCM-server. I engelsksprogede litteratur er denne proces kendt som "IP Helper table updates". I dette tilfælde kontakter klienten efter at have modtaget IP-adressen serveren med netværksbootloaderen direkte via DHCP-pakker for at downloade netværksbootloaderen.
Til Cisco-routere bruges kommandoen

ip helper-address {ip address}

hvor {ip address} IP-adressen til DHCP-serveren eller WDS/SCCM-serveren. Når denne kommando bruges, videresendes også følgende broadcast UDP-pakker

Port
Protokol

69
TFTP

53
Domain Name System (DNS)

37
Tidsservice

137
NetBIOS Navneserver

138
NetBIOS Datagramserver

67
Bootstrap Protocol (BOOTP)

49
TACACS

Den anden metode til, at klienten kan få oplysninger om netværksbootloaderen direkte fra DHCP-serveren, er at angive valgmulighederne 60, 66, 67 på DHCP-serveren. Brug af DHCP-parameter 60 med værdien "PXEClient" gælder i alle DHCP-områder, kun hvis DHCP-serveren er placeret på den samme server som Windows-distributions-tjenesterne. I dette tilfælde kontakter klienten serveren med Windows-distributions-tjenesterne direkte via TFTP-protokollen over UDP-port 4011, og ikke via DHCP. Denne metode anbefales ikke af Microsoft på grund af problemer med belastningsfordeling, forkert behandling af DHCP-parametre og svarparametre fra Windows-distributions-tjenesterne på klientsiden. Og fordi brugen af kun de to muligheder 66 og 67 for DHCP gør det muligt at omgå parametre fastsat på netværksbootserveren.
Det er også nødvendigt at åbne følgende UDP-porte på Windows-distributionsserveren
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
og port 68, hvis der kræves DHCP-godkendelse på serveren.

Processen for konfiguration og detaljer om videresendelse mellem forskellige WDS-servere er mere detaljeret beskrevet nedenfor i kilderne:
Håndtering af netværksbootprogrammer http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Administration af serveren http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Microsoft Product Support Services (PSS) supportgrænser for netværksbootning af Microsoft Windows Preinstallation Environment (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Sådan videresendes UDP-broadcast (BOOTP/DHCP) på Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Særlige aspekter af DHCP's funktionalitet og konfiguration på Cisco-routere (Del 2) http://habrahabr.ru/post/89997/

Yderligere muligheder for lokal boot

I testmiljøet kommandoen

localboot 0

giver en sådan fejl
Boot-menu PXE med System Center Configuration Manager
Ifølge syslinux-dokumentationen

localboot 0

vil bootningen foregå fra den lokale disk. Når der angives en specifik værdi 0x00 fra den primære diskette, og når 0x80 angives fra den primære harddisk. Ved at ændre kommandoen til

localboot 0x80

den lokale OS er blevet bootet.
Hvis det er nødvendigt at boot fra en specifik disk, partition eller kommando localboot ikke virker, kan man benytte sig af mulighederne i modulet chain.c32. Efter at det er bootet, angiver vi den specifikke disk eller partition med append-kommandoen, hvor disknummereringen starter fra 0, og partitionerne starter fra 1, da angivelse af partition 0 resulterer i, at MBR bootes. Når man angiver disk, kan partitionen udelades.

KERNEL chain.c32
APPEND hd0 0

eller

KERNEL chain.c32
APPEND hd0

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

Fremgangsmåde og beskrivelse af filboot via PXE

Som nævnt i starten af artiklen, findes kataloget, hvor WDS-filerne til boot er placeret, i værdien af parameteren RootFolder i registreringsnøglen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Standardværdi C:\RemoteInstall
Her i parameteren ReadFilter er katalogerne angivet, hvor TFTP-serveren søger efter bootfiler, fra rodniveauet. Med installeret SCCM 2012 SP1 har denne parameter følgende

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Hvis værdien af parameteren ændres til * vil alle filer i kataloget blive behandlet RemoteInstall.

Rollen som distributionspunkt for SCCM 2012 er angivet i registreringsparameteren ProvidersOrder, beliggende i nøglen HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parameter ProvidersOrder kan tage værdierne

SMSPXE
PXE-servicen i SCCM

SMS.PXE.Filter
PXE-scriptbehandleren fra MDT (Microsoft Deployment Toolkit)

BINLSVC
Standardbehandleren for WDS og RIS

Med installeret SCCM er parameteren ProvidersOrder betydning SMSPXE. Ved at ændre parameteren kan rækkefølgen af leverandørerne ændres.

I mappen RemoteInstall finner følgende standardfiler

wdsnbp.com

Netboot-programmet, der er udviklet til Windows-distributionstjenester og udfører følgende opgaver:
1. Opdagelse af arkitektur.
2. Betjening af ventende computere. Når politikken for automatisk tilføjelse er aktiveret, sendes dette netboot-program til ventende computere for at medbringe netbooten og informere serveren om klientens computerarkitektur.
3. Anvendelse af netboot-links (herunder brug af DHCP-protokolens parametre 66 og 67)

PXEboot.com

(Som standard) Kræver, at brugeren trykker på F12 for at fortsætte netbooten

PXEboot.n12

Kræver ikke, at brugeren trykker på F12-tasten og starter straks netværksboot.

AbortPXE.com

Starter computeren ved hjælp af følgende boot-element i BIOS uden ventetid.

Bootmgr.exe

Windows boot manager (Bootmgr.exe eller Bootmgr.efi). Starter Windows bootloader fra et bestemt diskpartition eller via netværksforbindelse (i tilfælde af netværksboot).

Bootmgfw.efi

Versionen af EFI-programmet PXEboot.com og PXEboot.n12 (i EFI vælges boot af PXE i EFI-shellen, ikke af netværksbootprogrammet). Programmet Bootmgfw.efi kombinerer funktionerne fra PXEboot.com, PXEboot.n12, abortpxe.com og bootmgr.exe. Det findes i øjeblikket kun for x64- og Itanium-arkitekturer.

Default.bcd

Lagring af boot-konfigurationsdata (BCD), format REGF, kan indlæses i REGEDIT, erstatter tekstfilen Boot.ini.

Boot sker i den følgende rækkefølge i henhold til beskrivelsen ovenfor.
1. wdsnbp.com indlæses.
2. Derefter indlæses den ideelle pxeboot.com til den relevante arkitektur.
3. PXEBoot.com indlæser bootmgr.exe og boot-konfigurationsdatabasens BCD.
4. Bootmgr.exe læser operation systemets poster fra boot-konfigurationsdatabasen BCD og indlæser Boot.sdi-filen og Windows PE-billedet (boot.wim).
5. Bootmgr.exe starter indlæsningen af Windows PE ved at få adgang til Winload.exe i Windows PE-billedet.

Hvis der er en mappe i RemoteInstall der indeholder mapper

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

betegner tilstedeværelsen af, at der før tilføjelsen af rollen som distributionspunkt i SCCM 2012 (PXE-servicestationen i SCCM 2007) blev foretaget en konfiguration af den installerede Windows Deployment Services (WDS), som resulterede i, at disse mapper blev oprettet automatisk.
For rollen som distributionspunkt (PXE-servicestationen i SCCM 2007) er kun følgende mapper nødvendige.

SMSBoot
SMSIMAGES
SMSTemp
Stores

Det betyder ikke, at SCCM er installeret forkert, men kan indikere en mulig kilde til fejl.
Løsninger på forskellige problemer vedrørende bindeleddet mellem WDS, SCCM og PXE er beskrevet i artiklen: Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

Resultat

I IT-infrastrukturen styret af System Center Configuration Manager er der tilføjet et nyt værktøj til systemadministratorer på stedet.

Liste med links til ISO-billedfiler (Klik for at vise)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.ru/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

Tak for din opmærksomhed!
Boot-menu PXE med System Center Configuration Manager

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster