Menu di avvio PXE con System Center Configuration Manager

Menu di avvio PXE con System Center Configuration Manager

Esploriamo l'espansione delle capacità di System Center Configuration Manager (un prodotto per la gestione dell'infrastruttura IT) per l'avvio di computer utente tramite rete utilizzando PXE. Creiamo un menu di avvio basato su PXELinux con le funzionalità di System Center e aggiungiamo opzioni per la scansione antivirus, immagini di diagnostica e recupero. Alla fine dell'articolo, tocchiamo le peculiarità del lavoro di System Center 2012 Configuration Manager in collaborazione con Windows Deployment Services (WDS) per l'avvio tramite PXE.

Tutte le operazioni vengono eseguite in un ambiente di test, dove è già installato System Center 2012 Configuration Manager SP1, un controller di dominio e un certo numero di macchine di test. Si presume che in SCCM sia già in uso il deployment attraverso rete utilizzando PXE.

Introduzione

L'ambiente di test è composto da diverse macchine virtuali. Su tutte le macchine è installato il sistema operativo ospite Microsoft Windows Server 2008 R2 (x64), adattatore di rete E1000, Controller SCSI: LSI Logic SAS.

Nome (Ruoli)
Indirizzo IP/ Nome DNS
Funzionalità

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

Installato System Center Configuration Manager 2012 SP1

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

Ruolo di controller di dominio, server DHCP e server DNS

TEST (Macchina di test)
192.168.57.103
test.test.local

Per il test

GW (Gateway)
192.168.57.1
Routing tra reti. Ruolo del gateway.

1. Aggiungiamo PXELinux in SCCM

