Unable to install Ubuntu on Lenovo Y500

Solution 1:

This is how I enabled Ubuntu 13.04 to install alongside Windows 8 with a new (May 2013) Lenovo IdeaPad Y500 (1TB drive, dual NVidia GT 750M).

1) Download a copy of Ubuntu 13.04 x64 desktop ISO and install to a USB flash drive. (http://www.ubuntu.com/download) Create the USB install image following this guide (https://help.ubuntu.com/community/Installation/FromUSBStick)

2) Resize your Windows 8 partition using the built in Windows drive management tool. Just resize the partition down, don't create a new partition in the empty space as the Ubuntu installer will do that. (You may need to do a complete reboot for the resizing to take place.)

3) While still in Windows 8, edit the boot/grub/grub.conf on the new USB flash drive using Wordpad.

Change where it says "set gfxmode=auto" to "set gfxmode=1920x1080"

Under "Install Ubuntu", change "quiet splash" to "nomodeset=1"

So it should look something like this:

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=1920x1080
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
    initrd  /casper/initrd.lz
}
menuentry "Install Ubuntu" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity nomodeset=1 --
    initrd  /casper/initrd.lz
}
menuentry "OEM install (for manufacturers)" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash oem-config/enable=true --
    initrd  /casper/initrd.lz
}
menuentry "Check disc for defects" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
    initrd  /casper/initrd.lz
}

4) Install Ubuntu and choose the option to install Ubuntu 13.04 alongside Windows 8. Choose to install the bootloader onto your new Ubuntu partition.

5) After the install is complete, boot again with your USB and select "Try Ubuntu" and let it boot to the text console.

You will not be able to use this new Ubuntu install until you edit this grub.cfg as well. To do this, first mount this new partition, and then edit the grub.cfg as above in the Ubuntu editor of your choice (vi, nano, etc).

sudo mkdir /mnt/newinstall
sudo mount /mnt/newinstall /dev/sdb8
sudo vi /mnt/newinstall/boot/grub/grub.conf

(Same edits as listed in step 3. Also on my install Ubuntu was on the 8th partition /dev/sdb8. Yours may vary so check it first!)

** Note the file is write protected, so make sure you use ":w!" to write from vi.

6) At this point you should be able to boot your new Ubuntu, but you will only be greeted with a hopefully legible text console. The default VESA and nouveau drivers do not support the 750M cards. In addition the Ubuntu provided nvidia binaries are also too old and will not work. (Well I spent several hours without success trying to get them to work.) The solution:

Install the new drivers from NVidia! (please visit the NVidia website and find the relevant driver URL. I have listed the one current as of 2013-May-6):

wget http://us.download.nvidia.com/XFree86/Linux-x86_64/319.17/NVIDIA-Linux-x86_64-319.17.run
sudo chmod +x NVIDIA-Linux-x86_64-319.17.run
sudo sh ./NVIDIA-Linux-x86_64-319.17.run
(follow the installer instructions)

7) You should now have both a functional Windows 8 and Ubuntu 13.04! I would love for the Ubuntu supported nvidia drivers to work, as any kernel Ubuntu updates will force me to have to re-install the nvidia binary drivers.

8) Choose your boot method. You can select "F12" while booting to choose what to boot. To set a default, hold "F2" while booting and you can reorder the boot priority.

Solution 2:

  • Do standard installation.
  • Reboot. Press F2 during reboot.
  • Change boot order of network boot to the topmost.
  • Press F10 to save and reboot.

That's it!