PXE-Startmenü mit System Center Configuration Manager

PXE-Startmenü mit System Center Configuration Manager

Wir erwägen, die Funktionen von System Center Configuration Manager (einem Produkt zur Verwaltung der IT-Infrastruktur) beim Booten von Benutzer-PCs über ein Netzwerk mithilfe von PXE zu erweitern. Wir erstellen ein Boot-Menü auf Basis von PXELinux mit System Center-Funktionalität und fügen Antiviren-Scan-, Diagnose- und Wiederherstellungs-Images hinzu. Am Ende des Artikels gehen wir auf die Funktionen des System Center 2012 Configuration Managers in Verbindung mit Windows Deployment Services (WDS) beim Booten über PXE ein.

Wir führen alle Aktionen in einer Testumgebung durch, in der bereits System Center 2012 Configuration Manager SP1, ein Domänencontroller und eine Reihe von Testmaschinen installiert sind. Es wird davon ausgegangen, dass SCCM bereits mithilfe von PXE über das Netzwerk bereitgestellt wird.

Eintrag

Die Testumgebung besteht aus mehreren virtuellen Maschinen. Auf allen Maschinen ist das Gastbetriebssystem Microsoft Windows Server 2008 R2 (x64), der E1000-Netzwerkadapter und der SCSI-Controller: LSI Logic SAS installiert

Name (Rollen)
IP-Adresse/DNS-Name
Funktional

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

Installierter System Center Configuration Manager 2012 SP1

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

Die Rolle des Domänencontrollers, DHCP-Servers und DNS-Servers

TEST (Testmaschine)
192.168.57.103
test.test.local

Zum Prüfen

G.W. (Gateway)
192.168.57.1
Routing zwischen Netzwerken. Gateway-Rolle

1. Fügen Sie PXELinux zu SCCM hinzu

Wir führen Aktionen auf dem Computer aus, auf dem System Center Configuration Manager installiert ist

  • Lassen Sie uns das Verzeichnis ermitteln, in dem sich die WDS-Dateien zum Herunterladen befinden. Dazu suchen wir in der Registrierung nach dem Wert des Parameters RootFolder in einer Filiale HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Standardwert C:RemoteInstall
    Die vom SCCM-Bereitstellungspunkt herunterzuladenden Dateien befinden sich in den Verzeichnissen smsbootx86 и smsbootx64 je nach Architektur.
    Richten Sie zunächst standardmäßig ein Verzeichnis für die 32-Bit-Architektur ein c:Remoteinstallsmsbootx86
  • Laden Sie das Archiv mit der neuesten Version herunter syslinux . Kopieren Sie von syslinux-5.01.zip nach c:Remoteinstallsmsbootx86 die folgenden Dateien:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Um einen solchen Fehler zu vermeiden, sind zusätzliche Dateien erforderlich.
    PXE-Startmenü mit System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 umbenennen pxelinux.0 в pxelinux.com
    Im Ordner c:remoteinstallsmsbootx86 eine Kopie machen abortpxe.com und umbenennen in abortpxe.0
    Wenn nicht, in Erweiterung umbenennen .0, dann zum Beispiel die Anweisung

    Kernel abortpxe.com

    schlägt mit der folgenden Fehlermeldung fehl: Booten des Kernels fehlgeschlagen: Ungültige Dateinummer
    Für PXELINUX sollte die Download-Dateierweiterung entsprechend der Platte eingestellt werden

    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]
    

    Source: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file Abschnitt der Kerneldatei

  • Um beim Laden von SCCM über das Menü nicht mehrmals die Taste F12 drücken zu müssen, benennen Sie pxeboot.com in pxeboot.com.f12 um und kopieren Sie pxeboot.n12 nach pxeboot.com
    Geschieht dies nicht, erhalten wir bei der Auswahl jedes Mal eine solche Nachricht
    PXE-Startmenü mit System Center Configuration Manager
    Hinweis: Vergessen Sie nicht, diese Dateien auch im x64-Ordner umzubenennen. wenn es geladen wird x86wdsnbp.com Aus dem x86-Ordner ermittelt der Loader die Prozessorarchitektur und die nächste Datei wird aus dem Ordner mit der entsprechenden Architektur geladen. Für x64 ist die nachfolgende Datei daher nicht verfügbar x86pxeboot.comUnd x64pxeboot.com
  • Herunterladen / erstellen background.png, Auflösung 640x480, in den gleichen Ordner kopieren. Erstellen Sie einen Ordner ISO wo wir ISO-Images platzieren werden. Erstellen Sie einen Ordner pxelinux.cfg für Konfigurationen.
  • Erstellen Sie im Ordner pxelinux.cfg eine Standarddatei mit dem Inhalt in einer Nicht-Unicode-Kodierung
    Standard (Zum Anzeigen anklicken)

    # используем графическое меню
    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

    Im Ordner pxelinux.cfg eine Datei erstellen graphics.conf mit Inhalt
    Graphics.conf (Zum Anzeigen anklicken)

    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

    Im Ordner pxelinux.cfg eine Datei erstellen av.conf mit Inhalt
    av.conf (Zum Anzeigen klicken)

    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
    
  • Infolgedessen enthält das Verzeichnis c:remoteinstallsmsbootx86 die Struktur

    c:remoteinstallsmsbootx86
    pxelinux.cfg

    Kette.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

    Standard
    av.conf
    Graphics.conf
    *.iso

  • Für die x64-Architektur kopieren und erstellen wir auf ähnliche Weise die gleiche Struktur im Ordner c:remoteinstallsmsbootx64

