Can I move GRUB?

I had a Win7 laptop with Win7 installed on the single internal drive.
Attached to this is an eSata external drive.

I installed Suse on the external drive. The install is good.
I have enabled the Win7 OS in GRUB.
When the eSata is plugged in I am able to boot and choose which OS I want.

When the eSata is unplugged, the boot fails with the following message:

GRUB Loading stage1.5.
GRUB loading, please wait...
Error 21

I assume, what I need to do is to move the GRUB install to my internal drive.

How do I do this? Indeed can I do this?
Or can I re-enable the Microsoft BootLoader and tell this bootloader to load either OS?
???

What your wanted to do was to FULLY install openSUSE AND Grub on the external Hard Drive so that when the Hard Drive was removed, Windows booted like it always did. You must be able to select your external hard drive as the first boot drive in your BIOS to really do anything to make this work as you would like. I presume that you installed Grub into the MBR (Master Boot Sector) of the Windows drive. To get back to normal there you would need to reload the MBR with generic booting code, which your original Windows disk could do in repair mode and ensure that the Windows boot partition is marked bootable.

To really determine where everything is at, you could run the Findgrub utility by Please_Try_Again found here (Read Message #59):

Looking for Grub and Windows bootloader in all partitions.

I would post the information Firdgrub displays. Further, I would run the terminal commands:

su -
fdisk -l
cat /boot/grub/menu.lst

And Post that output as well. There is an article here about reloading the Grub Bootloader here:

Re-Install Grub Quickly with Parted Magic

To get Your external drive working right, you would need to reinstall Grub on it, perhaps the MBR and still loading openSUSE as before. I have a thread on how to install openSUSE on an external hard drive you can read in this thread here:

Dual Booting with openSUSE on an external HDD and other OS’s on an internal HDD

See if any of this fits your fancy.

Thank You,

You need a Linux partition on your internal drive for /boot in order to install Grub stage2 there.

You need to rewrite a generic bootcode in MBR and set the booflag on the Windows partition.
Also check this howto:
Boot Multiboot openSUSE Windows (2000, XP, Vista - any mix) with Windows bootloader.