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.
В 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]
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 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
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
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 mvgolubevaqui. 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.
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
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
Reinicie a máquina, volte ao menu, selecione no menu «Antivirus and tools» e digite a senha Qwerty
Selecionamos um item arbitrário e observamos o carregamento da imagem ISO na memória
Esperando e vendo o resultado
Verificação concluída
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.
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.
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