Menu di avvio PXE con System Center Configuration Manager

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.
    Menu di avvio PXE con System Center Configuration Manager
  • В 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]
    

    Fonte: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file Sezione del file del kernel

  • 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
    Menu di avvio PXE con System Center Configuration Manager
    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

    c:remoteinstallsmsbootx86
    pixelinux.cfg

    catena.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pixelinux.com
    background.png
    pixelinux.cfg
    pixelinux.cfg
    pixelinux.cfg
    ISO
    abortpxe.0
    www.wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortpxe.com

    difetto
    av.conf
    graphics.conf
    *.iso

  • 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

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

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

Menu di avvio PXE con System Center Configuration Manager
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 mvgolubev qui. 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.Menu di avvio PXE con System Center Configuration Manager

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
Menu di avvio PXE con System Center Configuration Manager

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
Menu di avvio PXE con System Center Configuration Manager

Riavvia la macchina, torna al menu, seleziona nel menu «Antivirus and tools» e inserisci la password Qwerty
Menu di avvio PXE con System Center Configuration Manager

Selezioniamo un elemento arbitrario e osserviamo il caricamento dell'immagine ISO in memoria
Menu di avvio PXE con System Center Configuration Manager

Aspettando e vedendo 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 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.

Più in dettaglio, il processo di configurazione e le sfumature del reindirizzamento tra diversi server WDS sono descritti di seguito nelle fonti:
Gestione del programma di avvio di rete http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Gestione server http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Limiti del supporto di Microsoft Product Support Services (PSS) per l'avvio dalla rete Ambiente preinstallazione di Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Come inoltrare la trasmissione UDP (BOOTP / DHCP) su Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Caratteristiche di funzionamento e configurazione di DHCP sui router Cisco (Parte 2) http://habrahabr.ru/post/89997/

Opzioni aggiuntive per il download locale

In un ambiente di test, il comando

localboot 0

dà un tale errore
Menu di avvio PXE con System Center Configuration Manager
Dalla documentazione di syslinux risulta che when

localboot 0

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.

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

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

SMSBoot
SMSIMAGES
SMSTemp
Stores

Ciò non significa che SCCM sia installato in modo errato, ma potrebbe indicare una possibile fonte di errori.
La soluzione di vari problemi del pacchetto WDS, SCCM e PXE è discussa in dettaglio nell'articolo. Risoluzione dei problemi del punto di servizio PXE e WDS in Configuration Manager 2007

risultato

L'infrastruttura IT gestita da System Center Configuration Manager ha aggiunto un nuovo strumento per gli amministratori di sistema sul campo.

Elenco dei collegamenti alle immagini ISO (fare clic 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.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

Grazie!
Menu di avvio PXE con System Center Configuration Manager

Fonte: habr.com

Aggiungi un commento