Menú de inicio PXE con System Center Configuration Manager

Menú de inicio PXE con System Center Configuration Manager

Estamos considerando expandir las capacidades de System Center Configuration Manager (un producto para administrar la infraestructura de TI) al arrancar las PC de los usuarios a través de una red usando PXE. Creamos un menú de inicio basado en PXELinux con la funcionalidad de System Center y agregamos imágenes de escaneo, diagnóstico y recuperación antivirus. Al final del artículo, nos referimos a las funciones de System Center 2012 Configuration Manager junto con los Servicios de implementación de Windows (WDS) cuando se inicia a través de PXE.

Realizamos todas las acciones en un entorno de prueba que ya tiene instalado System Center 2012 Configuration Manager SP1, un controlador de dominio y varias máquinas de prueba. Se supone que SCCM ya se está implementando en la red mediante PXE.

Entrada

El entorno de prueba consta de varias máquinas virtuales. Todas las máquinas tienen instalado el sistema operativo invitado Microsoft Windows Server 2008 R2 (x64), adaptador de red E1000, controlador SCSI: LSI Logic SAS

Nombre (Funciones)
dirección IP / nombre DNS
Funcional

SCCM (Administrador de configuración del centro del sistema)
192.168.57.102
sccm2012.prueba.local

System Center Configuration Manager 2012 SP1 instalado

CC (ANUNCIO, DHCP, DNS)
192.168.57.10
dc1.prueba.local

El papel del controlador de dominio, el servidor DHCP y el servidor DNS

PRUEBA (Máquina de prueba)
192.168.57.103
prueba.prueba.local

Para las pruebas

GW (Puerta de enlace)
192.168.57.1
Enrutamiento entre redes. Función de puerta de enlace

1. Agregue PXELinux a SCCM

Realizamos acciones en la máquina donde está instalado System Center Configuration Manager

  • Determinemos el directorio donde se encuentran los archivos WDS para su descarga, para ello buscamos en el registro el valor del parámetro RootFolder en una rama HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Valor por defecto C:RemoteInstall
    Los archivos para descargar desde el punto de implementación SCCM se encuentran en los directorios smsbootx86 и smsbootx64 dependiendo de la arquitectura.
    Primero, configure un directorio para la arquitectura de 32 bits, de forma predeterminada c:Remoteinstallsmsbootx86
  • Descargue el archivo con la última syslinux . Copie de syslinux-5.01.zip a c:Remoteinstallsmsbootx86 los siguientes archivos:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Se necesitan archivos adicionales para evitar dicho error.
    Menú de inicio PXE con System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 rebautizar pxelinux.0 в pxelinux.com
    En carpeta c:remoteinstallsmsbootx86 Hacer una copia abortpxe.com y cambiarle el nombre a abortpxe.0
    Si no cambia el nombre a la extensión .0, entonces por ejemplo la instrucción

    Kernel abortpxe.com

    fallará con el siguiente error: Falló el kernel de arranque: número de archivo incorrecto
    Para PXELINUX, la extensión del archivo de descarga debe configurarse de acuerdo con la placa

    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]
    

    Fuente: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file sección “Archivo del núcleo”

  • Para no presionar la tecla F12 varias veces al cargar SCCM a través del menú, cambie el nombre de pxeboot.com a pxeboot.com.f12, copie pxeboot.n12 a pxeboot.com
    Si esto no se hace, al elegir, recibiremos ese mensaje cada vez
    Menú de inicio PXE con System Center Configuration Manager
    Nota: No olvide cambiar el nombre de estos archivos en la carpeta x64 también. cuando carga x86wdsnbp.com desde la carpeta x86, el cargador determina la arquitectura del procesador y el siguiente archivo se carga desde la carpeta con la arquitectura correspondiente. Por lo tanto, para x64, el archivo posterior no será x86pxeboot.comY x64pxeboot.com
  • Descargar / crear background.png, resolución 640x480, copiar en la misma carpeta. crear una carpeta ISO donde colocaremos imágenes ISO. crear una carpeta pxelinux.cfg para configuraciones
  • En la carpeta pxelinux.cfg, cree un archivo predeterminado, en una codificación que no sea Unicode, con el contenido
    predeterminado (Haga clic para mostrar)

    # используем графическое меню
    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

    En carpeta pxelinux.cfg crear un archivo graphics.conf con contenido
    graphics.conf (Haga clic para mostrar)

    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

    En carpeta pxelinux.cfg crear un archivo av.conf con contenido
    av.conf (Haga clic para mostrar)

    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
    
  • Como resultado, el directorio c:remoteinstallsmsbootx86 contiene la estructura

    c:instalación remotamsmsbootx86
    pxelinux.cfg

    cadena.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    background.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortarpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortopxe.com

    tu préstamo estudiantil
    av.conf
    gráficos.conf
    *.Yo asi

  • Para la arquitectura x64, copiamos y creamos de manera similar la misma estructura en la carpeta c:remoteinstallsmsbootx64

