Menu de inicialização PXE com o System Center Configuration Manager

Menu de inicialização PXE com o System Center Configuration Manager

Estamos considerando expandir os recursos do System Center Configuration Manager (um produto para gerenciamento de infraestrutura de TI) ao inicializar PCs de usuários em uma rede usando PXE. Criamos um menu de inicialização baseado em PXELinux com funcionalidade System Center e adicionamos varredura antivírus, imagens de diagnóstico e recuperação. No final do artigo, abordamos os recursos do System Center 2012 Configuration Manager em conjunto com o Windows Deployment Services (WDS) ao inicializar via PXE.

Executamos todas as ações em um ambiente de teste que já possui o System Center 2012 Configuration Manager SP1 instalado, um controlador de domínio e várias máquinas de teste. Presume-se que o SCCM já esteja sendo implantado na rede usando PXE.

Entrada

O ambiente de teste consiste em várias máquinas virtuais. Todas as máquinas têm sistema operacional convidado Microsoft Windows Server 2008 R2 (x64) instalado, adaptador de rede E1000, controlador SCSI: LSI Logic SAS

Nome (Funções)
Endereço IP / nome DNS
funcional

SCCM (gerenciador de configuração do System Center)
192.168.57.102
sccm2012.test.local

System Center Configuration Manager 2012 SP1 instalado

CC (AD, DHCP, DNS)
192.168.57.10
dc1.teste.local

A função do controlador de domínio, servidor DHCP e servidor DNS

TESTE (máquina de teste)
192.168.57.103
teste.teste.local

Para teste

GW (gateway)
192.168.57.1
Roteamento entre redes. Função de gateway

1. Adicione o PXELinux ao SCCM

Executamos ações na máquina onde o System Center Configuration Manager está instalado

  • Vamos determinar o diretório onde os arquivos WDS estão localizados para download, para isso procuramos no registro o valor do parâmetro RootFolder no ramo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Valor padrão C:RemoteInstall
    Os arquivos para download do ponto de implantação do SCCM estão localizados nos diretórios smsbootx86 и smsbootx64 dependendo da arquitetura.
    Primeiro, configure um diretório para arquitetura de 32 bits, por padrão c:Remoteinstallsmsbootx86
  • Baixe o arquivo com as últimas syslinux . Copie de syslinux-5.01.zip para c:Remoteinstallsmsbootx86 os seguintes arquivos:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Arquivos adicionais são necessários para evitar esse erro.
    Menu de inicialização PXE com o System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 renomear pxelinux.0 в pxelinux.com
    Na pasta c:remoteinstallsmsbootx86 faça uma cópia abortpxe.com e renomeie-o para abortpxe.0
    Se não renomear para extensão .0, então, por exemplo, a instrução

    Kernel abortpxe.com

    falhará com o seguinte erro: Booting kernel failed: Bad file number
    Para PXELINUX, a extensão do arquivo de download deve ser definida de acordo com 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]
    

    Fonte: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file seção “Arquivo de kernel”

  • Para não pressionar a tecla F12 várias vezes ao carregar o SCCM pelo menu, renomeie pxeboot.com para pxeboot.com.f12, copie pxeboot.n12 para pxeboot.com
    Se isso não for feito, ao escolher, receberemos essa mensagem todas as vezes
    Menu de inicialização PXE com o System Center Configuration Manager
    Nota: Não se esqueça de renomear esses arquivos na pasta x64 também. quando carrega x86wdsnbp.com da pasta x86, o carregador determina a arquitetura do processador e o próximo arquivo é carregado da pasta com a arquitetura correspondente. Assim, para x64, o arquivo subseqüente não será x86pxeboot.comE x64pxeboot.com
  • Baixar / criar plano de fundo.png, resolução 640x480, copie para a mesma pasta. Criar uma pasta ISO onde colocaremos as imagens ISO. Criar uma pasta pxelinux.cfg para configurações.
  • Na pasta pxelinux.cfg, crie um arquivo padrão, em codificação não unicode, com o conteúdo
    padrão (Clique para exibir)

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

    Na pasta pxelinux.cfg criar um arquivo graphics.conf com conteúdo
    graphics.conf (Clique para exibir)

    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

    Na pasta pxelinux.cfg criar um arquivo av.conf com conteúdo
    av.conf (Clique para exibir)

    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 diretório c:remoteinstallsmsbootx86 contém a estrutura

    c:instalações remotasmsbootx86
    pxelinux.cfg

    cadeia.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    plano de fundo.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortarpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot. com
    abortpxe.com

    omissão
    av.conf
    gráficos.conf
    *.iso

  • Para a arquitetura x64, copiamos e criamos da mesma forma a mesma estrutura na pasta c:remoteinstallsmsbootx64

