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.
В 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]
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 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
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
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
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 mvgolubevhier. 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.
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
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
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
Wir wählen ein beliebiges Element aus und beobachten das Laden des ISO-Images in den Speicher
Abwarten und das Ergebnis sehen
Überprüfung abgeschlossen
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.
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.
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