Можно ли загрузить img-файл, созданный grub-mkstandalone, из cfg?

Можно ли загрузить img-файл, созданный grub-mkstandalone, из cfg?

Итак, у меня есть полностью функциональный файл .img, созданный с помощью grub-mkstandalone. Я поместил его на CD, и он отлично загружается, ISO отлично загружается в VM и т. д.

Теперь я хочу связать существующий grub.cfg с этим файлом .img, как будто это обычная загрузка. Имеет ли это смысл? Например, у меня есть USB-флешка с установленным grub. У меня есть несколько устройств loop, настроенных на загрузку ISO. Все Linux. Однако в этом случае я хочу вместо этого загрузить файл .img (у которого есть свой grub.cfg). Поэтому я хотел бы увидеть меню из этого grub.cfg после загрузки .img и затем загрузить ОС с него.

Я искал ответ несколько дней и читал документацию, но так и не смог его найти.

Дайте мне знать, если вопрос был непонятен, и я уточню. Заранее спасибо.

РЕДАКТИРОВАТЬ:

Например, предположим, у меня есть такой пункт меню:

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
}

Это работает нормально. Однако я хочу загрузить файл .img, который я создал, вместо загрузки Linux таким образом, чтобы я мог видеть меню grub, которое находится внутри ISO.

Ну что-то вроде этого?

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
}

Связанный контент