You must do the following to boot a distro, originally installed in another disk, in the 1st partition of an external hard disk
(1) Edit menu.lst so that (a) the partition and disk numbers correspond to the USB disk position and this should be (hd0,0) and (b) amend the "kernel" statement with the parameter "root=" corresponding to the new partition reference. For example the 1st partition of a bootable USB disk would be sda1 but your Linux may be installed in device hda3. The change should therefore from root=/dev/hda3 to root=/dev/sda1.
(2) Do the same as Item 1b for /etc/fstab
(3) Edit /boot/grub/device.map to reflect the (hd0) is now sda
(4) Restore the boot loader. Say boot up by a Live CD and activate a Grub shell in root console the command would be
Code:
grub
root (hd0,0)
setup (hd0)
quit
reboot
Your Linux should now boot