Ubuntu 8.04

Derek Broughton news at pointerstop.ca
Tue Aug 19 16:11:55 UTC 2008


Karl Larsen wrote:

> Rob wrote:
>>
>> Several days ago, I installed Ubuntu 8.04 to an external drive here (a
>> Hitachi 300 gig which has an option of a SATA connection or USB -- I'm
>> using USB).  Following the installation and reboot (it did NOT ask me
>> where -- or even if -- I wanted to install Grub) I am confronted with a
>> Grub error nbr 21.  Unfortunately, the boot process gets no further.  I
>> do not know how to fix this unless it's editing Grub but I have no idea
>> where the installation tried to put Grub.  I'm guessing on my internal
>> hard drive and not very successfully.
>>
>     I think you should just forget trying to put Ubuntu on a USB
> connected hard drive. I say this because I KNOW that the USB drive is
> not active until AFTER Grub loads the kernel,

What you KNOW is, as so often, completely wrong.  

> and it can't get to the 
> kernel until the USB drive is active. It is a catch 22 problem and you
> will never be able to fix it.

Sure he will.  Two short lines to come, after I finish explaining why you
don't have a clue what you're talking about.

Modern systems not only can recognize a USB drive in grub - they can
recognize it in the BIOS.  Try sticking any old USB stick in the system,
setting the USB boot priority ahead of the hard drive in the BIOS, and
boot.  The machine will hang because it can't find a boot block on the
USB - because it is already reading it!  As long as the USB drive has a
boot sector, grub can read it.  Whether grub can then _boot_ from it
depends on "usbstorage" and probably some other modules being available in
the initrd.  afaik, that's actually default these days - at least when I
did the impossible and created an external USB boot drive, I didn't have to
fiddle with the initrd.

Now, to fix your USB boot problem.

1) Boot a live CD
2) Open a terminal session 
3) Plug in the USB drive
4) If the USB drive doesn't mount automatically:
    sudo mount /dev/xxxx  /mnt
   where 'xxxx' is the device name assigned to your drive's linux partition
5) sudo grub-install --root-directory=MOUNTPOINT DEVICE
   where MOUNTPOINT is /mnt or /media/... (wherever it got automounted) and 
   DEVICE is the /dev name of the device, not the partition (eg, /dev/sdb 
   where the linux partition is /dev/sdb1)
6) reboot with your USB drive


-- 
derek





More information about the ubuntu-users mailing list