(Skip to the third paragraph if you want to skip the intro.)
This machine has two internal HDDs which are dedicated to Vista (ergh). For various reasons, I elected to use an external drive for the installation of Linux. When I installed Fedora, I didn't have an eSATA cable, so I installed it via USB. if I change the boot device so it boots off the USB drive, the machine apparently remaps the drive to BIOS drive 0. However, when Linux boots, it'll still be considered sdc. So far so good.
However, when I plug in the eSATA cable and try to boot Linux that way, the machine will boot off the internal sda because the only available option is "Internal Hard Drive." (And yes, the eSATA is working properly.)
So here's my problem: I obviously need to install GRUB on the first drive, and it will then let me choose between Vista and Linux. I've done this kind of thing before on other machines and haven't had to much of a problem. However, running 'grub-install /dev/sda' resulted simply in blowing away my Vista boot loader, and a Grub installation that would hang at a black screen. Which of course then resulted in a plethora of pain trying to fix it with Microsoft's deliberately pathetic engineering.
What did I do wrong there? And incidentally, the external hard drive isn't always going to be hooked up, so I don't want to be dependent on it to get into Vista.