Revision 1 as of 2012-05-21 04:23:10

Clear message

Lenovo B570 Installation Problems and Repair

This page exists to address a problem present in Ubuntu when attempting to install to a Lenovo B570. It exists in some other distributions, and it is likely a quirk of the B570 hardware -- although it could be a bug in the kernel or installation process.

There is a problem with installation when:

  • You're using the Lenovo B570
  • You're trying to install the 64-bit version
  • Your system uses MBR

The way to recognize this problem is:

  • Installation completes, and asks you to reboot
  • the system doesn't boot, or boots to your other OS, if present.

This problem is fixable, but it can cause a lot of headaches, particularly if you don't know what the problem is.

The fix, for advanced users: Boot from the install cd, chroot into the ubuntu partition of your hard disk, and install grub-pc. You will probably need to install it to the MBR as well, since Lenovo has a lot of partitions by default, and generally Ubuntu will install to sda6, which isn't directly bootable with a boot flag.

For everyone else, read on.

== The Problem ==

There are two ways of dividing a disk into partitions (sections): MBR and GPT. There are two standards for initializing your system: BIOS and UEFI. BIOS only knows about MBR. UEFI knows about GPT, or GPT and MBR.

The Lenovo B570 ships with a UEFI that can use MBR. At least some ship with MBR. The basic problem appears to be that the installer gets confused about whether to use an MBR or GPT version of GRUB (the thing that gives you the option to boot into Ubuntu or Windows). It is unknown at this time whether this is a bug in Ubuntu or whether it is a bug in the Lenovo B570.

For most people, this means that it will boot straight to Windows after installing Ubuntu, without giving the user an option to boot Ubuntu. For some, it leaves them with a system that doesn't boot.

Manual Repair

Follow these instructions for manual repair:

  • Boot from CD/USB live image
  • Connect to the network
  • Find and mount the Ubuntu partition you installed to
    • Launch "Files" or "Nautilus"
    • Select the partition you installed Ubuntu to earlier from the "Devices" list on the left
  • right-click on this partition in nautilus (it's in the list on the left), and click 'properties'
  • copy the name field, and when typing commands below, replace name_of_mount with that text. It will probably be something like "563451BD58A19D16"
  • Open a terminal
  • Execute the following (don't forget to change name_of_mount):
    MOUNTPOINT="/media/name_of_mount"
    if grep -q "Ubuntu 12.04" $MOUNTPOINT/etc/lsb-release; then mount | grep $MOUNTPOINT | awk '{print $1}'; fi
    • This should respond with something like "/dev/sda6"
      • This must start with /dev/sda

      • if it does not, this fix is not for you, and may break things further, so don't bother.

    BOOT_DEVICE_FIX=/dev/sda

sudo mount -o bind /proc proc sudo mount -o bind /sys sys sudo mount -o bind /dev dev chroot ./

apt-get update apt-get install -y grub-pc

exit sudo umount proc sudo umount sys sudo umount dev sudo sync sudo shutdown -r now

..at this point, the system should reboot, and give you the choice between Ubuntu and Windows (or just Ubuntu, depending on your install).