Menú de inicio PXE con System Center Configuration Manager
Estamos considerando ampliar as capacidades de System Center Configuration Manager (un produto para xestionar a infraestrutura de TI) ao iniciar os ordenadores dos usuarios a través dunha rede mediante PXE. Creamos un menú de inicio baseado en PXELinux coa funcionalidade do System Center e engadimos imaxes de dixitalización antivirus, diagnóstico e recuperación. Ao final do artigo, tocamos as funcións de System Center 2012 Configuration Manager xunto cos servizos de implementación de Windows (WDS) ao iniciar a través de PXE.
Realizamos todas as accións nun ambiente de proba que xa ten instalado System Center 2012 Configuration Manager SP1, un controlador de dominio e unha serie de máquinas de proba. Suponse que SCCM xa se está implantando na rede mediante PXE.
Entrada
O ambiente de proba consta de varias máquinas virtuais. Todas as máquinas teñen instalado o sistema operativo invitado Microsoft Windows Server 2008 R2 (x64), adaptador de rede E1000, controlador SCSI: LSI Logic SAS
Nome (Papeis)
Enderezo IP / nome DNS
Funcional
SCCM (Xestor de configuración do centro do sistema)
192.168.57.102
sccm2012.proba.local
Instalouse System Center Configuration Manager 2012 SP1
DC (AD,DHCP,DNS)
192.168.57.10
dc1.proba.local
O papel do controlador de dominio, servidor DHCP e servidor DNS
TEST (Máquina de proba)
192.168.57.103
proba.proba.local
Para probas
G.W. (Porta de enlace)
192.168.57.1
Enrutamento entre redes. Papel de pasarela
1. Engade PXELinux a SCCM
Realizamos accións na máquina onde está instalado System Center Configuration Manager
Determinemos o directorio onde se atopan os ficheiros WDS para descargar, para iso buscamos no rexistro o valor do parámetro RootFolder nunha rama HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor predeterminado C:RemoteInstall
Os ficheiros para descargar desde o punto de implantación de SCCM atópanse nos directorios smsbootx86 и smsbootx64 dependendo da arquitectura.
Primeiro, configure un directorio para a arquitectura de 32 bits, por defecto c:Remoteinstallsmsbootx86
Descarga o arquivo coa última versión syslinux . Copia de syslinux-5.01.zip a c:Remoteinstallsmsbootx86 os seguintes ficheiros: memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Son necesarios ficheiros adicionais para evitar tal erro.
В c:Remoteinstallsmsbootx86 renomear pxelinux.0 в pxelinux.com
No cartafol c:remoteinstallsmsbootx86 facer unha copia abortpxe.com e renomealo a abortpxe.0
Se non, cambia o nome á extensión .0, entón por exemplo a instrución
Kernel abortpxe.com
fallará co seguinte erro: Fallou o inicio do núcleo: número de ficheiro incorrecto
Para PXELINUX, a extensión do ficheiro de descarga debe establecerse segundo a 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]
Para non premer a tecla F12 varias veces ao cargar SCCM a través do menú, cambie o nome de pxeboot.com a pxeboot.com.f12, copie pxeboot.n12 a pxeboot.com
Se isto non se fai, ao elixir, recibiremos esa mensaxe cada vez Nota: Non esqueza cambiar o nome destes ficheiros tamén no cartafol x64. cando se carga x86wdsnbp.com dende o cartafol x86, o cargador determina a arquitectura do procesador e o seguinte ficheiro cárgase dende o cartafol coa arquitectura correspondente. Así, para x64, o ficheiro posterior non será x86pxeboot.comE x64pxeboot.com
Descargar / crear fondo.png, resolución 640x480, copia no mesmo cartafol. Crear un cartafol ISO onde colocaremos imaxes ISO. Crear un cartafol pxelinux.cfg para as configuracións.
No cartafol pxelinux.cfg, cree un ficheiro predeterminado, nunha codificación non Unicode, co contido predeterminado (faga 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
No cartafol pxelinux.cfg crear un ficheiro graphics.conf con contido graphics.conf (Prema 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
No cartafol pxelinux.cfg crear un ficheiro av.conf con contido av.conf (Prema 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, o directorio c:remoteinstallsmsbootx86 contén a estrutura
Para a arquitectura x64, copiamos e creamos a mesma estrutura no cartafol c:remoteinstallsmsbootx64
Adición
Cando se usa o comando menu PASSWD o contrasinal pódese establecer como está ou usar un algoritmo de hash engadindo a sinatura correspondente ao principio do parámetro
Algoritmo
Sinatura
MD5
$1
SHA-1
$4
SHA-2-256
$5
SHA-2-512
$6
Entón, para contrasinal Qwerty e algoritmo MD5
menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
Pode xerar un contrasinal, por exemplo, a través dun xerador de hash en liña www.insidepro.com/hashes.php?lang=rus, liña MD5(Unix)
2. Configure o inicio de PXELinux
Agora indicaremos como cargar pxelinux.com e obter o menú.
Especificar o cargador de arranque pxelinux.com mediante a funcionalidade WDS non funciona en SCCM. Ver comandos
non se procesan. Pode verificar que as imaxes de arranque non están configuradas executando o comando de configuración do servidor WDS de saída
wdsutil /get-server /show:images
Polo tanto, en SCCM 2012, non pode especificar o seu ficheiro para descargar PXE ao provedor SMSPXE. Polo tanto, configuraremos a área activa do servidor DHCP.
Nos parámetros da área activa DHCP, configure os parámetros segundo a placa
opción DHCP
Nome do parámetro
Valor
066
Nome de host do servidor de arranque
sccm2012.proba.local
067
Nome do ficheiro de arranque
smsbootx86pxelinux.com
006
Servidores DNS
192.168.57.10
015
Nome de dominio DNS
proba.local
Na opción 066 especificamos o nome FQDN do servidor sccm, na opción 067 especificamos o camiño ao bootloader x86 pxelinux.com partindo da raíz TFTP, na opción 006 especificamos o enderezo IP do servidor DNS. Se se usa un nome de servidor curto na opción 066, na opción 015 especificamos o sufixo DNS do dominio.
Adición
Describiuse a configuración DHCP con máis detalle mvgolubevaquí. Pero adiante DC a opción 150, o enderezo IP do servidor TFTP, faltaba na configuración do ámbito de DHCP e especificar a opción 150 a través de netsh non funcionou.
3. Comprobación do traballo
Completáronse as configuracións básicas e podes comezar a verificar. Indicamos no ordenador de proba na BIOS que se carga a través da rede e se carga no menú
Escolla un elemento «Start to SCCM» e se se asigna unha secuencia de tarefas ao ordenador, despois dun tempo aparecerá a xanela "Asistente de secuencias de tarefas" solicitándolle que introduza un contrasinal
Reinicie a máquina, volva ao menú, seleccione no menú «Antivirus and tools» e introduza o contrasinal Qwerty
Seleccionamos un elemento arbitrario e observamos a carga da imaxe ISO na memoria
Agardando e vendo o resultado
Verificación completada
4. Configuración e funcións adicionais
Configuración do enrutamento
Se o cliente, o servidor DHCP e o servidor que contén o cargador de rede están no mesmo segmento de rede, non se precisa ningunha configuración adicional. Non obstante, se o cliente e o servidor DHCP ou o servidor WDS/SCCM están situados en segmentos de rede diferentes, recoméndase que configure os seus enrutadores para reenviar paquetes de difusión do cliente ao servidor DHCP activo e ao servidor WDS/SCCM activo. Na literatura inglesa, este proceso coñécese como "actualizacións da táboa IP Helper". Neste caso, o cliente, despois de obter un enderezo IP, contacta co servidor que contén o cargador de rede directamente a través de paquetes DHCP para descargar o cargador de rede.
Para os enrutadores Cisco, use o comando
ip helper-address {ip address}
onde {ip address} Servidor DHCP ou enderezo do servidor WDS/SCCM. Este comando tamén envía os seguintes paquetes de difusión UDP
Porto
Protocolo
69
TFTP
53
Sistema de nomes de dominio (DNS)
37
Servizo horario
137
Servidor de nomes NetBIOS
138
Servidor de datagramas NetBIOS
67
Protocolo de arranque (BOOTP)
49
TACACS
O segundo método para que o cliente obteña información sobre o cargador de rede directamente do servidor DHCP é especificar as opcións 60,66,67 no servidor DHCP. Usando a opción DHCP 60 con valor «PXEClient» a todos os ámbitos DHCP, só se o servidor DHCP está aloxado no mesmo servidor que os servizos de implementación de Windows. Neste caso, o cliente comunícase directamente co servidor de Windows Deployment Services mediante TFTP no porto UDP 4011 en lugar de usar DHCP. Este método non é recomendado por Microsoft debido a problemas co equilibrio de carga, o manexo incorrecto das opcións de DHCP e as opcións de resposta de Windows Deployment Services no lado do cliente. E tamén porque usar só dúas opcións DHCP 66 e 67 permítelle ignorar os parámetros establecidos no servidor de arranque da rede.
Tamén cómpre abrir os seguintes portos UDP no servidor de Windows Deployment Services
porto 67 (DHCP)
porto 69 (TFTP)
porto 4011 (PXE)
e o porto 68 se é necesaria a autorización DHCP no servidor.
Da documentación de syslinux despréndese que cando
localboot 0
a carga irá desde un disco local. E ao especificar un valor específico 0x00 desde o disquete primario (primario), ao especificar 0x80 desde o disco duro primario (primario). Cambiando o comando a
localboot 0x80
cargouse o sistema operativo local.
Se hai que iniciar desde un disco, partición ou comando específico localboot non funciona, entón podes usar as capacidades do módulo chain.c32. Despois de cargalo, use o comando append para especificar un disco ou partición de disco específico, a numeración do disco comeza a partir de 0, a numeración das particións comeza a partir de 1. se se especifica a partición 0, cárgase o MBR. Ao especificar un disco, pódese omitir a partición.
Orde e descrición da descarga de ficheiros mediante PXE
Como se mencionou ao comezo do artigo, o directorio onde se atopan os ficheiros WDS para descargar está contido no valor do parámetro RootFolder na sucursal de rexistro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor predeterminado C:RemoteInstall
Aquí no parámetro ReadFilter especifícanse os directorios onde o servidor TFTP busca ficheiros para descargar, comezando dende a raíz. Con SCCM 2012 SP1 instalado, esta configuración é
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*
Se cambia o valor do parámetro a * entón todos os ficheiros localizados no directorio serán procesados RemoteInstall.
O rol do punto de despregamento de SCCM 2012 especifícase no valor do rexistro ProvidersOrdersituado na sucursal HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parámetro ProvidersOrder pode tomar valores
SMSPXE
Punto de servizo PXE en SCCM
SMS.PXE.Filtro
Manexador de scripts PXE de MDT (Microsoft Deployment Toolkit)
BINLSVC
Motor estándar WDS e RIS
Con SCCM instalado, o parámetro ProvidersOrder asuntos SMSPXE. Ao cambiar o parámetro, pode cambiar a orde na que se cargan os provedores.
En catálogo RemoteInstall localízanse os seguintes ficheiros estándar
wdsnbp.com
Un programa de inicio de rede deseñado para Windows Deployment Services que realiza as seguintes tarefas:
1. Detección de arquitectura.
2. Mantemento dos ordenadores de espera. Cando a política de engadido automático está activada, este programa de inicio de rede envíase aos ordenadores en espera para suspender o inicio da rede e informar ao servidor da arquitectura do ordenador cliente.
3. Usando ligazóns de inicio de rede (incluído o uso das opcións DHCP 66 e 67)
PXEboot.com
(Predeterminado) Require que o usuario prema F12 para continuar o inicio da rede
PXEboot.n12
Non require que o usuario prema a tecla F12 e inicia o inicio da rede inmediatamente
AbortPXE.com
Arranca o ordenador usando o seguinte elemento de inicio da BIOS sen esperar
bootmgr.exe
Xestor de arranque de Windows (Bootmgr.exe ou Bootmgr.efi). Carga o cargador de arranque de Windows usando firmware desde unha partición de disco específica ou a través dunha conexión de rede (no caso de arranque de rede)
Bootmgfw.efi
A versión EFI de PXEboot.com e PXEboot.n12 (en EFI, a opción de arrincar ou non PXE está no shell EFI, non no programa de inicio da rede). Bootmgfw.efi combina as capacidades de PXEboot.com, PXEboot.n12, abortpxe.com e bootmgr.exe. Actualmente só existe para arquitecturas x64 e Itanium.
Predeterminado.bcd
Boot Configuration Data Store (BCD), formato REGF, pódese cargar en REGEDIT, substitúe o ficheiro de texto Boot.ini
A carga prodúcese na seguinte orde como se describe anteriormente
1. Descarga wdsnbp.com.
2. A continuación, cárgase pxeboot.com da arquitectura adecuada
3. PXEBoot.com descarga bootmgr.exe e o almacén de datos de configuración de arranque BCD
4. Bootmgr.exe le as entradas do sistema operativo dos datos de configuración de arranque BCD e carga o ficheiro Boot.sdi e a imaxe de Windows PE (boot.wim)
5. Bootmgr.exe comeza a cargar Windows PE accedendo a Winload.exe na imaxe de Windows PE
O RemoteInstall hai cartafoles
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend
a súa presenza significa que antes de engadir o rol de punto de distribución en SCCM 2012 (puntos de servizo PXE en SCCM 2007), houbo algunha acción de configuración nos Servizos de implementación de Windows (WDS) instalados que crearon automaticamente estes cartafoles.
Para o rol de punto de distribución (punto de servizo PXE en SCCM 2007), só son suficientes os seguintes cartafoles