This is so wrong:
menuentry "Grub4Dos" {
linux16 /boot/grub/memdisk
initrd16 /grldr
}
MEMDISK is supposed to load floppy images, hard disk images or ISO images, not bootsectors.
The right way to load Grub4Dos from grub2 is to use the kernel version of Grub4dos (grub.exe):
menuentry "Grub4Dos" {
linux16 /boot/grub/grub.exe
}
Note: grub.exe doesn't need to be in the root because whole grub4dos is loaded in memory already and doesn't need to read the rest of grldr of the disk.
You can even pass arguments to this Grub4Dos variant.
Boot Grub4Dos and load (hd0,0)/boot/grub/grub4dos.lst as config file:
menuentry "Boot Grub4Dos and load (hd0,0)/boot/grub/grub4dos.lst as config file" {
linux16 /boot/grub/grub.exe --config-file=(hd0,0)/boot/grub/grub4dos.lst
}
Or directly boot a floppy image from Grub4dos when booted from grub2:
menuentry "Boot Grub4Dos and boot floppy image" {
linux16 /boot/grub/grub.exe --config-file="map (rd)+1 (fd0); map --hook; chainloader (fd0)+1; rootnoverify (fd0)"
initrd16 /boot/grub/floppy.img
}
See for more info in the REAME_GRUB4DOS.txt file