Ubuntu – How to install Grub2 on the first hard drive but Ubuntu on the second

grub2Ubuntu

I want to install the OS (Ubuntu 12.04) on the second hard drive, but I'm unable to access the BIOS so I must install Grub on the first hard drive. How do I install Grub on the first hard drive, and have Grub boot the OS from the second hard drive?

Here's what I've tried so far. I installed Ubuntu on the second hdd, which had a /boot partition and a root partition. It didn't boot because the boot loader was on the second hdd but the system insists on booting from the first.
Then I booted from a rescue system, chrooted to my second hdd's root parition, mounted the second hdd's boot partition to /boot, and ran grub-install /dev/sda. grub-install refused to run because it couldn't find any partitions on the first hdd (which it didn't have).
So I made a boot partition on the first hdd and copied the second hdd's boot parition's contents to there. This time grub-install succeeded. The system booted.
But even though the system booted from the first hdd's boot partition, once booted it mounts the second hdd's boot partition. That can't be good for kernel upgrades, so I edited /etc/fstab, changed /boot's device to /dev/sda, ran update-grab && grub-install /dev/sda, and rebooted. This time it seems to work too, except that grub's timeout is gone. Since this is a server that I tend to access remotely, grub not automatically booting is problematic. grub.cfg contains the timeout option but the timeout doesn't actually work, leading me to think that I may be installing grub incorrectly.

Best Answer

The first disk probably needs a partition table but shouldn't need /boot. Even the MBR code should be capable of accessing the second disk. You should erase the content of /boot on the first disk, mount /boot on the second disk and run grub-install again.

If that doesn't work, post the output of grub-install.

Maybe you mixed up the two grub.cfg?

Also check the content (the disk numbers) of /etc/grub.conf.