Not a full review. Just one blocking problem > > } > + case MULTIBOOT_LOAD_TYPE_PE: > + grub_fatal ("Unsupported load type: %u\n", mld.load_type); > + default: > + /* should be impossible */ > + grub_fatal ("Unknown load type: %u\n", mld.load_type); > Don't use grub_fatal for this. grub_fatal is only when continue to execute grub is unwise. Here you just have an unsupported file. This is definitely a GRUB_ERR_BAD_OS >