# Solved: grub boot loader with external SATA hard drive



## jrbuergel (Jan 17, 2004)

I have Ubuntu 7.10 installed on a external SATA drive connected with eSATA, and windows XP MCE installed on the internal ATA IDE drive. The problem is with the GRUB boot loader. It will only boot the PC if the external drive is on and connected. It uses grub stage 1.5, but it must have installed this on the external rather than the internal hard drive? How to fix it so that I can boot up into windows XP with the external eSATA drive not connected or on?


----------



## saikee (Jun 11, 2004)

My guess is you have Grub installed in the MBR of the internal Windows disk. When Grub is booted it need its system files which are stored in the external eSata hard disk. Thus you need the eSata connected in order to use Grub.

The cure can be quite involved. The simplest is to have a small partition, about 1Gb, to house Grub anywhere in the internal hard disk. You need to resize XP first to get an unallocated 1Gb space, make it a Fat32 or ext2/3 partition, format it, copy /boot/grub directory off the Ubuntu partition into the new partition and tell Grub to get files from there by the "setup (hd0)" command.

Alternatively you can use Xp's NTLDR to boot Ubuntu. This is also an involved process because you need to setup Grub in the eSata first and amemd NTLDR's system file boot.ini.

Hooking the eSata may be the easiest.


----------



## jrbuergel (Jan 17, 2004)

Thanks for the help, I installed a Linux distro onto the internal hard drive next to XP, after I used Gparted to shrink the windows C partition, (PCLinuxOS), and it put in a new GRUB.


----------

