Har precis suttit och pulat med liknande problem själv och precis fått det att fungera. Det verkar vara en massa strul just för att man kör Windows 7.
Min uppsättning:
2 Hårddiskar.
Först installerade jag Windows 7 på den första.
Sedan installerade jag Ubuntu 9.04 på den andra. Valde att installera grub på hårddisken där jag installerade Ubuntu. I mitt fall blev detta /dev/sdb1.
Nu gick det som väntat att endast boota till Windows 7.
För att min lösning ska fungera krävs det att du kan boota till Ubuntu om du ändrar bootordningen till din andra hårddisk i BIOS. D.v.s att din grub konfiguration fungerar.
Ändra bootordningen i BIOS till din andra hårddisk så att du kommer in i Ubuntu(alternativt boota från installCDn). Lokalisera din menu.lst i /boot/grub. Kopiera över denna fil på ett USBminne eller maila den till dig själv så du kommer åt den från din Windows 7 installation.
Ändra tillbaka bootordningen i BIOS så att du bootar in i Windows 7. Installera easybcd. Lägg till ett entry under Linuxfliken med valfri description. Kryssa i "Grub isn't installed to the boot sector".
Easybcd installerar då sin egen "låtsasgrub" och skapar en entry för denna i din Windows 7 bootloader.
Gå till katalogen där "låtsasgrubs" konfigurationsfiler finns. Default är c:\NST\
Där ska det bland annat finnas en menu.lst. Byt ut denna mot den menu.lst som du kopierade från din Ubuntu installation.
Boota om och allt ska fungera :).
Det här kan låta omständigt men har inte lyckats få det att fungera på något annat sätt(om man vill använda Windows 7s bootloader) och har testat åtskilliga sätt. De vanliga sätten som fungerar i Vista har inte fungerat för mig i Windows 7.