Aparentemente (pelo menos alguma versão do) o padrão UEFI PXE solicita a especificação do tamanho do arquivo de inicialização, usando a opção DHCP option boot-size <value>
. Com a inicialização do PXE baseada em BIOS tradicional, isso não era necessário.
Você pode obter o valor de tamanho correto fazendo du -B 512 syslinux.efi
.
Portanto, se o comando du
informar o tamanho de seu syslinux.efi
como 400 blocos, você desejará que sua configuração de DHCP diga algo assim:
...
} elsif option client-system-arch = 00:07 {
filename = "efi.x64/syslinux.efi";
option boot-size 400;
}
...
Sem essa opção, alguns sistemas que testei não conseguiram inicializar com o UEFI PXE.
O módulo vesamenu.c32
também pode ser problemático com o UEFI, pois o firmware UEFI fornecerá seu próprio tipo de API de exibição que não tem nada a ver com as extensões VESA VBIOS. Eu tive algum sucesso com menu.c32
.
Testei os dois syslinux.efi
e ipxe.efi
de ipxe.org . Eu poderia fazer os dois funcionarem no meu ambiente, mas o iPXE parecia um pouco mais robusto para mim.