I installed Ubuntu 9.04 on my old Shuttle box a couple of months ago to test some of my plugins on XBMC for Linux. The installer was smart enough to included the Windows XP boot entry and all was good until I installed Windows 7 later on, overwriting Grub with it’s own boot manager.
EasyBCD was the first thing that came to mind, they even have this tutorial on how to add Ubuntu to Vista loader. Adding the Ubuntu partition as per tutorial didn’t do it for me, and then I found this post explaining how to use EasyBCD to install NeoGrub.
I’m not a Grub expert so I went on and booted with Ubuntu Live CD to get the original /boot/grub/menu.lst, saved it on a temp directory on one of NTFS partitions, came back and booted in Windows 7. Run EasyBCD and follow the post to add the NeoGrub boot entry and saved the menu.lst directly in F:\NST.
Choosing the Ubuntu 9.04 boot entry now starts Grub showing it’s own boot entries, but you I could probably customize menu.lst so that it starts Ubuntu directly (timeout=0, default=0).