Adição
Ao usar o comando menu PASSWD a senha pode ser definida como está ou usar um algoritmo de hash adicionando a assinatura correspondente no início do parâmetro

Algoritmo
Assinatura

MD5
$ $ 1

SHA-1
$ $ 4

SHA-2-256
$ $ 5

SHA-2-512
$ $ 6

Então, para senha Qwerty e algoritmo MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Você pode gerar uma senha, por exemplo, através de um gerador de hash online www.insidepro.com/hashes.php?lang=rus, linha MD5(Unix)

2. Configure a inicialização do PXELinux

Agora vamos indicar como carregar pxelinux.com e obter o menu.
A especificação do carregador de inicialização pxelinux.com por meio da funcionalidade WDS não funciona no SCCM. Exibir Comandos

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

não são processados. Você pode verificar se as imagens de inicialização não estão definidas executando o comando output WDS server configuration

wdsutil /get-server /show:images

Menu de inicialização PXE com o System Center Configuration Manager
Portanto, no SCCM 2012, você não pode especificar seu arquivo para download PXE para o provedor SMSPXE. Portanto, configuraremos a área ativa do servidor DHCP.
Nos parâmetros da área ativa do DHCP, defina os parâmetros de acordo com a placa

Opção DHCP
Nome do parâmetro
Valor

066
Nome do host do servidor de inicialização
sccm2012.test.local

067
Nome do arquivo de inicialização
smsbootx86pxelinux.com

006
Servidores DNS
192.168.57.10

015
Nome de domínio DNS
teste.local

Na opção 066 especificamos o nome FQDN do servidor sccm, na opção 067 especificamos o caminho para o bootloader x86 pxelinux.com a partir da raiz TFTP, na opção 006 especificamos o endereço IP do servidor DNS. Se um nome de servidor curto for usado na opção 066, na opção 015 especificamos o sufixo DNS do domínio.

Adição
Descreveu a configuração do DHCP com mais detalhes mvgolubev aqui. Mas em DC a opção 150, endereço IP do servidor TFTP, estava ausente nas configurações do escopo DHCP e a especificação da opção 150 via netsh não funcionou.Menu de inicialização PXE com o System Center Configuration Manager

3. Verificando o trabalho

As configurações básicas estão concluídas e você pode começar a verificar. Indicamos no computador de teste no BIOS que ele é carregado na rede e carregado no menu
Menu de inicialização PXE com o System Center Configuration Manager

Escolha um item «Start to SCCM» e se uma sequência de tarefas for atribuída ao computador, depois de um tempo a janela "Assistente de Sequência de Tarefas" aparecerá solicitando que você insira uma senha
Menu de inicialização PXE com o System Center Configuration Manager

Reinicie a máquina, volte ao menu, selecione no menu «Antivirus and tools» e digite a senha Qwerty
Menu de inicialização PXE com o System Center Configuration Manager

Selecionamos um item arbitrário e observamos o carregamento da imagem ISO na memória
Menu de inicialização PXE com o System Center Configuration Manager

Esperando e vendo o resultado
Menu de inicialização PXE com o System Center Configuration Manager

Verificação concluída
Menu de inicialização PXE com o System Center Configuration Manager

4. Configurações e recursos adicionais

Configuração de roteamento