Zusatz
Bei Verwendung des Befehls menu PASSWD Das Passwort kann entweder unverändert festgelegt werden oder einen Hashing-Algorithmus verwenden, indem die entsprechende Signatur am Anfang des Parameters hinzugefügt wird

Algorithm
Unterschrift

MD5
$ $ 1

SHA-1
$ $ 4

SHA-2-256
$ $ 5

SHA-2-512
$ $ 6

Also zum Passwort Qwerty und MD5-Algorithmus

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Ein Passwort können Sie beispielsweise über einen Online-Hash-Generator generieren www.insidepro.com/hashes.php?lang=rus, Linie MD5(Unix)

2. Richten Sie den PXELinux-Boot ein

Jetzt zeigen wir an, wie man pxelinux.com lädt und das Menü erhält.
Die Angabe des pxelinux.com-Bootloaders über die WDS-Funktionalität funktioniert in SCCM nicht. Befehle anzeigen

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

werden nicht verarbeitet. Sie können überprüfen, ob Startbilder nicht festgelegt sind, indem Sie den Befehl „Ausgabe-WDS-Serverkonfiguration“ ausführen

wdsutil /get-server /show:images

PXE-Startmenü mit System Center Configuration Manager
Daher können Sie in SCCM 2012 Ihre Datei nicht für den PXE-Download beim SMSPXE-Anbieter angeben. Daher konfigurieren wir den aktiven Bereich des DHCP-Servers.
Stellen Sie in den Parametern des DHCP-Aktivbereichs die Parameter gemäß Schild ein

DHCP-Option
Parametername
Wert

066
Hostname des Boot-Servers
sccm2012.test.local

067
Bootfile-Name
smsbootx86pxelinux.com

006
DNS-Server
192.168.57.10

015
DNS-Domänenname
test.local

In Option 066 geben wir den FQDN-Namen des sccm-Servers an, in Option 067 geben wir den Pfad zum x86-Bootloader pxelinux.com ausgehend vom TFTP-Root an, in Option 006 geben wir die IP-Adresse des DNS-Servers an. Wenn in Option 066 ein kurzer Servername verwendet wird, geben wir in Option 015 das DNS-Suffix der Domain an.

