O Ubuntu ISOboot do Grub2 me sugere, você pode precisar especificar o dispositivo de armazenamento onde seu ISO está localizado. Em seu primeiro exemplo, loopback loop $isofile
pode precisar ser alterado para loopback loop (hd0,5)$isofile
ou qualquer outra unidade em que o ISO esteja realmente armazenado. Esta porção hd0,5 não é a notação do Linux, mas sim a maneira como o Grub é capaz de ver a maioria dos dispositivos de armazenamento.
Eu nunca tentei inicializar um ISO diretamente do Grub, mas a necessidade de especificar o local do disco rígido como visto pelo Grub pode ser necessária. Eu também suponho que você não quer ou é capaz de gravar o ISO para um disco (re) gravável, ou quer / capaz de inicializá-lo a partir de um dispositivo USB externo.
Espero que isso possa ajudá-lo a descobrir por que os arquivos não podem ser localizados pelo bootloader do próprio ISO ou pelo Grub no primeiro exemplo.