É possível inicializar um arquivo img criado pelo grub-mkstandalone a partir do cfg?

É possível inicializar um arquivo img criado pelo grub-mkstandalone a partir do cfg?

Portanto, tenho um arquivo .img totalmente funcional criado usando grub-mkstandalone. Coloquei isso em um CD e inicializa bem, o ISO carrega muito bem em uma VM, etc...

Agora, o que eu quero fazer é vincular um grub.cfg existente a este arquivo .img como se fosse uma inicialização normal. Isso faz sentido? Por exemplo, tenho um pendrive USB com o grub instalado. Tenho vários dispositivos de loop configurados para inicializar ISOs. Tudo Linux. No entanto, neste caso, quero carregar o arquivo .img (que possui seu próprio grub.cfg). Então, eu gostaria de ver o menu desse grub.cfg assim que o .img for carregado e inicializar o sistema operacional a partir dele.

Há dias que procuro a resposta e leio a documentação, mas não consegui encontrar a resposta.

Deixe-me saber se a pergunta não ficou clara e eu esclarecerei. Desde já, obrigado.

EDITAR:

Por exemplo, digamos que eu tenha esta entrada de menu:

menuentry 'My OS' {
    set isofile="/iso/os_5.1.1_amd64.iso"
    loopback loop (hd0,msdos1)$isofile
    linux (loop)/vmlinuz boot=live toram nomodeset
    initrd (loop)/initrd
}

Isso funciona bem. No entanto, quero carregar o arquivo .img que criei em vez de carregar o Linux assim para poder ver o menu grub que está dentro do ISO.

Então, algo assim?

menuentry 'My OS' {
    set isofile="/iso/os_5.1.1_amd64.iso"
    loopback loop (hd0,msdos1)$isofile
    .... (loop)/boot/grub/my.img
}

Os pontos representam alguma mágica que não conheço para fazer isso funcionar (se é que é possível).

Responder1

Para imagens EFI, você pode usar chainloader(mas suspeito que você estava usando BIOS na época; não sei se funciona para isso):

menuentry 'My OS' {
    chainloader (hd0,msdos1)/BOOT/EFI/somedir/somebin.efi
}

Então, eu teria tentado (não testado!!):

menuentry 'My OS' {
    set isofile="/iso/os_5.1.1_amd64.iso"
    loopback loop (hd0,msdos1)$isofile
    chainloader (loop)/boot/grub/my.img
}

informação relacionada