O boot pela rede é o processo de carregar um sistema operacional pela rede ao invés do disco rígido. Muitos thin clients (mini computador que depende um servidor central) não tem disco e carregam um sistema operacional básico pela rede. Também pode ser utilizado para montar rede de clusters (centenas de computadores trabalhando de forma simultânea em uma determinada tarefa), para fazer instalações, fazer manutenção e usar o PC sem depender do sistema que está no disco rígido.
PXE é um protocolo usado por quase todas as placas de rede. Computadores com placa de rede integrada costumam ter uma opção na BIOS para dar boot pela LAN, ou alguma opção para ativar o tal do PXE, é só fuçar na bios que você acha.
Na hora do boot, o programa iPXE (um carregador de sistemas operacionais) vai ser transferido do servidor para o cliente por TFTP, e então vai apresentar um menu com opções e o sistema a ser transferido por HTTP.
Nem todo sistema operacional ou distribuição do Linux pode ser carregada pela rede. Neste exemplo vou configurar um Linux para funcionar como servidor, disponibilizando GParted Live para boot via rede:
1 - No servidor Linux, como root, criar o diretório /tftproot
2 - Instalar o dnsmasq (servidor tudo em 1 : DHCP, TFTP, PXE, DNS), e editar o arquivo /etc/dnsmasq.conf. O resto das linhas está comentado - "#" (altere estes IPs pelos utilizados na sua rede):5 - Baixar a ISO do GParted Live. Montar/Abrir a ISO, entrar no diretório live e extrair apenas os arquivos filesystem.squashfs, initrd.img e vmlinuz para /tftproot/ no servidor.
6 - Entrar no site http://www.rom-o-matic.eu/ para gerar o seu iPXE personalizado. Escolher a opção "UNDI Only (.kpxe)", não alterar as outras opções, colar o script personalizado que está logo abaixo, e clicar no botão para continuar:Se por acaso você está precisando instalar o Windows 7 (8) em um PC que não consegue dar boot nem pelo DVD nem por USB, ou você está com preguiça limpar o seu pendrive lotado, então você veio ao lugar certo!!!
Aproveite toda a configuração feita acima no "boot pela rede" e continue seguindo os passos:
1 - Copiar os arquivos de driver da placa de rede do PC que
você vai instalar, compatível com o Windows que você vai usar (7 ou 8, x32 ou
x64) e salvar em algum diretório temporário no servidor. (são os arquivos .cat, .inf e
.sys).
A parte chata é que estes drivers precisam ser carregados manualmente para a
rede funcionar durante a instalação do Windows.
Neste exemplo vou inserir os drivers da placa de rede dentro da imagem de boot
do Windows.
Mas você pode copiar os drivers para um pendrive apenas para conectar na rede
para continuar a instalação.
Se você vai usar a ISO/DVD de instalação do Windows x64, baixe os drivers para
x64. Se a sua ISO é para instalar a versão x32 ou é versão "all in one" (x32 e
x64), baixe os drivers para x32.
3 - Copiar do DVD (ou ISO) do Windows os arquivos bootmgr (está na raiz), sources/boot.wim, boot/boot.sdi e boot/bcd, colando em /tftproot/ no servidor. (se for o Windows 8, copie também boot/fonts/segmono_boot.ttf, boot/fonts/segoe_slboot.ttf e boot/fonts/wgl4_boot.ttf para /tftproot/).
4 - Editar o arquivo /tftproot/menu.ipxe, adicionando um novo item:
5 - Baixar o wimboot e copiar o arquivo para /tftproot/ no servidor. (download alternativo)
6 - Inserir os drivers na imagem boot.wim. É necessário
instalar o wimlib, geralmente não vem com o Linux então você precisa procurar
uma versão para a sua distribuição, ou tentar com a minha versão compilada com
bibliotecas estáticas (download).
Digitar estes comandos no servidor para inserir os arquivos de driver na
imagem:
Obs: Dá para adicionar os drivers de outra maneira, com o imagex e dism no Windows, ou então copiar em pendrive.
7 - Ligar o PC a ser instalado, ativando a opção de boot pela rede
na BIOS, e escolher o item "Boot
Windows 7" no menu do iPXE que vai aparecer. A instalação do Windows vai começar, mas
não clique em nada!
Aperte SHIFT+F10 para aparecer o prompt, e siga os comandos:
O comando drvload carrega os drivers da placa de rede. Se você inseriu os
drivers no arquivo boot.wim, então é a letra x: mesmo. Se você copiou os drivers
para um pendrive, então troque pela letra correspondente. (digite dir
d: ou dir e: (f,g,h...) até encontrar a letra do
pendrive).
O comando net use conecta no servidor fazendo login como usuário guest (convidado), e senha em branco. Você pode
fazer login como outro usuário.
Pronto, a letra z: está mapeada para o DVD do Windows compartilhado no servidor. É só executar o setup.exe dentro do sources e continuar a instalação.