If you plug the external drive in, then set bios to boot first from the internal drive, linux will boot. This is not the behavior you want. You will get it because you installed the bootloader (GRUB) to the MBR of the internal drive.
You need to install GRUB to the MBR of the external drive, and restore Netloader (or whatever your windows is using) to the MBR of the internal drive.
This way, you can set the boot order to external then internal. When the external is plugged in, linux boots. When it is not, windows boots.