Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a Western Digital external hard drive that has plenty of space for more than one OS. I currently have three partitions one 250 GB for backups one 100 GB with Ubuntu and 500 GB or so miscellaneous. When I go to boot off the drive all I see is the title of the drive (My Passport 0730), it does not see the partitions is there any way around this?

I got it to work Mount the drive (or part) that u want and know what it is called (this is what i did not know) its not like windows where there is the dirve name (ex. X:\ or Passport in my case) its the mount location or something ... select it when installing and it works:)

share|improve this question
    
What you see (the title/name of the drive) is your BIOS asking you to choose a "boot device", i.e. internal hard disk, external disk, CD-ROM, etc. The program/component responsible for letting you choose a partition/OS to boot, once the boot device is chosen, is called the "boot manager" (usually GRUB). The GRUB installed by Ubuntu on the external drive will let you boot another Ubuntu or other Linux-based OSs (Mint, Fedora, CentOS, etc.) installed on the external drive. Note that Windows XP/Vista/7 do not support USB booting in their default configuration. –  izx Aug 23 '12 at 19:59
add comment

1 Answer

up vote 1 down vote accepted

What you need to do is boot the LiveCD and chroot into the Ubuntu system on the USB drive, then install grub2

First thing to do is identify what the device name of the Live file system is. In most cases this will be /dev/sdb, if there is only one other drive in the system, but it could be something else depending the configuration of your hardware.

A little more complicated is to identify which partition Ubuntu lives on. This will depend on exactly how you installed Ubuntu so it's best to check and be sure. Once you've booted the LiveCD use either Disk Manager or Gparted to look at the hard drive and identify the Ubuntu root (/) partition that you set up. You would be looking for an ext4 partition of the correct size.

For the purposes of these instructions I'm going to assume the correct device (drive) is /dev/sdb and that the partition is /dev/sdb3. You should substitute the correct device names as appropriate.

Firstly, in a terminal window mount the Ubuntu root partition:

sudo mount /dev/sdb3 /mnt

Next, export the LiveCD filesystem to the root filesystem on the drive:

sudo mount ‐‐bind /dev /mnt/dev
sudo mount ‐‐bind /proc /mnt/proc
sudo mount ‐‐bind /sys /mnt/sys

Now change the root filesystem to the hard disk:

sudo chroot /mnt

Now install grub2 to /dev/sdb

sudo grub-install /dev/sdb

At this point, while grub2 is installed it might not know about all the filesystems available, such as a windows partition on the hard drive or another Linux partition on either drive.

To fix this run update-grub:

sudo update-grub

and it will find all OS's on your system and add them to the grub menu. You should now be able to boot off the external drive and select the Ubuntu partition or any others to boot from

I note that there is no mention of a swap partition in your configuration. This is not likely to be a problem if there is plenty of RAM in your system and you never want to hibernate the computer. You will still be able to suspend the computer but this does continue to use a small amount of power.

The correct way to do this at the time of installation is to specify the correct hard drive to install the grub bootloader to. This might require selecting the manual configuration instead of the default one, then selecting the correct drive to install grub to. It's also possible to install grub to the internal hard drive and have it configured to boot Ubuntu off the external USB drive.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.