I was having quite possibly the worst time getting a dual boot to function correctly on my system. Considering my system is a hodge podge with how i have things set up i figured it would be a little ruff but i did not expect this cluster **** of events.
First off, considering i am not a linux guru others who are will probubly frown on me for saying this but linux is stupid. Or mabye its grub thats stupid. I don't know. All i know is the whole system of hd0,1 and sda2 is something from a horror film. Trying to find information on what you have is even worse. Posts advising you to use fdisk -l to identiy which hd and partition your windows install is on or gparted blsk or any of these other commands all of them display useful information if the world was perfect and pings can fly. Knowing sda1 should translate to hd0,0 and seeing for your self that hd0,0 has 1 partition and is your storage drive though linux identifies it as your windows boot hd is where a user familiar with windows would give up.
I followed all the tuts and even extensivly searched google for work arounds or methods others have got working. I never once did the noob work around of posting WTF FIX and not even putting in the leg work, though after doing the work and getting it working i am even more distraught that its working with how i input my grub settings then when it wasn't...
End result, and where every user in my place is going to need to do to fix there issue, is grub. Reboot into grub, when presented with your different boot options *presumably the broken windows option that gives vague errors such as missing device or device id not correct* press C. From here we will let grub tell us the exact oposite of what linux does and get this boot working.
start by typing:
root (hd leave it exactly like that then press tab results will look like this
(hd0) (hd1) (hd2) this list tells you which hd options you have
then add the , after hd so it looks like this (hd0, *you will need to do this for all avail hard drives it lists after our first tab.
This will result in detailing to you the stucture of your hard drive, this is where i got the most benifit in finding how to set grub to boot.
for me root (hd0, *press tab* gave me results with the partitions of my linux hard drive that had grub on it. this same hard drive thats listed as hd0 is the second boot device in my bios and is labeled as sdc2 in linux via gparted and fdisk which SHOULD translate into hd2 however it doesn't.
(hd1, tab listed file system unknown or something along those lines which was actually my windows install drive and only had 1 partition which was a complete ntfs part. This drive is set as first boot in bios and is labeled as sda1 in linux. This drive is also a solid state disk so with that in mind i don't know if grub just couldn't read the partition because it was a ssd or because i had flip flopped from using windows bcd and grub several times and had to repair my bootsec and mbr so many times it just couldn't read it i dont know. but this is where we fix our problem, time for a new paragraph.
Because my drive would not display partition info and because attempting to boot with root (hd1,0) or (hd1,1) wouldn't work and grub stating partition doesn't exist for either i figured i was ****ed. I then tried to go ahead and set it to boot with all the normal parameters and setting root (hd1) with no partition defined. This.... finally after 2 and a half days... worked. From this point all it takes is a reboot into linux and an edit of grub.cfg to now define our path for booting.
search --fs-uuid --set root=uuid
chainloader (hd1) +1
I don't have my exact setup as i am at work so i don't have access but to my knowlege that was the end result though i have went through a thousand iterations so it might vary slightly. The main reason for this information is for the people who don't think like linux, for those who think like a windows pc *as in on a lower level lol* to get a grip on how grub and linux variations confuse the crap out of users.
This problem also might be local to me becuase i had previously *for 2 days before this trial* had attempted to use the ill fated windows bcd boot manager to control this dual boot and jumped through loops trying to get that functioning which in turn could have broken the normal os-prober perfect set up others have described. Though i believe even with bcd my problem was i was pointing bcd to boot linux via what linux told me it was on and not what bcd actually thought it was on. Seems either boot loader you use, neither interpret what the OS sees as *A* device as actually being that device.