That worked with me in Ubuntu
sudo fdisk -lIn other words, you have to run fdisk as root in order for it to work. Also, please identify the Windows/Ubuntu partitions that fdisk lists. Since you mentioned that you can set your BIOS to boot whichever drive you choose, how about booting the Ubuntu drive on start up, but use the following instructions to install Grub to the MBR of the Ubuntu drive so it is bootable:
grub> find /boot/grub/stage1
grub> find /grub/stage1One of the above commands should return your main Ubuntu partition (or /boot partition if you have one) in the form of (hdX,Y) where X and Y are numbers, for example (hd1,4), but use whatever it returns as follows:
grub> root (hdX,Y)
grub> setup (hdX)
grub> quitThen reboot, set your BIOS to boot the Ubuntu drive, and you should at least get a Grub menu on start up if all goes well. Let me know if you get that far or if you run into problems.