Você pode inicializar o grub pela rede através do TFTP. O grub pode então apresentar um menu de opções para a próxima inicialização, da maneira que normalmente faz. Essas escolhas podem ser vários instaladores do sistema operacional. O grub pode carregar o instalador do sistema operacional escolhido também por meio do TFTP.
Eu sei que o instalador Debian (e Ubuntu) pode ser inicializado como uma combinação única de kernel Linux + initramfs (initrd). Essa é a maneira mais fácil, porque ela pode ser inicializada pelo grub de maneira simples (as diretrizes menuentry
with linux
e initrd
) e você não precisa fazer com que o instalador tenha acesso a qualquer outra coisa. Provavelmente os instaladores dessa outra distribuição são semelhantes.
Existem algumas notas aqui na configuração do grub para inicializar por TFTP com o EFI. Mais documentação pode ser facilmente encontrada pesquisando. Basicamente, trata-se de configurar o servidor DHCP e colocar os arquivos corretos no servidor TFTP. Os locais para o arquivo de configuração do servidor DHCP e o diretório raiz do servidor TFTP variam de um sistema operacional para outro.
-
O servidor DHCP precisa fornecer um nome de arquivo de inicialização ao cliente como uma opção DHCP. Isso é padrão para qualquer inicialização de rede. O nome do arquivo de inicialização aponta para um nome de arquivo localizado no servidor TFTP que contém o grub.
-
Para a imagem do grub, você pode usar uma imagem autônoma integrada (instruções para criar uma na página mencionada anteriormente),
bootx64.efi
ou apenas o grub corecore.efi
. No último caso, o grub precisará carregar módulos adicionais, assim como seu arquivo de configuração, separadamente do servidor TFTP, assim que estiver em execução. -
grub.cfg
deve ser um arquivo normal de configuração do grub no qual você especifica os nomes de caminho para o kernel e initrd como(tftp)/path/to/the/object
. Claro que você dará aos kernels e initrds nomes diferentes de instaladores do sistema operacional diferentes no servidor TFTP.