Se o cliente, o servidor DHCP e o servidor que contém o carregador de rede estiverem no mesmo segmento de rede, nenhuma configuração adicional será necessária. No entanto, se o cliente e o servidor DHCP ou servidor WDS/SCCM estiverem localizados em segmentos de rede diferentes, é recomendável configurar seus roteadores para encaminhar pacotes de transmissão do cliente para o servidor DHCP ativo e o servidor WDS/SCCM ativo. Na literatura inglesa, esse processo é conhecido como "atualizações da tabela IP Helper". Nesse caso, o cliente, após obter um endereço IP, contata o servidor que contém o carregador de rede diretamente por meio de pacotes DHCP para fazer o download do carregador de rede.
Para roteadores Cisco, use o comando

ip helper-address {ip address}

onde {ip address} Servidor DHCP ou endereço do servidor WDS/SCCM. Este comando também envia os seguintes pacotes de transmissão UDP

Porto
Protocolo

69
TFTP

53
Sistema de nomes de domínio (DNS)

37
Serviço de tempo

137
Servidor de nomes NetBIOS

138
Servidor de Datagrama NetBIOS

67
Protocolo Bootstrap (BOOTP)

49
Tacacs

O segundo método para o cliente obter informações sobre o carregador de rede diretamente do servidor DHCP é especificar as opções 60,66,67 no servidor DHCP. Usando a opção DHCP 60 com valor «PXEClient» a todos os escopos DHCP, somente se o servidor DHCP estiver hospedado no mesmo servidor que os Serviços de Implantação do Windows. Nesse caso, o cliente se comunica diretamente com o servidor Windows Deployment Services usando TFTP na porta UDP 4011 em vez de usar DHCP. Este método não é recomendado pela Microsoft devido a problemas com balanceamento de carga, manipulação incorreta de opções DHCP e opções de resposta dos Serviços de Implantação do Windows no lado do cliente. E também porque usar apenas duas opções de DHCP 66 e 67 permite ignorar os parâmetros definidos no servidor de inicialização da rede.
Você também precisa abrir as seguintes portas UDP no servidor Windows Deployment Services
porta 67 (DHCP)
porta 69 (TFTP)
porta 4011 (PXE)
e a porta 68 se a autorização DHCP for necessária no servidor.

