I am trying to startup the computer with two drives; one is connected with SATA(Windows XP, 40G) and the other with IDE(blank, 80G). With just the SATA drive, it boots fine, but when I add the other drive and change the BIOS to boot with the originally one (it automatically switches to the IDE one by default), all I get is a black screen with a grey flashing cursor. It will stay that way for hours. I am looking for a way to fix it so that it will boot with both drives OR recognize the IDE drive if I plug it in after startup.
If you can tweak the BIOS to change the boot order - great, it will solve this problem for you.
However, for some older stupid BIOSes, this is not always possible.
To bypass this, you can use excellent tiny bootloader used by FreeBSD called
BootEasy simply replaces standard MBR bootloader, and it is effectively equivalent to it with one exception: standard MBR bootloader simply scans primary partition table and if it can find active partition, it will boot from it.
BootEasy does the same, but it also gives you an option to immediately change which partition is active, as well as to boot from next drive - it does not have brainpower for anything more, considering that it fits into 442 bytes.
It used to be that BootEasy existed as separate utility and it had its own DOS installer. But these days simplest way to install it using FreeBSD installer as follows:
Now, at boot, BootEasy will show very simple menu like this:
If you press F5 (next drive), BootEasy will remember that choice and will simply start boot sequence from second HDD. If that HDD also had BootEasy installed into its own MBR, it will offer similar menu for that drive, something like:
Here you can also press something like F1 and it will remember that boot choice (by activating partition). For last drive, next drive is the very first one.
Sorry that this seems like long way to do this, but I have been using this for years on all my drives with great success. Actually, my preparation step for any new drive involves installing BootEasy - just in case :-)