Adición
Al usar el comando menu PASSWD la contraseña se puede configurar tal cual o usar un algoritmo hash agregando la firma correspondiente al comienzo del parámetro

Algoritmo
Firma

MD5
$ $ 1

SHA-1
$ $ 4

SHA-2-256
$ $ 5

SHA-2-512
$ $ 6

Entonces para la contraseña Qwerty y algoritmo MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Puede generar una contraseña, por ejemplo, a través de un generador de hash en línea www.insidepro.com/hashes.php?lang=rus, línea MD5(Unix)

2. Configurar el arranque PXELinux

Ahora indicaremos cómo cargar pxelinux.com y obtener el menú.
Especificar el gestor de arranque pxelinux.com a través de la funcionalidad WDS no funciona en SCCM. Ver comandos

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

no son procesados. Puede verificar que las imágenes de arranque no estén configuradas ejecutando el comando de configuración del servidor WDS de salida

wdsutil /get-server /show:images

Menú de inicio PXE con System Center Configuration Manager
Por lo tanto, en SCCM 2012, no puede especificar su archivo para descargar PXE al proveedor de SMSPXE. Por tanto, configuraremos el área activa del servidor DHCP.
En los parámetros del área activa DHCP, configure los parámetros de acuerdo con la placa

Opción DHCP
Nombre del parametro
Valor

066
Nombre de host del servidor de arranque
sccm2012.prueba.local

067
Nombre del archivo de arranque
smsbootx86pxelinux.com

006
Servidores DNS
192.168.57.10

015
Nombre de dominio DNS
prueba.local

En la opción 066 especificamos el nombre FQDN del servidor sccm, en la opción 067 especificamos la ruta al gestor de arranque x86 pxelinux.com comenzando desde la raíz TFTP, en la opción 006 especificamos la dirección IP del servidor DNS. Si se usa un nombre de servidor corto en la opción 066, en la opción 015 especificamos el sufijo DNS del dominio.

Adición
Describió la configuración de DHCP con más detalle. mvgolubev aquí. pero en DC la opción 150, dirección IP del servidor TFTP, faltaba en la configuración del alcance de DHCP y especificar la opción 150 a través de netsh no funcionó.Menú de inicio PXE con System Center Configuration Manager

3. Comprobación del trabajo

La configuración básica está completa y puede comenzar a verificar. Indicamos en la computadora de prueba en el BIOS que se carga a través de la red y se carga en el menú
Menú de inicio PXE con System Center Configuration Manager

Elige un artículo «Start to SCCM» y si se asigna una secuencia de tareas a la computadora, luego de un tiempo aparecerá la ventana "Asistente de secuencia de tareas" que le pedirá que ingrese una contraseña
Menú de inicio PXE con System Center Configuration Manager

Reinicie la máquina, vuelva al menú, seleccione en el menú «Antivirus and tools» e ingrese la contraseña Qwerty
Menú de inicio PXE con System Center Configuration Manager

Seleccionamos un elemento arbitrario y observamos la carga de la imagen ISO en la memoria
Menú de inicio PXE con System Center Configuration Manager

Esperando y viendo el resultado
Menú de inicio PXE con System Center Configuration Manager

Verificación completada
Menú de inicio PXE con System Center Configuration Manager

4. Configuraciones y funciones adicionales

Configuración de enrutamiento

