I've created a bootable backup of my Ubuntu to an external USB hard drive. I can now boot to my external backup from grub when grub is loaded from my internal hard drive, but I cannot boot to grub on the external hard drive. After telling my PC BIOS to boot from USB, I just get the message "Reboot and select proper boot device". The external USB hard drive is a "WD My Passport Ultra 1TB drive".

Here's the steps I've taken to get this far:

  1. Deleted and recreated the msdos partition table on the external drive.
  2. Created partitions as follows..

    Model: WD My Passport 0820 (scsi)
    Disk /dev/sdb: 1000GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Number  Start   End     Size   Type     File system  Flags
     1      1049kB  483GB   483GB  primary  ext3         boot
     2      483GB   698GB   215GB  primary  fat32
     3      698GB   1000GB  302GB  primary  ntfs

    which results in this:

    Disk /dev/sdb: 1000.2 GB, 1000170586112 bytes
    255 heads, 63 sectors/track, 121597 cylinders, total 1953458176 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00019d8c
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *        2048   943720447   471859200   83  Linux
    /dev/sdb2       943720448  1363150847   209715200    b  W95 FAT32
    /dev/sdb3      1363150848  1953458175   295153664    7  HPFS/NTFS/exFAT

    The second and third partitions are for other, non-Linux, backups.

  3. Used rsync to copy my entire Ubuntu, from the root on down, to the external drive on /dev/hdb1 (my Ubuntu backup partition), largely using this as my guide: https://wiki.archlinux.org/index.php/Full_system_backup_with_rsync

  4. Modified the backup's /etc/fstab (i.e. /media/LinuxBackup/etc/fstab where /media/LinuxBackup is the mount point for /dev/sdb1) to have just two entries:

    proc            /proc           proc    defaults        0       0
    UUID=ba0ad23c-1625-4dbf-ae50-0e4e68f469a6 /               ext3    relatime,errors=remount-ro 0       1

    where the above UUID is the UUID of /dev/sdb1.

  5. In the internal drive's Ubuntu partition (/dev/hda7), I modified /boot/grub/menu.lst to include the following entry:

    title       USB BOOT, Ubuntu 12.04.4 LTS, kernel 3.2.0-67-generic
    uuid        ba0ad23c-1625-4dbf-ae50-0e4e68f469a6
    kernel      /boot/vmlinuz-3.2.0-67-generic root=UUID=ba0ad23c-1625-4dbf-ae50-0e4e68f469a6 ro quiet splash 
    initrd      /boot/initrd.img-3.2.0-67-generic
  6. I rebooted and selected the above entry and successfully booted into Ubuntu off of the external hard drive. I confirmed this by checking that /dev/sdb1 is mounted as / (rather than /dev/sda7, as it is when booting from the internal drive).

  7. I attempted to load grub into the Master Boot Record (MBR) of the external hard drive by running:

    # sudo grub-install /dev/sdb

    This ran successfully.

  8. I rebooted, changed my PC BIOS to boot only from USB, expecting grub to appear, but instead got "Reboot and select proper boot device", making it seem as though grub is not on the external drive.

I'm now at a bit of a loss. Could this be a problem with my motherboard's BIOS or with My Passport Ultra?

  • Is this a UEFI machine? If so, is it running in legacy or compatibility mode? Grub needs to be installed differently on UEFI machines – ubfan1 Jul 26 '14 at 19:25

In step 8 in my question I indicated that I "changed my PC BIOS to boot only from USB". That is, I went into my BIOS setup, made the USB device my first boot device, and disabled all others.

After much head scratching and experimenting with Ubuntu and grub in order to understand why this wasn't working, I eventually tried pressing F8 at initial boot to get my PC's Boot Selection Popup. From there, I selected the USB hard drive and voila!.. the grub menu I configured on the USB drive appeared and I could use the Ubuntu on my external drive, ignoring the internal drive completely.

I still don't understand why this works when using my BIOS' Boot Selection Popup but it does not work when selecting the USB device as the first boot device in my BIOS setup. However, that is clearly not a Ubuntu or grub issue, but rather something wrong with my motherboard's BIOS (I'm using an ASUS P5KPL-CM).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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