Le azioni vengono effettuate su una macchina dove è installato System Center Configuration Manager

  • Determiniamo la directory in cui si trovano i file WDS per il boot; per questo controlliamo nel registro il valore del parametro RootFolder nella chiave HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Valore predefinito C:RemoteInstall
    I file per il boot dal punto di distribuzione SCCM si trovano nelle directory smsbootx86 e smsbootx64 a seconda dell'architettura.
    Iniziamo configurando la directory per l'architettura a 32 bit, di default c:Remoteinstallsmsbootx86
  • Scarichiamo l'archivio con l'ultima versione syslinux . Copiamo da syslinux-5.01.zip i c:Remoteinstallsmsbootx86 seguenti file:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    File aggiuntivi sono necessari per evitare questo errore
    Menu di avvio PXE con System Center Configuration Manager
  • In c:Remoteinstallsmsbootx86 rinominiamo pxelinux.0 in pxelinux.com
    Nella cartella c:remoteinstallsmsbootx86 facciamo una copia di abortpxe.com e la rinominiamo in abortpxe.0
    Se non viene rinominato all'estensione .0, quindi ad esempio l'istruzione
    Kernel abortpxe.com

    verrà eseguita con errore: Booting kernel failed: Bad file number
    Per PXELINUX, l'estensione del file di boot deve essere impostata secondo la tabella

    nessuno o altro	Immagine del kernel Linux
     .0		Programma di avvio PXE (NBP) [solo PXELINUX]
     .bin		"Settore di avvio del CD" [solo ISOLINUX]
     .bs		Settore di avvio [solo SYSLINUX]
     .bss		Settore di avvio, il superblocco DOS sarà patchato [solo SYSLINUX]
     .c32		Immagine COM32 (COMBOOT a 32 bit)
     .cbt		Immagine COMBOOT (non eseguibile da DOS)
     .com		Immagine COMBOOT (eseguibile da DOS)
     .img		Immagine disco [solo ISOLINUX]
    

    Fonte: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file sezione “File kernel”

  • Per non dover premere più volte il tasto F12 durante il caricamento di SCCM dal menu, rinominiamo pxeboot.com in pxeboot.com.f12 e copiamo pxeboot.n12 in pxeboot.com
    Se non lo facciamo, ogni volta che selezioniamo otterremo questo messaggio
    Menu di avvio PXE con System Center Configuration Manager
    Nota: Non dimentichiamo di rinominare questi file anche nella cartella per x64 perché, quando si avvia x86wdsnbp.com dalla cartella x86, il caricatore determina l'architettura del processore e carica il file successivo dalla cartella con l'architettura corrispondente. Quindi per x64 il file successivo non sarà x86pxeboot.com, e x64pxeboot.com
  • Scarichiamo/creiamo background.png, con risoluzione 640x480, copiando nella stessa cartella. Creiamo la cartella ISO dove posizioneremo le immagini ISO. Creiamo la cartella pxelinux.cfg per le configurazioni.
  • Nella cartella pxelinux.cfg creiamo un file default, in codifica non Unicode, con il contenuto
    default (Clicca 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 creiamo un file graphics.conf con il contenuto
    graphics.conf (Clicca per visualizzare)

    MARGINE MENU 10
    RIGHE MENU 16
    MENU TABMSGROW 21
    MENU TIMEOUTROW 26
    MENU COLORE BORDO 30;44 #00000000 #00000000 nessuno
    MENU COLORE BARRA DI SCORRIMENTO 30;44 #00000000 #00000000 nessuno
    MENU COLORE TITOLO 0 #ffffffff #00000000 nessuno
    MENU COLORE SELEZIONE 30;47 #40000000 #20ffffff
    MENU SFONDO background.png
    NOESCAPE 0
    ALLOWOPTIONS 0

    Nella cartella pxelinux.cfg creiamo un file av.conf con il contenuto
    av.conf (Clicca per visualizzare)

    DEFAULT vesamenu.c32
    PROMPT 0
    TITOLO MENU Antivirus e strumenti
    MENU INCLUDI pxelinux.cfg/graphics.conf
    
    etichetta menu principale
    etichetta menu ritorna al menu principale
    kernel vesamenu.c32
    append pxelinux.cfg/default
    
    etichetta drweb
    etichetta menu DrWeb
    kernel memdisk
    append iso raw initrd=isodrweb.iso
    
    etichetta eset
    etichetta menu Eset
    kernel memdisk
    append iso raw initrd=isoeset_sysrescue.iso
    
    etichetta kav
    etichetta menu 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
    
    #Carichiamo ISO tramite il percorso completo, è possibile caricare da un altro TFTP
    etichetta winpe
    etichetta menu WinPE da un altro TFTP
    kernel sccm2012.test.local::smsbootx86memdisk
    append iso raw initrd=sccm2012.test.local::smsbootx86isoWinPE_RaSla.iso
    
    etichetta clonezilla
    etichetta menu Clonezilla
    kernel memdisk
    append iso raw initrd=isoclonezilla.iso
    
  • Alla fine, la cartella c:remoteinstallsmsbootx86 contiene la struttura

    c:remoteinstallsmsbootx86
    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

  • Per l'architettura x64 si copia in modo analogo e si crea la stessa struttura nella cartella c:remoteinstallsmsbootx64

Supplemento
Utilizzando il comando menu PASSWD la password può essere impostata sia così com'è, sia utilizzando un algoritmo di hashing, aggiungendo all'inizio del parametro la firma corrispondente

Algoritmo
Firma

MD5
$1$

SHA-1
$4$

SHA-2-256
$5$

SHA-2-512
$6$

Pertanto, per la password Qwerty e l'algoritmo MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

È possibile generare una password, ad esempio, tramite un generatore di hash online www.insidepro.com/hashes.php?lang=rus, stringa MD5(Unix)

2. Configuriamo il boot di PXELinux

Ora specifichiamo come caricare pxelinux.com e ottenere il menu.
La specifica del bootloader pxelinux.com tramite la funzionalità WDS non funziona in SCCM. I comandi come

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

non vengono elaborati. Assicurarsi che le immagini di avvio non siano impostate eseguendo il comando di output della configurazione del server WDS

wdsutil /get-server /show:images

Menu di avvio PXE con System Center Configuration Manager
Pertanto, in SCCM 2012 non è possibile specificare il proprio file di avvio tramite PXE per il fornitore SMSPXE. Perciò configureremo l'area attiva del server DHCP.
Nelle impostazioni dell'area attiva del DHCP impostiamo i parametri secondo la tabella

Opzione DHCP
Nome del parametro
Significato

066
Nome host del server di avvio
sccm2012.test.local

067
Nome del file di avvio
smsbootx86pxelinux.com

006
Server DNS
192.168.57.10

015
Nome di dominio DNS
test.local

Nell'opzione 066 indichiamo il nome FQDN del server SCCM, nell'opzione 067 specifichiamo il percorso del bootloader x86 pxelinux.com a partire dalla radice TFTP, nell'opzione 006 indichiamo l'indirizzo IP del server DNS. Se nell'opzione 066 viene utilizzato un nome breve del server, nell'opzione 015 indichiamo il suffisso DNS del dominio.

Supplemento
Ho descritto più nel dettaglio la configurazione DHCP mvgolubev qui. Ma sulla DC l'opzione 150, l'indirizzo IP del server TFTP, era assente nelle impostazioni dell'area DHCP e la specifica dell'opzione 150 tramite netsh non funzionava.Menu di avvio PXE con System Center Configuration Manager

3. Verifica del funzionamento

Le impostazioni principali sono concluse e possiamo procedere alla verifica. Indichiamo sul computer di test nel BIOS che deve avviarsi tramite rete e ci avviamo nel menu
Menu di avvio PXE con System Center Configuration Manager

Selezioniamo l'opzione «Start to SCCM» e se al computer è assegnata una sequenza di attività, dopo un po' apparirà la finestra «Master di creazione della sequenza di attività» con la richiesta di inserire la password
Menu di avvio PXE con System Center Configuration Manager

Riavviamo la macchina, accediamo di nuovo al menu, scegliamo nel menu «Antivirus and tools» e inseriamo la password Qwerty
Menu di avvio PXE con System Center Configuration Manager

Selezioniamo un'opzione a caso e osserviamo il caricamento dell'immagine ISO nella memoria
Menu di avvio PXE con System Center Configuration Manager

Attendiamo e osserviamo il risultato
Menu di avvio PXE con System Center Configuration Manager

Verifica completata
Menu di avvio PXE con System Center Configuration Manager

4. Impostazioni e caratteristiche aggiuntive

Configurazione del routing

Se il client, il server DHCP e il server che contiene il bootloader 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 in segmenti di rete diversi, è consigliabile configurare i router per la riassegnazione dei pacchetti di broadcast dal client al server DHCP attivo e al server WDS/SCCM attivo. In letteratura anglofona, questo processo è noto come "aggiornamenti della tabella IP Helper". In questo caso, il client, dopo aver ricevuto un indirizzo IP, si connette al server che contiene il bootloader di rete direttamente tramite pacchetti DHCP per scaricare il bootloader di rete.
Per i router Cisco si utilizza il comando

ip helper-address {ip address}

dove {ip address} indirizzo del server DHCP o del server WDS/SCCM. Utilizzando questo comando vengono anche inoltrati i seguenti pacchetti UDP di broadcast

Porto
Protocollo

69
TFTP

53
Domain Name System (DNS)

37
Servizio di time

137
NetBIOS Name Server

138
NetBIOS Datagram Server

67
Bootstrap Protocol (BOOTP)

49
TACACS

Il secondo metodo per ottenere informazioni sul bootloader di rete direttamente dal server DHCP da parte del client consiste nell'impostare le opzioni 60, 66, 67 sul server DHCP. L'uso del parametro DHCP 60 con il valore "PXEClient" in tutte le aree di applicazione DHCP, solo se il server DHCP è ospitato sullo stesso server delle funzionalità di distribuzione di Windows. In questo caso, il client si connette al server delle funzioni di distribuzione di Windows direttamente attraverso il protocollo TFTP via UDP sulla porta 4011, invece che tramite DHCP. Questo approccio non è consigliato da Microsoft a causa di problemi di bilanciamento del carico, elaborazione errata delle opzioni DHCP e delle risposte delle funzionalità di distribuzione di Windows sul lato client. Inoltre, l'uso delle sole due opzioni 66 e 67 DHCP consente di eludere le impostazioni definite sul server di avvio di rete.
È inoltre necessario aprire le seguenti porte UDP sul server delle funzionalità di distribuzione di Windows
porta 67 (DHCP)
porta 69 (TFTP)
porta 4011 (PXE)
e porta 68, se è necessaria l'autenticazione DHCP sul server.

Il processo di configurazione e i dettagli del reindirizzamento tra i vari server WDS sono descritti di seguito nelle risorse:
Gestione dei programmi di avvio di rete http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Gestione del server http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Microsoft Product Support Services (PSS) limiti di supporto per il boot di rete dell'ambiente di preinstallazione di Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Come inoltrare il broadcast UDP (BOOTP / DHCP) su Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Caratteristiche del funzionamento e della configurazione DHCP sui router Cisco (Parte 2) http://habrahabr.ru/post/89997/

Ulteriori opzioni di avvio locale

Nel ambiente di test, il team

localboot 0

riporta questo errore
Menu di avvio PXE con System Center Configuration Manager
Dalla documentazione di syslinux, si evince che

localboot 0

il caricamento avverrà dal disco locale. Specificando un valore concreto di 0x00 si avvierà dal floppy disk primario, mentre specificando 0x80 dal disco rigido primario. Modificando il comando in

localboot 0x80

il sistema operativo locale si è avviato.
Se è necessario avviare da un disco specifico, la partizione o il comando localboot non funziona, allora si possono utilizzare le funzionalità del modulo chain.c32. Dopo il suo caricamento, con il comando append si specifica il disco o la partizione del disco, la numerazione dei dischi inizia da 0, la numerazione delle partizioni da 1, in quanto specificando la partizione 0 si carica il MBR. Se si specifica il disco, la partizione può non essere indicata.

KERNEL chain.c32
APPEND hd0 0

o

KERNEL chain.c32
APPEND hd0

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

L'ordine e la descrizione del caricamento dei file tramite PXE

Come già accennato all'inizio dell'articolo, la cartella in cui si trovano i file WDS per l'avvio è contenuta nel valore del parametro RootFolder nel ramo del registro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valore predefinito C:RemoteInstall
Qui, nel parametro ReadFilter sono indicati i cataloghi in cui il server TFTP cerca i file per l'avvio, partendo dalla radice. Con SCCM 2012 SP1 installato, questo parametro è

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Se si modifica il valore del parametro in * tutti i file presenti nella directory verranno elaborati RemoteInstall.

Il ruolo del punto di distribuzione SCCM 2012 è specificato nel parametro del registro ProvidersOrder, situato nel ramo HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Caratteristica ProvidersOrder può assumere i valori

SMSPXE
punto di servizio PXE in SCCM

SMS.PXE.Filter
Gestore PXE degli script MDT (Microsoft Deployment Toolkit)

BINLSVC
Gestore standard WDS e RIS

Con SCCM installato, il parametro ProvidersOrder ha importanza SMSPXE. Modificando il parametro, è possibile cambiare l'ordine di avvio dei provider.

Nella directory RemoteInstall i seguenti file standard sono presenti

wdsnbp.com

Programma di avvio della rete, progettato per servizi di distribuzione Windows, eseguendo le seguenti funzioni:
1. Rilevamento dell'architettura.
2. Gestione dei computer in attesa. Quando è attivata la politica di aggiunta automatica, questo programma di avvio della rete viene inviato ai computer in attesa per sospendere l'avvio di rete e comunicare al server l'architettura del computer client.
3. Uso dei riferimenti per l'avvio della rete (incluso l'uso dei parametri 66 e 67 del protocollo DHCP)