Si el cliente, el servidor DHCP y el servidor que contiene el cargador de red están en el mismo segmento de red, no se requiere configuración adicional. Sin embargo, si el cliente y el servidor DHCP o el servidor WDS/SCCM están ubicados en segmentos de red diferentes, se recomienda que configure sus enrutadores para reenviar paquetes de difusión desde el cliente al servidor DHCP activo y al servidor WDS/SCCM activo. En la literatura inglesa, este proceso se conoce como "actualizaciones de la tabla IP Helper". En este caso, el cliente, después de obtener una dirección IP, contacta directamente con el servidor que contiene el cargador de red a través de paquetes DHCP para descargar el cargador de red.
Para enrutadores Cisco, use el comando

ip helper-address {ip address}

donde {ip address} Servidor DHCP o dirección del servidor WDS/SCCM. Este comando también envía los siguientes paquetes de difusión UDP

El puerto
Protocolo

69
TFTP

53
Sistema de nombres de dominio (DNS)

37
servicio de tiempo

137
Servidor de nombres NetBIOS

138
Servidor de datagramas NetBIOS

67
Protocolo Bootstrap (BOOTP)

49
Tacacs

El segundo método para que el cliente obtenga información sobre el cargador de red directamente desde el servidor DHCP es especificar las opciones 60,66,67 en el servidor DHCP. Uso de la opción DHCP 60 con valor «PXEClient» a todos los ámbitos DHCP, solo si el servidor DHCP está alojado en el mismo servidor que los Servicios de implementación de Windows. En este caso, el cliente se comunica directamente con el servidor de Servicios de implementación de Windows mediante TFTP en el puerto UDP 4011 en lugar de utilizar DHCP. Microsoft no recomienda este método debido a problemas con el equilibrio de carga, el manejo incorrecto de las opciones de DHCP y las opciones de respuesta de los Servicios de implementación de Windows en el lado del cliente. Y también porque usar solo dos opciones DHCP 66 y 67 le permite omitir los parámetros establecidos en el servidor de arranque de red.
También debe abrir los siguientes puertos UDP en el servidor de Servicios de implementación de Windows
puerto 67 (DHCP)
puerto 69 (TFTP)
puerto 4011 (PXE)
y el puerto 68 si se requiere autorización DHCP en el servidor.

Más detalladamente, el proceso de configuración y los matices de redirección entre diferentes servidores WDS se describen a continuación en las fuentes:
Gestión del programa de arranque de red http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
administración del servidor http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Límites de soporte de los Servicios de soporte técnico de Microsoft (PSS) para el arranque en red Entorno de preinstalación de Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Cómo reenviar la transmisión UDP (BOOTP / DHCP) en Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Características de operación y configuración de DHCP en enrutadores Cisco (Parte 2) http://habrahabr.ru/post/89997/

Opciones adicionales para descarga local

En un entorno de prueba, el comando

localboot 0

da tal error
Menú de inicio PXE con System Center Configuration Manager
De la documentación de syslinux se deduce que cuando

localboot 0

la carga irá desde un disco local. Y al especificar un valor específico 0x00 del disquete primario (primario), al especificar 0x80 del disco duro primario (primario). Al cambiar el comando a

localboot 0x80

el sistema operativo local se ha cargado.
Si es necesario arrancar desde un disco, partición o comando específico localboot no funciona, entonces puede usar las capacidades del módulo chain.c32. Después de cargarlo, use el comando agregar para especificar un disco o partición de disco específico, la numeración de discos comienza desde 0, la numeración de particiones comienza desde 1. si se especifica la partición 0, se carga el MBR. Al especificar un disco, se puede omitir la partición.

KERNEL chain.c32
APPEND hd0 0

o

KERNEL chain.c32
APPEND hd0

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

Orden y descripción de la descarga de archivos a través de PXE

Como se mencionó al principio del artículo, el directorio donde se encuentran los archivos WDS para su descarga está contenido en el valor del parámetro RootFolder en la sucursal del registro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor por defecto C:RemoteInstall
Aquí en el parámetro ReadFilter Se especifican directorios donde el servidor TFTP busca archivos para descargar, comenzando desde la raíz. Con SCCM 2012 SP1 instalado, esta configuración es

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Si cambia el valor del parámetro a * entonces todos los archivos ubicados en el directorio serán procesados RemoteInstall.

