install to an usb disk does not work

Bug #111731 reported by Michal Suchanek
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Tried installing Feisty to an USB disk.

- the disk is offered n partitioning and can be set up for installation. However, the installer offers to install grub on (hd0) which is the internal drive.

- the installed grub is configured to load kernel from (hd1,1) but the USB disk is (hd0) when booting from it

- when I boot from the USB disk and try to redetect grub drives the disk map is still wrong. It assings (hd0) to the internal drive and (hd1) to the USB drive

- when I edit the disk map and reinstall grub I also have to change the root in menu.lst

After that the install worked except hibernation. Hibernation probably turns off USB and I get loads of messages about rejecting IO to a dead SCSI device.

Revision history for this message
Andreas Moog (ampelbein) wrote : Old standing report

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thank you for taking the time to report this bug and helping to make
Ubuntu better. You reported this bug a while ago and there hasn't been
any activity in it recently. We were wondering is this still an issue
for you? Can you try with latest Ubuntu release? Thanks in advance.

 status incomplete
 assignee <email address hidden>
 subscribe

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkit5DcACgkQ06FgkPZwicSA6gCgirp2el/jXrNpjtYzEFnG5mmr
96gAn1jWbVjRkegHNUswvu6+CCyHgx7o
=k3uh
-----END PGP SIGNATURE-----

Changed in ubiquity:
assignee: nobody → andreas-moog
status: New → Incomplete
Revision history for this message
Andreas Moog (ampelbein) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in ubiquity:
assignee: andreas-moog → nobody
status: Incomplete → Invalid
Revision history for this message
komputes (komputes) wrote :

I am reopening this bug, and I am willing to submit any of the missing information to get this bug fixed.

What is the issue: Default install on a USB drive makes for the following boot process. BIOS will boot and pass control over to the "master disk" (hd0) or /dev/sda which will read the pointer in the first 512 bytes of the drive (MBR) which points it to /boot on /dev/sdb1 and load GRUB.

How this should be: Default install on USB drive should install MBR on /dev/sdb or (hd1,0), install grub on /dev/sdb1 and then change the grub menu.lst to (hd0,0) as it will be the first drive loaded when booting from the USB disk.

The issue with ubiquity when installing to a USB drive is that on the last configuration screens, when you get to the "Advanced" button, it allows you to select where you would like to install the boot loader (default is hd0) installed. The default is to install the bootloader on the first internal drive. You can set this to another disk (like your usb disk /dev/sdb) but this will only install GRUB onto the usb disk, completely ignoring the fact that you want the MBR to be written on that disk as well. Currently, to *easily* install onto a USB memory stick or a memory card (SD card or other) the computer must not have an internal disk drive during the installation.

Problem: The user is not informed where the MBR and Bootloader are installed on the external USB drive.
Resolution: When installing to an external USB disk, GRUB and MBR should be installed on that drive.
Workaround: Install Ubuntu; Mount the newly installed drive; Reinstall GRUB & MBR specifying the root-path/device;

Detailed workaround:
1) Install Ubuntu from a LiveCD to a USB drive (eg. /dev/sdb) and select "Advanced" to install the bootloader on the partition that has Ubuntu on it.

2) Once install is complete mount /dev/sdb

3) Mount the disk (in this case we will mount /dev/sdb1 to /media/disk)

4) Install the MBR onto the device (in this case /dev/sdb). This can be accomplished by issuing the following command:

# grub-install --root-directory=/media/disk/ /dev/sdb

5)When booting from the USB drive, you will be booted into GRUB you may need to edit the root line to get it to boot well. This is due to the disk thinking it is the second disk loaded, but when the BIOS boots from the USB disk it is now seen as the first disk. Due to this you need to change (hd1,0) to (hd0,0) in /boot/grub/menu.lst on the USB drive.

Please let me know what other information I can provide to escalate the importance of this bug.
Brainstorm for this is here: http://brainstorm.ubuntu.com/idea/17828

Changed in ubiquity:
status: Invalid → New
status: New → Confirmed
Revision history for this message
Phillip Susi (psusi) wrote :

I believe this was fixed in 9.10 with the transition to grub2.

Changed in ubiquity (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Michal Suchanek (hramrach) wrote :

grub version has nothing to do with this.

This is installer bug.

BTW what information do you lack to diagnoes and fix this?

TEST: put and internal disk and an USB stick into a PC. Install on the USB stick. Remove/disconnect the internal disk. PC should be bootable.

Revision history for this message
Phillip Susi (psusi) wrote :

The problem was that grub was configured to point to the wrong drive. This is no longer an issue with grub2 because it uses UUIDs to locate the correct drive.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.