I'm glad I got this done, now I'd better write it down to share and reference.
Had a Ubuntu Live CD booted up, I ran something like this:
$ sudo mount /dev/sdb3 /mnt $ sudo grub-install --boot-directory /mnt /dev/sdb
And GRUB or GRUB2 would be installed. The command is identical for the 2 versions of GRUB, I don't know how to distinguish between which GRUB is actually installed.
So I am now in the GRUB* on my internal hard drive. This GRUB came with Fedora 18. To manually boot Ubuntu on my external hard drive, I used something like this:
grub > set root=(hd1,sda3) grub > linux /vmlinuz-blahblah root=/dev/sdn9 grub > initrd /initrd-blahblah grub > boot
And Ubuntu from my external drive should have booted up.
Boot Windows 8
Note: When I installed this copy of Windows 8, my CMOS hardware was based on BIOS instead of UEFI, and my hard drive was partitioned with MBR instead of GPT.
I plugged my external hard drive onto a SATA port, and unplugged my original internal hard drive (for the sake of making the case simple). I tried booting Windows 8 like this:
grub > set root=(hd0,sda6) grub > ntldr /bootmgr grub > boot
And Windows 8 booted up perfectly! Seems like even if the Windows 8 copy was installed on UEFI hardward it should still work.
This is nice; I am excited about it!