Menu de démarrage PXE avec System Center Configuration Manager
Nous envisageons d'étendre les capacités de System Center Configuration Manager (un produit de gestion de l'infrastructure informatique) lors du démarrage des PC des utilisateurs sur un réseau à l'aide de PXE. Nous créons un menu de démarrage basé sur PXELinux avec la fonctionnalité System Center et ajoutons des images d'analyse antivirus, de diagnostic et de récupération. À la fin de l'article, nous abordons les fonctionnalités de System Center 2012 Configuration Manager en conjonction avec les services de déploiement Windows (WDS) lors du démarrage via PXE.
Nous effectuons toutes les actions sur un environnement de test sur lequel System Center 2012 Configuration Manager SP1 est déjà installé, un contrôleur de domaine et un certain nombre de machines de test. Il est supposé que SCCM se déploie déjà sur le réseau à l'aide de PXE.
Entrée
L'environnement de test se compose de plusieurs machines virtuelles. Toutes les machines sont équipées d'un système d'exploitation invité Microsoft Windows Server 2008 R2 (x64), d'un adaptateur réseau E1000, d'un contrôleur SCSI : LSI Logic SAS
Nom (Rôles)
Adresse IP / nom DNS
fonctionnel
SCCM (gestionnaire de configuration du centre système)
192.168.57.102
sccm2012.test.local
Installé System Center Configuration Manager 2012 SP1
CC (ANNONCE, DHCP, DNS)
192.168.57.10
dc1.test.local
Le rôle du contrôleur de domaine, du serveur DHCP et du serveur DNS
TEST (Machine d'essai)
192.168.57.103
test.test.local
Pour tester
GW (Passerelle)
192.168.57.1
Routage entre réseaux. Rôle de passerelle
1. Ajouter PXELinux à SCCM
Nous effectuons des actions sur la machine sur laquelle System Center Configuration Manager est installé
Déterminons le répertoire où se trouvent les fichiers WDS pour le téléchargement, pour cela nous cherchons dans le registre la valeur du paramètre RootFolder dans la branche HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valeur par défaut C:RemoteInstall
Les fichiers à télécharger à partir du point de déploiement SCCM se trouvent dans les répertoires smsbootx86 и smsbootx64 en fonction de l'architecture.
Tout d'abord, configurez un répertoire pour l'architecture 32 bits, par défaut c:Remoteinstallsmsbootx86
Téléchargez l'archive avec les dernières syslinux . Copiez depuis syslinux-5.01.zip vers c:Remoteinstallsmsbootx86 les fichiers suivants : memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Des fichiers supplémentaires sont nécessaires pour éviter une telle erreur.
В c:Remoteinstallsmsbootx86 Renommer pxelinux.0 в pxelinux.com
Dans le dossier c:remoteinstallsmsbootx86 faire une copie abortpxe.com et renommez-le en abortpxe.0
Si ce n'est pas le cas, renommez-le en extension .0, alors par exemple l'instruction
Kernel abortpxe.com
échouera avec l'erreur suivante : Échec du démarrage du noyau : numéro de fichier incorrect
Pour PXELINUX, l'extension du fichier de téléchargement doit être définie en fonction de la plaque
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]
Afin de ne pas appuyer plusieurs fois sur la touche F12 lors du chargement de SCCM via le menu, renommez pxeboot.com en pxeboot.com.f12, copiez pxeboot.n12 en pxeboot.com
Si cela n'est pas fait, alors lors du choix, nous recevrons un tel message à chaque fois Remarque : n'oubliez pas de renommer également ces fichiers dans le dossier x64. quand il charge x86wdsnbp.com à partir du dossier x86, le chargeur détermine l'architecture du processeur et le fichier suivant est chargé à partir du dossier avec l'architecture correspondante. Ainsi, pour x64, le fichier suivant ne sera pas x86pxeboot.comEt x64pxeboot.com
Télécharger / créer background.png, résolution 640x480, copie dans le même dossier. Créer un dossier ISO où nous placerons les images ISO. Créer un dossier pxelinux.cfg pour les configurations.
Dans le dossier pxelinux.cfg, créez un fichier par défaut, dans un encodage non unicode, avec le contenu par défaut (Cliquez pour afficher)
# используем графическое меню
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
Dans le dossier pxelinux.cfg créer un fichier graphics.conf avec contenu graphics.conf (Cliquez pour afficher)
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
Dans le dossier pxelinux.cfg créer un fichier av.conf avec contenu av.conf (Cliquez pour afficher)
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
Par conséquent, le répertoire c:remoteinstallsmsbootx86 contient la structure
Pour l'architecture x64, nous copions et créons de la même manière la même structure dans le dossier c:remoteinstallsmsbootx64
Addition
Lors de l'utilisation de la commande menu PASSWD le mot de passe peut être défini soit tel quel, soit utiliser un algorithme de hachage en ajoutant la signature correspondante au début du paramètre
Algorithme
Signature
MD5
1 XNUMX $
SHA-1
4 XNUMX $
SHA-2-256
5 XNUMX $
SHA-2-512
6 XNUMX $
Donc pour le mot de passe Qwerty et algorithme MD5
menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
Vous pouvez générer un mot de passe, par exemple, via un générateur de hachage en ligne www.insidepro.com/hashes.php?lang=rus, ligne MD5(Unix)
2. Configurer le démarrage PXELinux
Nous allons maintenant indiquer comment charger pxelinux.com et obtenir le menu.
La spécification du chargeur de démarrage pxelinux.com via la fonctionnalité WDS ne fonctionne pas dans SCCM. Afficher les commandes
ne sont pas traitées. Vous pouvez vérifier que les images de démarrage ne sont pas définies en exécutant la commande de configuration du serveur WDS de sortie
wdsutil /get-server /show:images
Par conséquent, dans SCCM 2012, vous ne pouvez pas spécifier votre fichier pour le téléchargement PXE au fournisseur SMSPXE. Par conséquent, nous allons configurer la zone active du serveur DHCP.
Dans les paramètres de la zone active DHCP, réglez les paramètres en fonction de la plaque
Options DHCP
Nom du paramètre
Valeur
066
Nom d'hôte du serveur de démarrage
sccm2012.test.local
067
Nom du fichier de démarrage
smsbootx86pxelinux.com
006
Serveurs DNS
192.168.57.10
015
Nom de domaine DNS
test.local
Dans l'option 066 nous spécifions le nom FQDN du serveur sccm, dans l'option 067 nous spécifions le chemin vers le bootloader x86 pxelinux.com à partir de la racine TFTP, dans l'option 006 nous spécifions l'adresse IP du serveur DNS. Si un nom de serveur court est utilisé dans l'option 066, dans l'option 015, nous spécifions le suffixe DNS du domaine.
Addition
Décrit la configuration DHCP plus en détail mvgolubevici. Mais sur DC l'option 150, l'adresse IP du serveur TFTP, manquait dans les paramètres d'étendue DHCP et la spécification de l'option 150 via netsh ne fonctionnait pas.
3. Vérification du travail
Les réglages de base sont terminés et vous pouvez commencer à vérifier. Nous indiquons sur l'ordinateur de test dans le BIOS qu'il est chargé sur le réseau et chargé dans le menu
Sélectionner un article «Start to SCCM» et si une séquence de tâches est attribuée à l'ordinateur, après un certain temps, la fenêtre "Assistant de séquence de tâches" apparaîtra vous invitant à entrer un mot de passe
Redémarrez la machine, revenez au menu, sélectionnez dans le menu «Antivirus and tools» et entrez le mot de passe Qwerty
Nous sélectionnons un élément arbitraire et observons le chargement de l'image ISO en mémoire
Attendre et voir le résultat
Chèque terminé
4. Paramètres et fonctionnalités supplémentaires
Configuration du routage
Si le client, le serveur DHCP et le serveur contenant le chargeur de réseau se trouvent dans le même segment de réseau, aucune configuration supplémentaire n'est requise. Toutefois, si le client et le serveur DHCP ou le serveur WDS/SCCM se trouvent sur des segments de réseau différents, il est recommandé de configurer vos routeurs pour transférer les paquets de diffusion du client vers le serveur DHCP actif et le serveur WDS/SCCM actif. Dans la littérature anglaise, ce processus est connu sous le nom de "IP Helper table updates". Dans ce cas, le client, après avoir obtenu une adresse IP, contacte le serveur contenant le chargeur de réseau directement via des paquets DHCP afin de télécharger le chargeur de réseau.
Pour les routeurs Cisco, utilisez la commande
ip helper-address {ip address}
où {ip address} Adresse du serveur DHCP ou du serveur WDS/SCCM. Cette commande envoie également les paquets de diffusion UDP suivants
Port
Protocole
69
TFTP
53
Système de nom de domaine (DNS)
37
Prestation horaire
137
Serveur de noms NetBIOS
138
Serveur de datagrammes NetBIOS
67
Protocole d'amorçage (BOOTP)
49
Tacacs
La deuxième méthode permettant au client d'obtenir des informations sur le chargeur de réseau directement à partir du serveur DHCP consiste à spécifier les options 60,66,67, 60, XNUMX sur le serveur DHCP. Utilisation de l'option DHCP XNUMX avec la valeur «PXEClient» à toutes les étendues DHCP, uniquement si le serveur DHCP est hébergé sur le même serveur que les services de déploiement Windows. Dans ce cas, le client communique directement avec le serveur des services de déploiement Windows en utilisant TFTP sur le port UDP 4011 au lieu d'utiliser DHCP. Cette méthode n'est pas recommandée par Microsoft en raison de problèmes d'équilibrage de charge, d'une gestion incorrecte des options DHCP et des options de réponse des services de déploiement Windows côté client. Et aussi parce que l'utilisation de seulement deux options DHCP 66 et 67 vous permet de contourner les paramètres définis sur le serveur de démarrage réseau.
Vous devez également ouvrir les ports UDP suivants sur le serveur des services de déploiement Windows
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
et le port 68 si une autorisation DHCP est requise sur le serveur.
Options supplémentaires pour le téléchargement local
Dans un environnement de test, la commande
localboot 0
donne une telle erreur
Il découle de la documentation de syslinux que lorsque
localboot 0
le chargement ira à partir d'un disque local. Et lors de la spécification d'une valeur spécifique 0x00 à partir de la disquette principale (primaire), lors de la spécification de 0x80 à partir du disque dur principal (primaire). En changeant la commande en
localboot 0x80
le système d'exploitation local a été chargé.
S'il est nécessaire de démarrer à partir d'un disque, d'une partition ou d'une commande spécifique localboot ne fonctionne pas, alors vous pouvez utiliser les capacités du module chain.c32. Après l'avoir chargé, utilisez la commande append pour spécifier un disque ou une partition de disque spécifique, la numérotation des disques commence à 0, la numérotation des partitions commence à 1. si la partition 0 est spécifiée, le MBR est chargé. Lors de la spécification d'un disque, la partition peut être omise.
Ordre et description des téléchargements de fichiers via PXE
Comme mentionné au début de l'article, le répertoire où se trouvent les fichiers WDS à télécharger est contenu dans la valeur du paramètre RootFolder dans la branche du registre HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valeur par défaut C:RemoteInstall
Ici dans le paramètre ReadFilter Les répertoires sont spécifiés où le serveur TFTP recherche les fichiers à télécharger, en commençant par la racine. Avec SCCM 2012 SP1 installé, ce paramètre est
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*
Si vous changez la valeur du paramètre en * alors tous les fichiers situés dans le répertoire seront traités RemoteInstall.
Le rôle de point de déploiement SCCM 2012 est spécifié dans la valeur de registre ProvidersOrdersitué dans la succursale HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Paramètre ProvidersOrder peut prendre des valeurs
SMSPXE
Point de service PXE dans SCCM
SMS.PXE.Filtre
Gestionnaire de script PXE de MDT (Microsoft Deployment Toolkit)
BINLSVC
Moteur WDS et RIS standard
Avec SCCM installé, le paramètre ProvidersOrder questions SMSPXE. En modifiant le paramètre, vous pouvez modifier l'ordre dans lequel les fournisseurs sont chargés.
Dans le catalogue RemoteInstall les fichiers standard suivants se trouvent
www.wdsnbp.com
Un programme de démarrage réseau conçu pour les services de déploiement Windows qui effectue les tâches suivantes :
1. Détection d'architecture.
2. Maintenance des ordinateurs en attente. Lorsque la stratégie d'ajout automatique est activée, ce programme de démarrage réseau est envoyé aux ordinateurs en attente pour suspendre le démarrage réseau et informer le serveur de l'architecture de l'ordinateur client.
3. Utilisation des liens de démarrage réseau (y compris l'utilisation des options DHCP 66 et 67)
PXEboot.com
(Par défaut) Nécessite que l'utilisateur appuie sur F12 pour continuer le démarrage réseau
PXEboot.n12
Ne nécessite pas que l'utilisateur appuie sur la touche F12 et démarre immédiatement le démarrage du réseau
AbandonnerPXE.com
Démarre l'ordinateur en utilisant l'élément de démarrage suivant dans le BIOS sans attendre
bootmgr.exe
Gestionnaire de démarrage Windows (Bootmgr.exe ou Bootmgr.efi). Charge le chargeur de démarrage Windows à l'aide du micrologiciel à partir d'une partition de disque spécifique ou via une connexion réseau (dans le cas d'un démarrage réseau)
Bootmgfw.efi
La version EFI de PXEboot.com et PXEboot.n12 (dans EFI, le choix de démarrer ou de ne pas démarrer PXE se trouve dans le shell EFI, pas dans le programme de démarrage réseau). Bootmgfw.efi combine les fonctionnalités de PXEboot.com, PXEboot.n12, abortpxe.com et bootmgr.exe. Il n'existe actuellement que pour les architectures x64 et Itanium.
Par défaut.bcd
Boot Configuration Data Store (BCD), format REGF, peut être chargé dans REGEDIT, remplace le fichier texte Boot.ini
Le chargement se produit dans l'ordre suivant comme décrit ci-dessus
1. Chargez wdsnbp.com.
2. Ensuite, pxeboot.com de l'architecture appropriée est chargé
3. PXEBoot.com télécharge bootmgr.exe et le magasin de données de configuration de démarrage BCD
4. Bootmgr.exe lit les entrées du système d'exploitation des données de configuration de démarrage BCD et charge le fichier Boot.sdi et l'image Windows PE (boot.wim)
5. Bootmgr.exe démarre le chargement de Windows PE en accédant à Winload.exe dans l'image Windows PE
Si l' RemoteInstall il y a des dossiers
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend
leur présence signifie qu'avant d'ajouter le rôle de point de distribution dans SCCM 2012 (points de service PXE dans SCCM 2007), il y avait une action de configuration sur les services de déploiement Windows (WDS) installés qui créaient automatiquement ces dossiers.
Pour le rôle de point de distribution (point de service PXE dans SCCM 2007), seuls les dossiers suivants sont suffisants