Menu di avvio PXE con System Center Configuration Manager
Stiamo prendendo in considerazione l'espansione delle funzionalità di System Center Configuration Manager (un prodotto per la gestione dell'infrastruttura IT) durante l'avvio dei PC degli utenti su una rete tramite PXE. Creiamo un menu di avvio basato su PXELinux con funzionalità System Center e aggiungiamo scansioni antivirus, immagini diagnostiche e di ripristino. Alla fine dell'articolo, tocchiamo le funzionalità di System Center 2012 Configuration Manager in combinazione con Windows Deployment Services (WDS) durante l'avvio tramite PXE.
Eseguiamo tutte le azioni in un ambiente di test in cui è già installato System Center 2012 Configuration Manager SP1, un controller di dominio e una serie di computer di test. Si presuppone che SCCM stia già effettuando la distribuzione sulla rete utilizzando PXE.
Iscrizione
L'ambiente di test è costituito da diverse macchine virtuali. Su tutte le macchine è installato il sistema operativo guest Microsoft Windows Server 2008 R2 (x64), scheda di rete E1000, controller SCSI: LSI Logic SAS
Nome (ruoli)
Indirizzo IP/nome DNS
funzionale
SCCM (Gestione configurazione di System Center)
192.168.57.102
sccm2012.test.locale
Installato System Center Configuration Manager 2012 SP1
CC (AD, DHCP, DNS)
192.168.57.10
dc1.test.locale
Il ruolo del controller di dominio, del server DHCP e del server DNS
TEST (Macchina di prova)
192.168.57.103
prova.prova.locale
Per i test
GW (Gateway)
192.168.57.1
Instradamento tra reti. Ruolo di passaggio
1. Aggiungere PXELinux a SCCM
Eseguiamo azioni sulla macchina in cui è installato System Center Configuration Manager
Determiniamo la directory in cui si trovano i file WDS per il download, per questo cerchiamo nel registro il valore del parametro RootFolder in un ramo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valore predefinito C:RemoteInstall
I file da scaricare dal punto di distribuzione SCCM si trovano nelle directory smsbootx86 и smsbootx64 a seconda dell'architettura.
Innanzitutto, imposta una directory per l'architettura a 32 bit, per impostazione predefinita c:Remoteinstallsmsbootx86
Scarica l'archivio con le ultime syslinux . Copia da syslinux-5.01.zip in c:Remoteinstallsmsbootx86 i seguenti file: memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Sono necessari file aggiuntivi per evitare un tale errore.
В c:Remoteinstallsmsbootx86 rinominare pxelinux.0 в pxelinux.com
Nella cartella c:remoteinstallsmsbootx86 fare una copia abortpxe.com e rinominarlo in abortpxe.0
In caso contrario, rinomina in estensione .0, quindi ad esempio l'istruzione
Kernel abortpxe.com
fallirà con il seguente errore: Booting kernel failed: Bad file number
Per PXELINUX, l'estensione del file di download deve essere impostata in base alla targhetta
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]
Per non premere più volte il tasto F12 durante il caricamento di SCCM tramite il menu, rinominare pxeboot.com in pxeboot.com.f12, copiare pxeboot.n12 in pxeboot.com
Se ciò non viene fatto, quando scegliamo, riceveremo un messaggio del genere ogni volta Nota: non dimenticare di rinominare questi file anche nella cartella x64. quando si carica x86wdsnbp.com dalla cartella x86, il caricatore determina l'architettura del processore e il file successivo viene caricato dalla cartella con l'architettura corrispondente. Pertanto, per x64, il file successivo non lo sarà x86pxeboot.comE x64pxeboot.com
Scarica / crea background.png, risoluzione 640x480, copia nella stessa cartella. Crea una cartella ISO dove posizioneremo le immagini ISO. Crea una cartella pxelinux.cfg per le configurazioni.
Nella cartella pxelinux.cfg, crea un file predefinito, in una codifica non Unicode, con il contenuto predefinito (Fare clic per visualizzare)
# используем графическое меню
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
Nella cartella pxelinux.cfg creare un file graphics.conf con contenuto graphics.conf (Clicca per visualizzare)
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
Nella cartella pxelinux.cfg creare un file av.conf con contenuto av.conf (Clicca per visualizzare)
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
Di conseguenza, la directory c:remoteinstallsmsbootx86 contiene la struttura
Per l'architettura x64, copiamo e creiamo allo stesso modo la stessa struttura nella cartella c:remoteinstallsmsbootx64
Aggiunta
Quando si utilizza il comando menu PASSWD la password può essere impostata così com'è oppure utilizzare un algoritmo di hashing aggiungendo la firma corrispondente all'inizio del parametro
Algoritmo
Firma
MD5
$ $ 1
SHA-1
$ $ 4
SHA-2-256
$ $ 5
SHA-2-512
$ $ 6
Quindi per password Qwerty e algoritmo MD5
menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
Puoi generare una password, ad esempio, tramite un generatore di hash online www.insidepro.com/hashes.php?lang=rus, linea MD5(Unix)
2. Configurare l'avvio di PXELinux
Ora indicheremo come caricare pxelinux.com e ottenere il menu.
La specifica del bootloader pxelinux.com tramite la funzionalità WDS non funziona in SCCM. Visualizza i comandi
non vengono elaborati. Puoi verificare che le immagini di avvio non siano impostate eseguendo il comando di configurazione del server WDS di output
wdsutil /get-server /show:images
Pertanto, in SCCM 2012, non è possibile specificare il file per il download PXE al provider SMSPXE. Pertanto, configureremo l'area attiva del server DHCP.
Nei parametri dell'area attiva DHCP, impostare i parametri in base alla targa
Opzione DHCP
Nome del parametro
Valore
066
Nome host del server di avvio
sccm2012.test.locale
067
Nome del file di avvio
smsbootx86pxelinux.com
006
Server DNS
192.168.57.10
015
Nome di dominio DNS
test.locale
Nell'opzione 066 specifichiamo il nome FQDN del server sccm, nell'opzione 067 specifichiamo il percorso del bootloader x86 pxelinux.com partendo dalla root TFTP, nell'opzione 006 specifichiamo l'indirizzo IP del server DNS. Se nell'opzione 066 viene utilizzato un nome server breve, nell'opzione 015 specifichiamo il suffisso DNS del dominio.
Aggiunta
Descritta la configurazione DHCP in modo più dettagliato mvgolubevqui. Ma avanti DC l'opzione 150, l'indirizzo IP del server TFTP, non era presente nelle impostazioni dell'ambito DHCP e la specifica dell'opzione 150 tramite netsh non funzionava.
3. Controllo del lavoro
Le impostazioni di base sono completate e puoi iniziare a controllare. Indichiamo sul computer di prova nel BIOS che è caricato sulla rete e caricato nel menu
Scegli un oggetto «Start to SCCM» e se una sequenza di attività è assegnata al computer, dopo un po 'apparirà la finestra "Procedura guidata sequenza attività" che ti chiederà di inserire una password
Riavvia la macchina, torna al menu, seleziona nel menu «Antivirus and tools» e inserisci la password Qwerty
Selezioniamo un elemento arbitrario e osserviamo il caricamento dell'immagine ISO in memoria
Aspettando e vedendo il risultato
Verifica completata
4. Impostazioni e funzionalità aggiuntive
Configurazione del percorso
Se il client, il server DHCP e il server contenente il caricatore di rete si trovano nello stesso segmento di rete, non è necessaria alcuna configurazione aggiuntiva. Tuttavia, se il client e il server DHCP o il server WDS/SCCM si trovano su segmenti di rete diversi, si consiglia di configurare i router per inoltrare i pacchetti broadcast dal client al server DHCP attivo e al server WDS/SCCM attivo. Nella letteratura inglese, questo processo è noto come "aggiornamenti della tabella IP Helper". In questo caso il client, dopo aver ottenuto un indirizzo IP, contatta direttamente tramite i pacchetti DHCP il server contenente il network loader per scaricare il network loader.
Per i router Cisco, utilizzare il comando
ip helper-address {ip address}
dove {ip address} Server DHCP o indirizzo del server WDS/SCCM. Questo comando invia anche i seguenti pacchetti di trasmissione UDP
Porto
protocollo
69
TFTP
53
Domain Name System (DNS)
37
Servizio a tempo
137
Server dei nomi NetBIOS
138
Server di dati NetBIOS
67
Protocollo Bootstrap (BOOTP)
49
TACACS
Il secondo metodo per il client per ottenere informazioni sul caricatore di rete direttamente dal server DHCP è specificare le opzioni 60,66,67 sul server DHCP. Utilizzo dell'opzione DHCP 60 con valore «PXEClient» a tutti gli ambiti DHCP, solo se il server DHCP è ospitato nello stesso server di Servizi di distribuzione Windows. In questo caso, il client comunica direttamente con il server di Servizi di distribuzione Windows tramite TFTP sulla porta UDP 4011 anziché tramite DHCP. Questo metodo non è consigliato da Microsoft a causa di problemi con il bilanciamento del carico, la gestione errata delle opzioni DHCP e le opzioni di risposta di Servizi di distribuzione Windows sul lato client. E anche perché l'utilizzo di sole due opzioni DHCP 66 e 67 consente di ignorare i parametri impostati sul server di avvio di rete.
È inoltre necessario aprire le seguenti porte UDP sul server Servizi di distribuzione Windows
porta 67 (DHCP)
porta 69 (TFTP)
porta 4011 (PXE)
e la porta 68 se è richiesta l'autorizzazione DHCP sul server.
il caricamento andrà da un disco locale. E quando si specifica un valore specifico 0x00 dal disco floppy primario (primario), quando si specifica 0x80 dal disco rigido primario (primario). Modificando il comando in
localboot 0x80
il sistema operativo locale è stato caricato.
Se è necessario eseguire l'avvio da un disco, una partizione o un comando specifici localboot non funziona, puoi utilizzare le funzionalità del modulo chain.c32. Dopo averlo caricato, utilizzare il comando append per specificare un disco o una partizione del disco specifici, la numerazione del disco inizia da 0, la numerazione delle partizioni inizia da 1. se viene specificata la partizione 0, viene caricato l'MBR. Quando si specifica un disco, la partizione può essere omessa.
Ordine e descrizione del download dei file tramite PXE
Come accennato all'inizio dell'articolo, la directory in cui si trovano i file WDS per il download è contenuta nel valore del parametro RootFolder nel ramo del registro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valore predefinito C:RemoteInstall
Qui nel parametro ReadFilter vengono specificate le directory in cui il server TFTP cerca i file da scaricare, a partire dalla radice. Con SCCM 2012 SP1 installato, questa impostazione è
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*
Se si modifica il valore del parametro in * quindi verranno elaborati tutti i file che si trovano nella directory RemoteInstall.
Il ruolo del punto di distribuzione SCCM 2012 è specificato nel valore del Registro di sistema ProvidersOrdersituato nella filiale HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parametro ProvidersOrder può assumere valori
SMSPXE
Punto di servizio PXE in SCCM
Filtro SMS.PXE
Gestore di script PXE da MDT (Microsoft Deployment Toolkit)
BINLSVC
Motore WDS e RIS standard
Con SCCM installato, il parametro ProvidersOrder questioni SMSPXE. Modificando il parametro, è possibile modificare l'ordine in cui vengono caricati i provider.
Nel catalogo RemoteInstall si trovano i seguenti file standard
www.wdsnbp.com
Un programma di avvio di rete progettato per Servizi di distribuzione Windows che esegue le attività seguenti:
1. Rilevamento dell'architettura.
2. Manutenzione dei computer in attesa. Quando il criterio di aggiunta automatica è abilitato, questo programma di avvio di rete viene inviato ai computer in attesa per sospendere l'avvio di rete e informare il server dell'architettura del computer client.
3. Utilizzo dei collegamenti di avvio di rete (incluso l'utilizzo delle opzioni DHCP 66 e 67)
PXEboot.com
(Predefinito) Richiede all'utente di premere F12 per continuare l'avvio di rete
PXEboot.n12
Non richiede all'utente di premere il tasto F12 e avvia immediatamente l'avvio dalla rete
AbortPXE.com
Avvia il computer utilizzando l'elemento di avvio successivo nel BIOS senza attendere
bootmgr.exe
Gestore di avvio di Windows (Bootmgr.exe o Bootmgr.efi). Carica il bootloader di Windows utilizzando il firmware da una specifica partizione del disco o tramite una connessione di rete (in caso di avvio da rete)
Bootmgfw.efi
La versione EFI di PXEboot.com e PXEboot.n12 (in EFI, la scelta di avviare o non avviare PXE è nella shell EFI, non nel programma di avvio di rete). Bootmgfw.efi combina le funzionalità di PXEboot.com, PXEboot.n12, abortpxe.com e bootmgr.exe. Attualmente esiste solo per le architetture x64 e Itanium.
Predefinito.bcd
Boot Configuration Data Store (BCD), formato REGF, può essere caricato in REGEDIT, sostituisce il file di testo Boot.ini
Il caricamento avviene nel seguente ordine come descritto sopra
1. Carica wdsnbp.com.
2. Successivamente, viene caricato pxeboot.com dell'architettura appropriata
3. PXEBoot.com scarica bootmgr.exe e l'archivio dati di configurazione di avvio BCD
4. Bootmgr.exe legge le voci del sistema operativo dei dati di configurazione di avvio BCD e carica il file Boot.sdi e l'immagine Windows PE (boot.wim)
5. Bootmgr.exe avvia il caricamento di Windows PE accedendo a Winload.exe nell'immagine di Windows PE
Se l' RemoteInstall ci sono cartelle
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend
la loro presenza significa che prima di aggiungere il ruolo del punto di distribuzione in SCCM 2012 (punti di servizio PXE in SCCM 2007), era presente un'azione di configurazione sui servizi di distribuzione Windows (WDS) installati che creavano automaticamente queste cartelle.
Per il ruolo del punto di distribuzione (punto di servizio PXE in SCCM 2007), sono sufficienti solo le seguenti cartelle