grub: Loopback booting

 
 5.2 Loopback booting
 ====================
 
 GRUB is able to read from an image (be it one of CD or HDD) stored on
 any of its accessible storages (refer to ⇒loopback command).
 However the OS itself should be able to find its root.  This usually
 involves running a userspace program running before the real root is
 discovered.  This is achieved by GRUB loading a specially made small
 image and passing it as ramdisk to the kernel.  This is achieved by
 commands 'kfreebsd_module', 'knetbsd_module_elf', 'kopenbsd_ramdisk',
 'initrd' (⇒initrd), 'initrd16' (⇒initrd),
 'multiboot_module', 'multiboot2_module' or 'xnu_ramdisk' depending on
 the loader.  Note that for knetbsd the image must be put inside
 miniroot.kmod and the whole miniroot.kmod has to be loaded.  In kopenbsd
 payload this is disabled by default.  Aditionally behaviour of initial
 ramdisk depends on command line options.  Several distributors provide
 the image for this purpose or it's integrated in their standard ramdisk
 and activated by special option.  Consult your kernel and distribution
 manual for more details.  Other loaders like appleloader, chainloader
 (BIOS, EFI, coreboot), freedos, ntldr and plan9 provide no possibility
 of loading initial ramdisk and as far as author is aware the payloads in
 question don't support either initial ramdisk or discovering loopback
 boot in other way and as such not bootable this way.  Please consider
 alternative boot methods like copying all files from the image to actual
 partition.  Consult your OS documentation for more details