What is happening is the boot drive is changing. When the internal drive is plugged in it is the primary drive, which has the Windows pointer in the mbr, which points only to Windows.
When you have the internal drive disconnected the BIOS sees the external drive as the boot drive, which has grub in its' mbr. It sees the Linux install but not the Windows install. It sounds as if you installed Linux with your Windows drive disconnected.
There are several fixes for this but this might be a situation where catmother's suggestion in another thread may have a practical application. See the thread below.viewtopic.php?f=46&t=11688