External Drive not recognized on reboots

Very strange problem here. When I reboot my computer the external hard drive 320 gig cirago appears to be seen, but will not mount therefore I cannot boot Ubuntu 9.1. At first when I installed Ubuntu 9.1 there is a known bug where it installs Grub2 to your MBR on the internal even though you installed it on an external. Given this it booted first time around and when i rebooted to apply driver updates Grub2 would not find the linux partition (2nd, 1st is win7 backup) resulting it not finding the grub.conf file to see what OS's to boot leaving me at Grub rescue with no commands. Fixed the mbr with live cd installing lilo which got me back into Win 7 on my internal then did some searching and landed here with EasyBCD 2.0 for grub2. rebooted Win 7 loads fine; rebooted Ubuntu of course is not found again and it stalls at cmain(); Shut down computer and turn off external boot and power back up and it finds Ubuntu with no problems just like Grub2 did. Now it appears there is nothing wrong with either bootloaders but more like what happens before them. Strange thing is when I use neogrub and use grub commands like Find it list both internal and external drives (hd0,0) (hd1,0); But when I go to root (hd1,0) cannot mount. This would be because (h1,0) is ntfs so rootnoverify does work. Ubuntu is actually (hd1,1) or the second partition which is not shown with the find command nor will it mount with the root command. If I unhide (hd1,1) it states its already unhidden which is strange. So here in lies my problem, I wish to be able to reboot with external attached and switch from win7 to ubuntu and vice versa without having to completely shut down computer and then boot again (seconds different I know) but it shouldn't have to be that way. Hopefully someone has some knowledge about bios, post, mounting externals that could lend me a hand.