Crédito da foto: Alfred Hermida via Compfight cc
O ambiente de pré-execução do Windows (WinPE) é a versão do Windows que a maioria das pessoas conhece como a que inicializa o CD de instalação. Ao longo dos anos, projetos inteiros foram criados para dar a possibilidade de ter uma espécie de ambiente “Windows Live” como muitas distribuições Linux. Neste guia, teremos o windows PE a partir da inicialização do CD de instalação do PXE, para que possamos usá-lo para executar o utilitário de atualização do BIOS da Dell. Você é encorajado a continuar a exploração deste poço sem fundo de bondade geek…
visão global
Mostramos a você o que é o PXE e como você pode instalar facilmente um servidor para ele (e muito mais) com o FOG. Hoje, adicionaremos outra extensão ao FOG. Geralmente, o procedimento de hoje será:
- Atualize o PXElinux para v5.01 ou superior, se ainda não estiver instalado.
- Adicione o módulo wimboot.
- Copie a imagem WIM e os arquivos de suporte do CD de instalação do Windows.
- Adicione a entrada do menu.
- Use o WinPE inicializado para obter um “console de recuperação do Windows” em funcionamento.
Vamos fazer o que precede, porque o modo “regular” do WAH (Windows Automated Installation Kit - Kit de Instalação Automatizada do Windows) força você, na melhor das hipóteses, a instalá-lo em sua máquina e passar por um processo nada simples para manipular o arquivo WIM e seu suporte arquivos em seu formulário WDS / RIS. Embora existam alternativas ao Linux, como a do projeto UDA (que é o servidor PXE que eu usei antes do FOG), dessa forma você simplesmente substitui alguns arquivos no servidor PXE uma vez (o que você provavelmente teria de qualquer forma) e copia o arquivo. arquivo WIM inalterado e arquivos de suporte diretamente do CD do Windows para o servidor PXE.
A única coisa a notar é que, embora pareça que você pode iniciar o procedimento de instalação do Windows dessa maneira, na verdade, você não pode concluí-lo e tornar isso possível está além do escopo deste guia.
Vamos começar a quebrar:)
Atualize o PXElinux para a V5.01
No momento em que este artigo foi escrito, a versão do Syslinux no repositório do Ubuntu ainda é 4.05. Suponho que isso ocorra porque a equipe do Syslinux decidiu agitar as coisas com a ramificação V5 e mudou a maneira como os módulos COM32 funcionam (agora com base no ELF) e alterou o "core" para exigir uma biblioteca (ldlinux.c32) paraqualquer coisa além de “inicialização pura”. Isso torna muito possível encontrar quebras, para qualquer um que esteja acostumado com o "jeito antigo". Não se preocupe, vamos fazer o download dos arquivos necessários manualmente e fazer com que sua instalação FOG não perca o ritmo.
Nós estaremos usando a versão 5.01, pois é a última estável lançamento da filial V5 no momento em que este texto foi escrito e é aquele em que a equipe da Syslinux trabalhou em conjunto com a equipe wimboot para fazer este procedimento específico funcionar.
NotaOutra razão pela qual a versão mais recente ainda não faz parte do repositório do Ubuntu (IMHO) é que, pelo menos no Citrix-Xen, os convidados do HVM não conseguem inicializar nada além dos menus do PXE. Outros hipervisores, como VMware, Hyper-V e VirtualBox, bem como máquinas físicas, são excelentes com a nova versão.
Se a nota acima não afeta você, continue.
Obtenha a versão 5.01 do PXElinux diretamente do Kernel.org e extraia-a no servidor FOG por:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2 tar xvhf syslinux-5.01.tar.bz2
Crie o diretório que conterá as bibliotecas recém-requeridas:
mkdir -p /tftpboot/howtogeek/libs
Copie os arquivos de biblioteca necessários para esse diretório, para que eles estejam disponíveis para os clientes no tempo de execução:
cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/
Anexe o “caminho” a este diretório, ao arquivo de configuração “default” já existente, editando-o ou emitindo o seguinte:
echo 'PATH howtogeek/libs' >> /tftpboot/pxelinux.cfg/default
Copie o ldlinux.c32 recém-requerido para a raiz do servidor TFTP, emitindo:
cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/
Atualize o mecanismo gráfico (vesamenu.c32) para corresponder a esta nova versão:
cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/
Parabéns, seu servidor PXE agora está atualizado para v5.01 e tudo o que já estava funcionando (a menos que você seja afetado pela "nota" do início deste segmento) deve continuar a fazê-lo.
WIMboot
Este bootloader faz parte do projeto iPXE e eles descrevem da seguinte forma:
wimboot
é um gerenciador de partida para o formato Windows Imaging (
.wim
) arquivos. Ele permite que você inicialize um ambiente Windows PE (WinPE) de um disco RAM, sem desperdiçar a memória usada para a imagem de disco RAM.
Baixe a versão mais recente do site:
wget https://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Instale o unzip no seu servidor FOG se ele estiver faltando:
aptitude install unzip
Descompacte o pacote wimboot:
unzip wimboot-latest.zip
Copie o módulo wimboot para o diretório “libs” que criamos no segmento anterior:
cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/
Isso é tudo. O bootloader wimboot está pronto para ser chamado.
Arquivos de CD do Windows
Crie um novo diretório no servidor FOG para armazenar os arquivos sobre os quais copiaremos:
mkdir -p /tftpboot/howtogeek/WinPE/
Coloque o CD de instalação original do Windows 7 na sua unidade de CD-ROM e copie os arquivos listados abaixo neste diretório:
ootmgr
ootcd
ootoot.sdi
sourcesoot.wim
Sim, é assim tão simples e você não precisa manter a estrutura de diretórios no CD para que isso funcione.
Observação: para que as atualizações do BIOS da Dell funcionem, descobri que é necessário usar uma versão de 32 bits do Windows.
Adicione a entrada do menu
Crie a entrada do menu PXE editando o menu “Utils”:
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Acrescente a ele o seguinte:
label WinPE com32 linux.c32 howtogeek/libs/wimboot APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek/WinPE/boot.wim
Parabéns, agora você tem o WindowsPE no seu servidor PXE.:)
Nota: pode parecer que está pendurado no ficheiro “wim”, mas não é. Na verdade, ele está transferindo os 140 MB de um arquivo para o cliente através do TFTP, o que leva mais tempo do que os arquivos geralmente pequenos que são transferidos dessa maneira.
Aqui está a imagem para provar que isso aconteceu.
Console de Recuperação do Windows
Novamente, conforme mencionado na visão geral, embora pareça que você possa iniciar o procedimento de instalação do Windows dessa maneira, na verdade, não é possível concluí-lo e tornar isso possível está além do escopo deste guia.
Com isso dito, apenas para dar um exemplo de por que isso seria útil, usaremos esse ambiente para executar uma atualização do BIOS da Dell.
Obtenha a atualização que você precisa para realizar no site da Dell e coloque-a em um Disk-On-Key. Coloque o disco na chave e o PXE inicialize o cliente.
Para acessar o console de recuperação, na janela principal, como na captura de tela acima, clique em "Avançar".
Uma vez no prompt de comando, você terá que descobrir o que “letra de unidade” WinPE decidiu designar para o Disk-on-Key. Para fazer isso, faça o sistema enumerar todas as letras de unidade atribuídas atualmente, emitindo:
wmic logicaldisk get name
Agora, excluindo as letras A: e X: e talvez até C: (embora não seja um dado), percorra as letras da unidade e procure o Disk-on-Key emitindo:
Driveletter: dir
Depois de encontrar a unidade correta, execute o arquivo e você verá algo como o abaixo:
Eu conheço o Kung Fu …