Para inicializar o servidor Ubuntu, estou usando um menuentry da seguinte forma:
menuentry "Ubuntu server installer" {
set isofile=/isos/ubuntu-15.04-server-amd64.iso
loopback isoloop $isofile
set gfxpayload=keep
linux (isoloop)/install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=$isofile quiet noeject --
initrd (isoloop)/install/initrd.gz
}
Parece que você está perdendo a linha file=/cdrom ...
. O caminho passado aqui é onde você monta o ISO.
Aviso justo: na minha experiência, o instalador do Ubuntu não funciona normalmente de um ISO montado em loopback. O instalador da área de trabalho fica confuso quando encontra um sistema de arquivos montado que não é um ISO (o seu drive USB neste caso) e ele vai querer desmontá-lo. Quando tentei uma instalação completa da configuração USB + ISO, a etapa de particionamento de disco do instalador da Área de Trabalho desordenou a unidade USB, tornando-a não inicializável (tive que reinstalar o grub). Além disso, o suporte para iso-scan/filename
não funciona com o instalador do servidor, por isso tive de manualmente losetup & mount
it.
Parece que o suporte para este tipo de configuração regrediu nos últimos lançamentos, infelizmente.