É possível adicionar alguma opção 'PXE Network Boot' ao GRUB?

6

Este é um exemplo das minhas opções de inicialização de menu do GRUB disponíveis :

 1     menu label   ^  1) Xubuntu 14.04.02 LTS
 2     menu label   ^  2) Windows 7, x86 & AMD64
 3     menu label   ^  3) Windows 8, AMD64
 4     menu label   ^  4) Hirens Boot CD 8.8, x86
 5     menu label   ^  5) Kali 1.0.7 Live, amd64

Para reparar / reconfigurar / resgatar servidores ou máquinas sem teclado e tela, seria muito útil ser capaz de inicializar máquinas remotas para PXE Network sem precisar ir fisicamente perto do computador para selecione a opção PXE no BIOS.

Adicionar uma opção de inicialização de rede do PXE ao GRUB seria fantástico. Algo como:

 1     menu label   ^  1) Xubuntu 14.04.02 LTS - Sopalajo Mod, amd64
 2     menu label   ^  2) Windows 7, x86 & AMD64
 3     menu label   ^  3) Windows 8, AMD64
 4     menu label   ^  4) Hirens Boot CD 8.8, x86
 5     menu label   ^  5) Kali 1.0.7 Live, amd64
 6     menu label   ^  6) PXE Network server on this LAN

Estou corrigindo o problema por enquanto, selecionando PXE como a primeira opção de boot no BIOS, mas nem sempre quero o PXE como a primeira opção de inicialização.
Contanto que o GRUB inclua alguns programas realmente úteis como grub-reboot ou, pelo menos, aceite a reconfiguração remota, adicionar o PXE ao GRUB pode ser uma solução perfeita.

É possível adicionar uma opção PXE ao menu de inicialização do GRUB?

    
por Sopalajo de Arrierez 18.03.2015 / 03:39

2 respostas

7

Sim, você pode adicionar um iniciador (i) PXE ao Grub.

Para sistemas baseados em dpkg como Debian e derivados: Apenas apt-get install ipxe é necessário

Eu esperaria que outras distros a tivessem integrado bem confortavelmente.

== > Uma entrada do menu "PXE Boot" existirá na próxima reinicialização.

No caso de você querer saber detalhes internos:

Os scripts de gancho de pós-instalação adicionam automaticamente uma entrada do iPXE à configuração do grub, usando o arquivo "modelo" /etc/grub.d/20_ipxe .

Você acaba com uma entrada como a seguinte em /boot/grub/grub.cfg

menuentry 'Linux NetBoot Environment' {
  set root='(hd0,1)'
  <More, less important options>
  linux16 /boot/ipxe.lkrn
}

Isto significa apenas que, em vez de um kernel (linux-), o grub dá controle total ao computador para outro programa "simples", neste caso ipxe.lkrn . O MemTestx86 é lançado basicamente da mesma maneira.

O PXE Stack é um software normalmente armazenado em algum lugar da placa principal. Neste caso, carregamos de algum lugar onde os drivers do GRUB podem acessar.

Exemplo de um cenário de uso:

Você vai querer instalar um GRUB básico no drive, tendo a entrada PXE primeiro, e um fall-back na Posição 2 para o boot de corrente local a partir da (digamos) Partição 1.

A configuração que o iPXE usaria dependerá dos arquivos que residem em seu servidor de configuração de inicialização. Lá você fará o padrão, primeiro menuchoiceice "Boot from local Partition 1", então mais opções (Boot-AV, SuperGrub, Debian NetInst ...).

== > Normalmente, seus usuários não tocam em nada até ver o prompt de login gráfico da instalação local.

Seqüência de inicialização: GRUB - iPXE - OS-in-Partition-1 (retorno ao OS-in-Partition-1, se o PXE for malsucedido)

== > Fisicamente presente no PC, você pode escolher outras opções de inicialização.

== > Não presente fisicamente no PC, você pode alterar a configuração do PXE do lado do servidor para "one-off" (inicializar) com outra opção diferente da padrão.

    
por 10.08.2015 / 15:52
-1

Geralmente, descobri que a opção de inicialização PXE existe somente em um menu de seleção de inicialização do BIOS do sistema. Uma vez que você entra no grub, é basicamente tarde demais.

Nas máquinas da Dell, parece possível programar esta ação remotamente (e programaticamente) dependendo do hardware que você instalou. Especialmente usando o Dell iDRAC. Esse recurso pode ser possível também em outros hardwares de fornecedores.

    
por 18.03.2015 / 03:48