I have two pen drives. On one I have a full install of Arch GNU/Linux. This install is compatible with both EFI systems and BIOS systems; it has a GPT drive with a BIOS Compatibility Region and an EFI partition. GRUB2 is installed as an EFI application in the EFI partition, and it is also embedded into the BIOS Compatibility Region. On the second pen drive, I have an MBR and a FAT32 partition that fills the entire drive.
I have a BIOS computer (an XPS 13 that came preinstalled with Windows 7) that refuses to boot the GPT drive, despite the fact that I have successfully booted using the BIOS Compatibility Region on other computers. The only explanation is that there is a bug in the computer's BIOS; therefore, I've tried updating the BIOS, to no avail. I've also set the bootable flag on the Protective MBR's GPT partition - this did nothing. I've called Dell technical support, and went through 3 departments until they eventually wanted me to pay $60 to have one of their support guys help me work around a bug in their own BIOS. I declined. Because of all this, I've decided that fixing the BIOS is a dead end.
What I want to do instead is use the second pen drive to chainload the first, since if a drive has an MBR, the BIOS will boot it just fine. I don't care how this is done. It can be done using Syslinux, GRUB2, or some other specialized tool. I would prefer to not have to create another partition on the drive to house config files, but I doubt this will be possible. I've tried messing around with Syslinux's
chain32 command (IIRC, that's what it's called), but it seems like this can only do stuff on the same drive. Likewise with GRUB's
chainload +1. I've fiddled with all this endlessly, but with no luck. I've Googled, but haven't found anything useful.
So: how can I chainload a GRUB installation that resides on a separate drive?