Mais detalhadamente, o processo de configuração e as nuances de redirecionamento entre diferentes servidores WDS são descritos abaixo nas fontes:
Gerenciamento do programa de inicialização de rede http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Gerenciamento de servidor http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Limites de suporte do Microsoft Product Support Services (PSS) para inicialização de rede Microsoft Windows Preinstallation Environment (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Como encaminhar transmissão UDP (BOOTP / DHCP) no Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Recursos de operação e configuração do DHCP em roteadores Cisco (Parte 2) http://habrahabr.ru/post/89997/

Opções adicionais para download local

Em um ambiente de teste, o comando

localboot 0

dá um erro desses
Menu de inicialização PXE com o System Center Configuration Manager
Segue da documentação do syslinux que quando

localboot 0

carregamento irá de um disco local. E ao especificar um valor específico 0x00 do disquete primário (principal), ao especificar 0x80 do disco rígido primário (primário). Ao alterar o comando para

localboot 0x80

o sistema operacional local foi carregado.
Se houver necessidade de inicializar a partir de um disco, partição ou comando específico localboot não funciona, então você pode usar os recursos do módulo chain.c32. Depois de carregá-lo, use o comando append para especificar um disco específico ou partição de disco, a numeração do disco começa em 0, a numeração da partição começa em 1. se a partição 0 for especificada, o MBR será carregado. Ao especificar um disco, a partição pode ser omitida.

KERNEL chain.c32
APPEND hd0 0

ou

KERNEL chain.c32
APPEND hd0

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

Ordem e descrição do download de arquivos via PXE

Conforme mencionado no início do artigo, o diretório onde estão os arquivos WDS para download está contido no valor do parâmetro RootFolder no ramo de registro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor padrão C:RemoteInstall
Aqui no parâmetro ReadFilter os diretórios são especificados onde o servidor TFTP procura arquivos para download, começando pela raiz. Com o SCCM 2012 SP1 instalado, esta configuração é

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Se você alterar o valor do parâmetro para * então todos os arquivos localizados no diretório serão processados RemoteInstall.

A função do ponto de implantação do SCCM 2012 é especificada no valor do registro ProvidersOrderlocalizado na filial HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parâmetro ProvidersOrder pode receber valores

SMSPXE
Ponto de serviço PXE no SCCM

SMS.PXE.Filtro
Manipulador de script PXE do MDT (Microsoft Deployment Toolkit)

BINLSVC
Motor padrão WDS e RIS

Com o SCCM instalado, o parâmetro ProvidersOrder assuntos SMSPXE. Ao alterar o parâmetro, você pode alterar a ordem em que os provedores são carregados.

No catálogo RemoteInstall os seguintes arquivos padrão estão localizados

wdsnbp.com

Um programa de inicialização de rede projetado para Serviços de Implantação do Windows que executa as seguintes tarefas:
1. Detecção de arquitetura.
2. Manutenção de computadores em espera. Quando a política de adição automática está habilitada, esse programa de inicialização de rede é enviado aos computadores em espera para suspender a inicialização de rede e informar o servidor sobre a arquitetura do computador cliente.
3. Usando links de inicialização de rede (incluindo o uso das opções DHCP 66 e 67)

PXEboot. com

(Padrão) Requer que o usuário pressione F12 para continuar a inicialização da rede

PXEboot.n12

Não exige que o usuário pressione a tecla F12 e inicia a inicialização da rede imediatamente

AbortPXE.com

Inicializa o computador usando o próximo item de inicialização no BIOS sem esperar

bootmgr.exe

Gerenciador de inicialização do Windows (Bootmgr.exe ou Bootmgr.efi). Carrega o gerenciador de inicialização do Windows usando o firmware de uma partição de disco específica ou através de uma conexão de rede (no caso de inicialização de rede)

Bootmgfw.efi

A versão EFI de PXEboot.com e PXEboot.n12 (no EFI, a opção de inicializar ou não o PXE está no shell EFI, não no programa de inicialização da rede). Bootmgfw.efi combina os recursos de PXEboot.com, PXEboot.n12, abortpxe.com e bootmgr.exe. Atualmente, existe apenas para arquiteturas x64 e Itanium.

Padrão.bcd

Boot Configuration Data Store (BCD), formato REGF, pode ser carregado no REGEDIT, substitui o arquivo de texto Boot.ini

O carregamento ocorre na seguinte ordem conforme descrito acima
1. Baixe wdsnbp.com.
2. Em seguida, pxeboot.com da arquitetura apropriada é carregado
3. PXEBoot.com baixa bootmgr.exe e o armazenamento de dados de configuração de inicialização BCD
4. Bootmgr.exe lê as entradas do sistema operacional de dados de configuração de inicialização BCD e carrega o arquivo Boot.sdi e a imagem do Windows PE (boot.wim)
5. Bootmgr.exe começa a carregar o Windows PE acessando Winload.exe na imagem do Windows PE

Se o RemoteInstall existem pastas

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

sua presença significa que antes de adicionar a função de ponto de distribuição no SCCM 2012 (pontos de serviço PXE no SCCM 2007), houve alguma ação de configuração nos Serviços de Implantação do Windows (WDS) instalados que criaram essas pastas automaticamente.
Para a função de ponto de distribuição (ponto de serviço PXE no SCCM 2007), apenas as seguintes pastas são suficientes

SMSBoot
SMSIMAGES
SMSTemp
Stores

Isso não significa que o SCCM esteja instalado incorretamente, mas pode apontar para uma possível fonte de erros.
A solução de vários problemas do pacote WDS, SCCM e PXE é discutida em detalhes no artigo. Solução de problemas do ponto de serviço PXE e WDS no Configuration Manager 2007

Total

A infraestrutura de TI gerenciada pelo System Center Configuration Manager adicionou uma nova ferramenta para administradores de sistema de campo.

Lista de links para imagens ISO (Clique para exibir)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

Obrigado!
Menu de inicialização PXE com o System Center Configuration Manager

Fonte: habr.com

Adicionar um comentário