-   Linux - General (
-   -   Can't Boot Linux from Second Hard Drive (

zylo 04-05-2007 12:52 PM

Can't Boot Linux from Second Hard Drive
I've been looking everywhere for the solution to this problem, but I still can't find it. I'm getting tot he point of givign up on being able to resolve this, as my system's configuration is just so convoluted and complicated that it might just be too difficult to get working anyways.

But, here's my last shot at getting something to work.

Background info:

I have 3 drives: 2 set up as a RAID running Windows XP, and the second drive which has several partitions; one has Vista on it, the other has Ubuntu 6.10

Here's the issue. I boot from the RAID first, with the Windows Vista bootloader. The bootloader will boot Windows XP or Windows Vista successfully, but I have found no way to boot to Ubuntu on the second drive. I've tried every combination of tossing the dd if=/dev/hdb6(ubuntu partition) of=ubuntu.bin and running off of that, but I've come up with nothing but errors.

I know it's not a RAID issue because the raid is built before anything else can come up, thus effectively reducing the drive to being recognized as one drive.

I can boot to Ubuntu if I throw in my 6.06 Ubuntu Install CD, then selecting Boot From First Hard Drive at the install cd's prompt screen.

If it sounds too complicated by now, you can see my frustration in wondering why I even bothered to set it up this way. I had XP first on the RAID, and I just installed Vista and Ubuntu on my secondary drive.

So, coming down to some questions I hope someone can answer for me:

1) How can I tell which partition on the second drive boots Ubuntu? If I can get it to boot without any problems if I put in a CD and tell the CD to boot from first hard drive, what does that necessarily mean it's doing?
2) Is there a way to put into Vista's Bootloader the correct info for booting from that drive?
3) Might my configuration be overwriting the MBR? If so, is it possible for me to reinstall Grub somewhere else so I can put that location into Vista's Bootloader to recognize and boot Ubuntu that way?

I've played alot with NeoGrub, toyed with different combinations of outputting the boot sector of various partitions, but none of those dd outputs ever worked except to show "GRUB" on the screen and do nothing else afterwards.

I'm at my wits end. I suppose there has to be a solution to this, but if I can't get this to work, how can I remove Vista, keep Ubuntu as-is, and restore XP's bootloader?

Thanks a bunch for any help you're even considering offering me. It's more than I even expect is possible. :)

Robert Diggs 04-05-2007 02:16 PM


I know as of right now there are quite a few of compatibility issues with Linux and Vista right now. I believe Linux magazine is coming out with a new issue next month showing these problems along with, possibly, fixes for these issues. Stay tuned to that and you might find a fix to your problem.



zylo 04-05-2007 06:11 PM

Can switch BIOS around
So I did a little fiddling and I was able to change the boot order from the RAID to the IDE drive with Vista and Ubuntu on it.

By switching the boot order to the IDE from the RAID, I can boot Ubuntu right off of the IDE drive. Does this mean that I have installed GRUB onto the MBR of the IDE drive? If so, is there a way to tell the Vista Boot Loader to boot off of another physical drive?

Oh, and Mr. Diggs, can you provide me a link to what magazine or potential article you say might fix this? I'm interested to find out what could be done.

Junior Hacker 04-06-2007 01:34 AM

How about if you remove the XP Raid assembly temporarily, just run the other drive as master and follow this tutorial:

After you have Vista and Ubuntu set up and happening on this drive, either modify grub to alter the drive order for these two and add an entry for XP, then put the Raid array back. If you do this you would have to map Vista to fool it into thinking it is still on the first drive.
Now, I have no raid experience, but maybe you can leave this drive as primary, and add XP raid as secondary drive and again, add an entry for XP and map it to think it is on the primary drive. To map a Windows OS in grub would be something like this for XP on the second drive first partition:


title Windows XP
      rootnoverify  (hd1,0)
      map            (hd0,0) (hd1,0)
      map            (hd1,0) (hd0,0)
      chainloader +1

This is not written in stone, just a suggestion, I don't have Vista.
Here is a "older" grub howto:

You should probably google on how to make a grub boot floppy to play with till you get it right before you install it to the MBR.

Quakeboy02 04-06-2007 02:01 AM

Is this a motherboard raid? If so, and if you're going to have to use the raid as your first drive in the boot sequence, you'll probably need to put a "/boot" partition on it and install grub to it. You may even need to install dmraid on the Linux side.

All times are GMT -5. The time now is 01:25 AM.