Zusatz
Beschrieb die DHCP-Konfiguration ausführlicher mvgolubev hier. Aber weiter DC Option 150, IP-Adresse des TFTP-Servers, fehlte in den DHCP-Bereichseinstellungen und die Angabe von Option 150 über netsh funktionierte nicht.PXE-Startmenü mit System Center Configuration Manager

3. Überprüfung der Arbeit

Die Grundeinstellungen sind abgeschlossen und Sie können mit der Überprüfung beginnen. Wir zeigen auf dem Testrechner im BIOS an, dass es über das Netzwerk geladen und ins Menü geladen wird
PXE-Startmenü mit System Center Configuration Manager

Wähle einen Gegenstand «Start to SCCM» und wenn dem Computer eine Tasksequenz zugewiesen ist, erscheint nach einiger Zeit das Fenster „Tasksequenz-Assistent“, in dem Sie zur Eingabe eines Passworts aufgefordert werden
PXE-Startmenü mit System Center Configuration Manager

Starten Sie die Maschine neu, gehen Sie zurück zum Menü und wählen Sie im Menü aus «Antivirus and tools» und geben Sie das Passwort ein Qwerty
PXE-Startmenü mit System Center Configuration Manager

Wir wählen ein beliebiges Element aus und beobachten das Laden des ISO-Images in den Speicher
PXE-Startmenü mit System Center Configuration Manager

Abwarten und das Ergebnis sehen
PXE-Startmenü mit System Center Configuration Manager

Überprüfung abgeschlossen
PXE-Startmenü mit System Center Configuration Manager

4. Zusätzliche Einstellungen und Funktionen

Routing-Setup

Wenn sich Client, DHCP-Server und Server mit dem Netzwerklader im selben Netzwerksegment befinden, ist keine zusätzliche Konfiguration erforderlich. Wenn sich der Client und der DHCP-Server oder WDS/SCCM-Server jedoch in unterschiedlichen Netzwerksegmenten befinden, wird empfohlen, dass Sie Ihre Router so konfigurieren, dass sie Broadcast-Pakete vom Client an den aktiven DHCP-Server und den aktiven WDS/SCCM-Server weiterleiten. In der englischen Literatur ist dieser Vorgang als „IP Helper Table Updates“ bekannt. In diesem Fall kontaktiert der Client nach Erhalt einer IP-Adresse direkt über DHCP-Pakete den Server, auf dem sich der Netzwerklader befindet, um den Netzwerklader herunterzuladen.
Verwenden Sie für Cisco-Router den Befehl

ip helper-address {ip address}

wo {ip address} DHCP-Server- oder WDS/SCCM-Serveradresse. Dieser Befehl sendet auch die folgenden UDP-Broadcast-Pakete

Port
Protokoll

69
TFTP

53
Domain Name System (DNS)

37
Zeitdienst

137
NetBIOS-Nameserver

138
NetBIOS-Datagram-Server

67
Bootstrap-Protokoll (BOOTP)

49
Tacacs

Die zweite Methode für den Client, Informationen über den Netzwerklader direkt vom DHCP-Server zu erhalten, besteht darin, die Optionen 60,66,67 auf dem DHCP-Server anzugeben. Verwenden der DHCP-Option 60 mit Wert «PXEClient» für alle DHCP-Bereiche, nur wenn der DHCP-Server auf demselben Server wie die Windows-Bereitstellungsdienste gehostet wird. In diesem Fall kommuniziert der Client direkt mit dem Windows Deployment Services-Server über TFTP am UDP-Port 4011 statt über DHCP. Diese Methode wird von Microsoft aufgrund von Problemen mit dem Lastausgleich, falscher Handhabung von DHCP-Optionen und Antwortoptionen der Windows-Bereitstellungsdienste auf der Clientseite nicht empfohlen. Und auch, weil Sie durch die Verwendung von nur zwei DHCP-Optionen 66 und 67 die auf dem Netzwerk-Boot-Server festgelegten Parameter umgehen können.
Sie müssen außerdem die folgenden UDP-Ports auf dem Windows-Bereitstellungsdiensteserver öffnen
Port 67 (DHCP)
Port 69 (TFTP)
Port 4011 (PXE)
und Port 68, wenn auf dem Server eine DHCP-Autorisierung erforderlich ist.