PXEboot.com

(Di default) Richiede che l'utente prema il tasto F12 per continuare l'avvio di rete

PXEboot.n12

Non richiede la pressione del tasto F12 da parte dell'utente e inizia immediatamente il caricamento di rete

AbortPXE.com

Avvia il computer utilizzando il seguente elemento di avvio nel BIOS senza attese

Bootmgr.exe

Gestore di avvio di Windows (Bootmgr.exe o Bootmgr.efi). Avvia utilizzando il firmware per caricare Windows da una partizione del disco o tramite una connessione di rete (in caso di avvio di rete)

Bootmgfw.efi

Versione EFI dei programmi PXEboot.com e PXEboot.n12 (in EFI, la scelta di avviare o meno PXE avviene nell'interfaccia EFI e non dal programma di avvio di rete). Il programma Bootmgfw.efi unisce le funzionalità di PXEboot.com, PXEboot.n12, abortpxe.com e bootmgr.exe. Al momento è disponibile solo per le architetture x64 e Itanium

Default.bcd

Magazzino dati di configurazione di avvio (BCD), formato REGF, può essere caricato in REGEDIT, sostituisce il file di testo Boot.ini

Il caricamento avviene nell'ordine seguente in base alla descrizione sopra
1. Viene caricato wdsnbp.com.
2. Successivamente viene caricato pxeboot.com corrispondente all'architettura
3. PXEBoot.com carica bootmgr.exe e il magazzino dati di configurazione di avvio BCD
4. Bootmgr.exe legge le voci di configurazione dell'avvio del sistema operativo nel BCD e carica il file Boot.sdi e l'immagine Windows PE (boot.wim)
5. Bootmgr.exe inizia il caricamento di Windows PE, richiamando Winload.exe nell'immagine Windows PE

Se ci sono RemoteInstall cartelle

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

la loro presenza indica che è stata eseguita qualche azione di configurazione dei Windows Deployment Services (WDS) installati prima di aggiungere il ruolo di punto di distribuzione in SCCM 2012 (punto di servizio PXE in SCCM 2007), che ha portato alla creazione automatica di queste cartelle.
Per il ruolo di punto di distribuzione (punto di servizio PXE in SCCM 2007) è sufficiente solo le seguenti cartelle

SMSBoot
SMSIMAGES
SMSTemp
Stores

Questo non significa che SCCM sia installato in modo errato, ma può indicare una possibile fonte di errori.
La risoluzione di vari problemi relativi all'integrazione di WDS, SCCM e PXE è trattata in modo dettagliato nell'articolo Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

Risultato

Nell'infrastruttura IT gestita da System Center Configuration Manager è stato aggiunto un nuovo strumento per il lavoro degli amministratori di sistema sul campo.

Elenco di link alle immagini ISO (Clicca per visualizzare)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

Grazie per l'attenzione!
Menu di avvio PXE con System Center Configuration Manager

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster