grub-mkstandalone で作成された img ファイルを cfg から起動することは可能ですか?

grub-mkstandalone で作成された img ファイルを cfg から起動することは可能ですか?

つまり、grub-mkstandalone を使用して作成された、完全に機能する .img ファイルがあります。これを CD に保存すると、正常に起動し、ISO は VM で正常に読み込まれます。

ここでやりたいのは、通常のブートのように、既存の grub.cfg をこの .img ファイルにリンクすることです。意味がありますか? たとえば、grub がインストールされた USB ペンドライブがあります。ISO をブートするように構成されたループ デバイスがいくつかあります。すべて Linux です。ただし、この場合は、代わりに .img ファイル (独自の grub.cfg を持つ) をロードします。したがって、.img がロードされたら、その grub.cfg のメニューを表示し、そこから OS をブートしたいと思います。

何日も答えを探し、ドキュメントを読んでいましたが、答えを見つけることができませんでした。

質問が明確でない場合はお知らせください。明確に説明します。よろしくお願いします。

編集:

たとえば、次のようなメニューエントリがあるとします。

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
}

これは問題なく動作します。ただし、ISO 内にある grub メニューを表示できるように、Linux をこのようにロードするのではなく、作成した .img ファイルをロードしたいと思います。

こんな感じでしょうか?

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

点は、これを機能させるための(そもそも可能かどうかは別として)私の知らない魔法を表しています。

答え1

EFI イメージの場合は、以下を使用できますchainloader(ただし、その時点では BIOS を使用していたと思われます。その場合、機能するかどうかはわかりません)。

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

だから、私は(未テスト!!):

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

関連情報