tuse & xavierkress,
I think your problem is more serious than many anticipate.
Your internal disk has a Vista. Its boot loader has been overwritten by Grub. That is why you get Grub when there is no Ubuntu around.
You installed Ubuntu as the 2nd disk, Vista as the 1st disk and Grub is part of Ubuntu residing in the 2nd disk.
When the 2nd disk is missing Grub can not function because it can't find the rest of itself. Error 21=selected disk does not exist.
-----------------------------------------------------------------------------------------------------------
Cure for booting Vista when 2nd disk absent and Ubuntu when 2nd disk is attached.
(1) Hook back the 2nd disk and boot up Vista.
(2) In Vista right click "Computer" then left double click "manage", then "storage" and "disk management" to fire up the disk management program.
(3) Highlight the Vista partition, use its function to reduce the partition to obtain 1Gb of free hard disk space at the end.
(4) Reboot vista to make sure everything works correctly in a slightly smaller size.
(5) Boot up Ubuntu, click Application/Accessories/terminal
(6) Use this command to partition the new free space in Vista disk
Code:
sudo su
cfdisk /dev/sda
If the program shows up the first partition has type 7 for ntfs and there is a free space of 1Gb then highlight the free space, create a primary partition, use "type" to change it to type "c" for fat32, select "write" to write the new partition table, re-confirm with "yes" and click "quit". The new partition should be sda2.
There is a slight possibility that if you have a Pata disk and are using an old version of Ubuntu the Vista disk may be called hda instead of sda. In such a case just change everything from sda to hda in the above and below.
(7) Format the new sda2 partition to fat32 filing system by command
Code:
mkdosfs -F32 /dev/sda2
(8) Make a mounting point and mount this new partition in Ubuntu by command
Code:
mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
(9) Copy the Ubuntu /boot directory into the new sda2 partition by command
Code:
mkdir /mnt/sda2/boot
cp -r /boot/* /mnt/boot/
(10) set up Grub in /dev/sda2
Code:
grub
root (hd0,1)
setup (hd0)
quit
(10) Exit Ubuntu, power down, remove the external disk and your will find your wish has been granted.
Explanation -- In the above you duplicate the Grub in Ubuntu and put it in a new partition at the back of the Vista disk. Thus Grub can operate without the external disk attached.
Changing Grub does not help you guys here before the Grub configuration is /boot/grub/menu.lst. It is in the Ubuntu disk. Therefore changing it 1000 times but with it detached is not a cure.