I've just been through this as a Linux newbie this weekend and just(!) got this working. I had Windows 7 factory setup on a laptop and was trying to get Ubuntu to dual boot. I used the Windows partition manager to free up some hard disk space and then used live CD and GParted to create a /, /home and swap logical partitions. I then installed Ubuntu into those partitions. I then went back to Windows, ran EasyBCD and every way I tried (see above thread suggestions), always ended up with either with the grub> command prompt and sometimes nothing very much at all.
The first thing to do is check if you can use the grub> command prompt to actually boot into your ubuntu install. This will give you confidence that the install worked and will tell you what settings to use later.
"ls" will give you a listing of where you are. For me, this appeared to be my Windows 7 C drive from some of the directory names it brought up. So, you need to change the root to the partition that contains Ubuntu's /boot files. For this you use the grub "root" command.
Grub doesn't use sda/b/c/d for sata hard disks, instead it uses hd0 for sda, hd1 for sdb etc. The 'tab_key' is used in grub for auto complete options. I only have one hard disk so typing "root (hd0,'tab_key'" gave me all the options for partitions in hd0 that were available. It will help if you know which partition you've installed your /boot into but even then it's not too intuitive. I'd used GParted to create my install partitions so knew I'd installed /boot into partition sda9 so was able to identify it relatively easy. A bit confusing because grub starts counting extended partitions from 4. The way to get grub to get my /boot partition was by typing "root (hd0,8)" i.e. one less than the sda9 number. Do an "ls" and sure enough, I could see the /boot directory a vmlinuz file and a initrd.img file in the root.
The next bit to do is to load the kernel and the initrd file. The kernel one was the one that threw me as you need to specify the root in normal linux terminology as part of the command. Although the actual kernel and .img file are in the /boot, they have long names. In the root there's pointers to them that save on accurate typing. Here's everything I typed, including the root command above:
kernel /vmlinuz root=/dev/sda9
Doing that brought my Ubuntu up and gave me confidence that it was installed OK. Now I just needed to figure out how to automate it. This took me back to EasyBCD on Win7. Click to add a new entry (I left the original one that took me to grub> alone), and selected the NeoGrub tab and clicked Install. Following that, I clicked Configure and this brought up a menu.lst file. I added all the lines that I'd used above on the grub command line to get it to boot up and that was it. Next time I rebooted, I chose NeoGrub and I'm typing this all in from ubuntu, which looks fab and fast compared to the constant circles of delay of Win7.
links I've been using all weekend....