I've been trying to setup grub on an external drive to boot Ubuntu and Windows live-cd images directly from iso files.
So far I've encountered an older answer (https://superuser.com/a/1355605) claiming to have succeeded with the Windows portion even though the official grub documentation suggests it should not be possible (https://www.gnu.org/software/grub/manual/grub/html_node/Loopback-booting.html).
My attempts so far have never reached past:
loopback loop ($isoroot)$isopath chainloader (loop)$efipath
which always results in the "not a valid root device" error (https://github.com/coreos/grub/blob/master/grub-core/loader/efi/chainloader.c#L256) which is (most likely) caused by the loopback device not being a valid root (as described in the documentation). I've omitted the rest of the configuration file but I've explicitly loaded all modules necessary to read the relevant partitions. I've installed grub with
grub-install (GRUB) 2.02-2ubuntu8.13.
The configuration above works with neither Ubuntu nor Windows.
Is it possible to make this work? Was the other person lucky with their Windows image or grub version? Is it possible with another bootloader?