OK, I know this subject has been coverd 10k times in this forum alone, and believe me, I've read every one of those threads with no success yet. My setup:
/dev/hda = Linux From Scratch (ext3); IDE drive
/dev/sda = Windows XP (NTFS); SATA drive
I've been having this issue for a long time, but I have finally decided to sit down and figure it out once and for all. I have lots of other dual boot systems, but those have XP and Linux on the same IDE drive. I've also done it with Linux and Windows on separate IDE drives. This is the first time I've attempted a Grub dual boot on an IDE and SATA drives.
Both OSes will boot if I change the boot priority in the BIOS, but (for obvious reasons) I don't want to have to enter the BIOS every time I want to change OSes.
Grub recognizes 3 drives: fd0, hd0, and hd1. hd0 is my LFS system, which boots fine. So I have to assume that hd1 is my SATA drive. I've tried every Grub boot option for windows I can find on the net and on this forum. These are some things I have tried with no luck:
Code:
title Windows XP
root (hd1,0)
chainloader +1
Code:
title Windows XP
rootnoverify (hd1,0)
chainloader +1
makeactive
Code:
title Windows XP
root (hd1,0)
chainloader +1
makeactive
Code:
title Windows XP
rootnoverify (hd1,0)
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1
Code:
title Windows XP
rootnoverify (hd1,0)
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1
makeactive
Code:
title Windows XP
rootnoverify (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
chainloader +1
Every one of these results in the commands appearing on the screen, then nothing. System just sits there.
The only thing I can figure is that Grub has some bizarre way of addressing SATA drives that I can't find docs for anywhere on the net. Help is appreciated