El rol del punto de implementación de SCCM 2012 se especifica en el valor del registro ProvidersOrderubicado en la sucursal HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parámetro ProvidersOrder puede tomar valores

SMSPXE
Punto de servicio PXE en SCCM

SMS.PXE.Filtro
Controlador de secuencias de comandos PXE de MDT (Microsoft Deployment Toolkit)

BINLSVC
Motor estándar WDS y RIS

Con SCCM instalado, el parámetro ProvidersOrder asuntos SMSPXE. Al cambiar el parámetro, puede cambiar el orden en que se cargan los proveedores.

En el catálogo RemoteInstall los siguientes archivos estándar se encuentran

wdsnbp.com

Un programa de inicio de red diseñado para los Servicios de implementación de Windows que realiza las siguientes tareas:
1. Detección de arquitectura.
2. Mantenimiento de los ordenadores de espera. Cuando la política de agregar automáticamente está habilitada, este programa de inicio de red se envía a las computadoras en espera para suspender el inicio de red e informar al servidor de la arquitectura de la computadora cliente.
3. Uso de enlaces de inicio de red (incluido el uso de opciones de DHCP 66 y 67)

PXEboot.com

(Predeterminado) Requiere que el usuario presione F12 para continuar con el arranque de la red

PXEboot.n12

No requiere que el usuario presione la tecla F12 e inicia el arranque de la red inmediatamente

AbortarPXE.com

Arranca la computadora usando el siguiente elemento de arranque en el BIOS sin esperar

bootmgr.exe

Administrador de arranque de Windows (Bootmgr.exe o Bootmgr.efi). Carga el cargador de arranque de Windows utilizando el firmware de una partición de disco específica o a través de una conexión de red (en el caso de un arranque de red)

Bootmgfw.efi

La versión EFI de PXEboot.com y PXEboot.n12 (en EFI, la elección de iniciar o no iniciar PXE está en el shell EFI, no en el programa de inicio de red). Bootmgfw.efi combina las capacidades de PXEboot.com, PXEboot.n12, abortpxe.com y bootmgr.exe. Actualmente solo existe para arquitecturas x64 e Itanium.

Predeterminado.bcd

Almacén de datos de configuración de arranque (BCD), formato REGF, se puede cargar en REGEDIT, reemplaza el archivo de texto Boot.ini

La carga ocurre en el siguiente orden como se describe arriba
1. Descargue wdsnbp.com.
2. A continuación, se carga pxeboot.com de la arquitectura adecuada
3. PXEBoot.com descarga bootmgr.exe y el almacén de datos de configuración de arranque BCD
4. Bootmgr.exe lee las entradas del sistema operativo de datos de configuración de arranque BCD y carga el archivo Boot.sdi y la imagen de Windows PE (boot.wim)
5. Bootmgr.exe comienza a cargar Windows PE accediendo a Winload.exe en la imagen de Windows PE

Si el RemoteInstall hay carpetas

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

su presencia significa que antes de agregar la función de punto de distribución en SCCM 2012 (puntos de servicio PXE en SCCM 2007), hubo alguna acción de configuración en los Servicios de implementación de Windows (WDS) instalados que crearon automáticamente estas carpetas.
Para la función de punto de distribución (punto de servicio PXE en SCCM 2007), solo las siguientes carpetas son suficientes

SMSBoot
SMSIMAGES
SMSTemp
Stores

Esto no significa que SCCM esté instalado incorrectamente, pero puede señalar una posible fuente de errores.
La solución de varios problemas del paquete WDS, SCCM y PXE se analiza con gran detalle en el artículo. Solución de problemas del punto de servicio PXE y WDS en Configuration Manager 2007

Total

La infraestructura de TI administrada por System Center Configuration Manager ha agregado una nueva herramienta para los administradores de sistemas de campo.

Lista de enlaces a imágenes ISO (Click para mostrar)descargar.f-secure.com/estore/rescue-cd-3.16-52606.iso
git.ipxe.org/releases/wimboot/wimboot-latest.zip
descargar.geo.drweb.com/pub/drweb/livecd/drweb-livecd-602.iso
rescatedisk.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

Gracias por su atención!
Menú de inicio PXE con System Center Configuration Manager

Fuente: habr.com

Añadir un comentario