[wplug] help needed to install ubuntu in external USB drive.

Bryan J. Smith b.j.smith at ieee.org
Sun Aug 19 07:43:02 EDT 2007


On Sun, 2007-08-19 at 00:21 -0400, Vikram Sai Balaji wrote:
> I bought a 500GB external usb drive for my hp compaq nc6230 laptop.
> Partitioned it into multiple partitions. The first partition is 100GB.
> i tried installing ubuntu 7.04.on the first partition of that disk.
> While in install i gave "/dev/sdb" in the boot loader section so that
> i can use my external usb drive in whatever system i want.  When i
> start with USB external hard disk as primary boot device it showed me
> Grub with ubuntu generic. but when i choose ubuntu generic or recovery
> mode to proceed it shows the following error. 
> Error 15: File not Found
> Press any key to continue...

I assume when you installed Ubuntu, USB was _not_ the first boot device,
correct?  That means /dev/sdb was _hd1_ from the standpoint of GRUB.

So when you changed the USB device to the first boot device, /dev/sdb
now became _hd0_.  That's going to cause problems because the mappings
must match.

GRUB is going, "there is no hd1" or "/dev/sdb is not hd1".  That is
because you changed the BIOS disk mapping when you selected USB to be
the primary boot.

[ SIDE NOTE:  I assume you're used to doing this with Windows, correct?
You see, Windows (at least DOS-based, although NT-based has limitations
too) has problems booting when it's not on the "first disk" from the
standpoint of the BIOS, and needs the the "active" flag set.  Linux does
not, and can typically boot from any device -- although GRUB will be on
the first disk, because that's what the BIOS looks for. ]

> title        Ubuntu, kernel 2.6.20-15-generic
> root        (hd1,0)

Yep, that's your problem.

> # linux installation on /dev/sda1.
> title        Debian GNU/Linux, kernel 2.6.19 Default (on /dev/sda1)
> root        (hd0,0)

And Debian is your /dev/sda and normal boot, correct?

> Can anyone help me fix this issue?

Yes, either:  

A)  Use the Debian GRUB to chainload /dev/sdb's GRUB, *OR*
B)  Replace all hd1 with hd0 for Ubuntu's GRUB

If you choose "A" you can boot _either_ Debian or Ubuntu, with_out_
having to go into the BIOS.  Just add this line to the Debian's
(/dev/sda) GRUB:  

  title Ubuntu /dev/sdb (menu)
        rootnoverify (hd1,0)
        chainloader +1

If you choose "B" you'll still have to go into the BIOS and change it
whenever you want to boot Ubuntu.  Again, when you change USB to boot
first, your USB device (/dev/sdb) now becomes "hd0".  You'll want to
change your device mappings in GRUB as well ...

  (hd0)   /dev/sdb	
  (hd1)   /dev/sda

For "A", they remain the same, as when you installed Ubuntu:  

  (hd0)   /dev/sda
  (hd1)   /dev/sdb



-- 
Bryan J. Smith         Professional, Technical Annoyance
mailto:b.j.smith at ieee.org   http://thebs413.blogspot.com
--------------------------------------------------------
        Fission Power:  An Inconvenient Solution




More information about the wplug mailing list