Im Folgenden werden der Konfigurationsprozess und die Nuancen der Umleitung zwischen verschiedenen WDS-Servern in den Quellen ausführlicher beschrieben:
Verwaltung des Netzwerk-Boot-Programms http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Serververwaltung http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Microsoft Product Support Services (PSS) unterstützen Grenzen für den Netzwerkstart von Microsoft Windows Preinstallation Environment (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
So leiten Sie UDP-Broadcast (BOOTP/DHCP) auf Cisco weiter http://www.cisco-faq.com/163/forward_udp_broadcas.html
Merkmale des Betriebs und der Konfiguration von DHCP auf Cisco-Routern (Teil 2) http://habrahabr.ru/post/89997/

Zusätzliche Optionen für den lokalen Download

In einer Testumgebung der Befehl

localboot 0

gibt einen solchen Fehler
PXE-Startmenü mit System Center Configuration Manager
Aus der Syslinux-Dokumentation geht hervor, dass when

localboot 0

Das Laden erfolgt von einer lokalen Festplatte. Und bei Angabe eines bestimmten Werts 0x00 von der primären (primären) Diskette, bei Angabe von 0x80 von der primären (primären) Festplatte. Durch Ändern des Befehls in

localboot 0x80

Das lokale Betriebssystem wurde geladen.
Wenn es erforderlich ist, von einer bestimmten Festplatte, Partition oder einem bestimmten Befehl zu booten localboot funktioniert nicht, dann können Sie die Fähigkeiten des Moduls nutzen chain.c32. Verwenden Sie nach dem Laden den Befehl „append“, um eine bestimmte Festplatte oder Festplattenpartition anzugeben. Die Festplattennummerierung beginnt bei 0, die Partitionsnummerierung beginnt bei 1. Wenn Partition 0 angegeben ist, wird der MBR geladen. Bei der Angabe einer Festplatte kann die Partition weggelassen werden.

KERNEL chain.c32
APPEND hd0 0

oder

KERNEL chain.c32
APPEND hd0

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

Reihenfolge und Beschreibung des Herunterladens von Dateien über PXE

Wie am Anfang des Artikels erwähnt, ist das Verzeichnis, in dem sich die WDS-Dateien zum Download befinden, im Wert des Parameters enthalten RootFolder im Registry-Zweig HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Standardwert C:RemoteInstall
Hier im Parameter ReadFilter Es werden Verzeichnisse angegeben, in denen der TFTP-Server beginnend im Stammverzeichnis nach Dateien zum Herunterladen sucht. Wenn SCCM 2012 SP1 installiert ist, gilt diese Einstellung

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Wenn Sie den Parameterwert in ändern * dann werden alle im Verzeichnis befindlichen Dateien verarbeitet RemoteInstall.

Die SCCM 2012-Bereitstellungspunktrolle ist im Registrierungswert angegeben ProvidersOrderbefindet sich in der Filiale HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parameter ProvidersOrder Werte annehmen kann

SMSPXE
PXE-Dienstpunkt in SCCM

SMS.PXE.Filter
PXE-Skripthandler von MDT (Microsoft Deployment Toolkit)

BINLSVC
Standard-WDS- und RIS-Engine

Wenn SCCM installiert ist, ist der Parameter ProvidersOrder Angelegenheiten SMSPXE. Durch Ändern des Parameters können Sie die Reihenfolge ändern, in der Anbieter geladen werden.

Im Katalog RemoteInstall Die folgenden Standarddateien befinden sich

wdsnbp.com

Ein Netzwerkstartprogramm für Windows-Bereitstellungsdienste, das die folgenden Aufgaben ausführt:
1. Architekturerkennung.
2. Wartung wartender Computer. Wenn die Richtlinie zum automatischen Hinzufügen aktiviert ist, wird dieses Netzwerkstartprogramm an wartende Computer gesendet, um den Netzwerkstart anzuhalten und den Server über die Architektur des Clientcomputers zu informieren.
3. Verwenden von Netzwerk-Boot-Links (einschließlich der Verwendung der DHCP-Optionen 66 und 67)

PXEboot.com

(Standard) Erfordert, dass der Benutzer die Taste F12 drückt, um den Netzwerkstart fortzusetzen

PXEboot.n12

Der Benutzer muss nicht die F12-Taste drücken und startet sofort den Netzwerkstart

AbortPXE.com

Startet den Computer mit dem nächsten Startelement im BIOS, ohne zu warten

bootmgr.exe

Windows-Boot-Manager (Bootmgr.exe oder Bootmgr.efi). Lädt den Windows-Bootloader mithilfe der Firmware von einer bestimmten Festplattenpartition oder über eine Netzwerkverbindung (im Fall eines Netzwerkstarts).

Bootmgfw.efi

Die EFI-Version von PXEboot.com und PXEboot.n12 (in EFI liegt die Wahl, ob PXE gestartet werden soll oder nicht, in der EFI-Shell und nicht im Netzwerk-Startprogramm). Bootmgfw.efi kombiniert die Funktionen von PXEboot.com, PXEboot.n12, abortpxe.com und bootmgr.exe. Es existiert derzeit nur für x64- und Itanium-Architekturen.

Default.bcd

Der Boot Configuration Data Store (BCD) im REGF-Format kann in REGEDIT geladen werden und ersetzt die Textdatei Boot.ini

Das Laden erfolgt in der oben beschriebenen Reihenfolge
1. Laden Sie wdsnbp.com herunter.
2. Als nächstes wird pxeboot.com der entsprechenden Architektur geladen
3. PXEBoot.com lädt bootmgr.exe und den BCD-Startkonfigurationsdatenspeicher herunter
4. Bootmgr.exe liest die Betriebssystemeinträge der BCD-Startkonfigurationsdaten und lädt die Datei Boot.sdi und das Windows PE-Image (boot.wim).
5. Bootmgr.exe beginnt mit dem Laden von Windows PE, indem es auf Winload.exe im Windows PE-Image zugreift

Wenn der RemoteInstall Es gibt Ordner

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

Ihr Vorhandensein bedeutet, dass vor dem Hinzufügen der Verteilungspunktrolle in SCCM 2012 (PXE-Dienstpunkte in SCCM 2007) eine Konfigurationsaktion für die installierten Windows-Bereitstellungsdienste (WDS) durchgeführt wurde, die diese Ordner automatisch erstellte.
Für die Verteilungspunktrolle (PXE-Dienstpunkt in SCCM 2007) sind nur die folgenden Ordner ausreichend

SMSBoot
SMSIMAGES
SMSTemp
Stores

Dies bedeutet nicht, dass SCCM falsch installiert ist, kann aber auf eine mögliche Fehlerquelle hinweisen.
Die Lösung verschiedener Probleme des WDS-, SCCM- und PXE-Bundles wird im Artikel ausführlich besprochen. Fehlerbehebung für den PXE-Dienstpunkt und WDS in Configuration Manager 2007

Ergebnis

Die von System Center Configuration Manager verwaltete IT-Infrastruktur hat ein neues Tool für Systemadministratoren im Außendienst hinzugefügt.

Liste der Links zu ISO-Images (zum Anzeigen klicken)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.com/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

Danke!
PXE-Startmenü mit System Center Configuration Manager

Source: habr.com

Kommentar hinzufügen