Ubuntu – Can’t boot into Ubuntu after Windows 8.1 upgrade, boot-repair doesn’t fix it

dual-bootgrub2installationuefiwindows

I have a sony vaio duo 11 convertible, it was successfully dual booting lubuntu 13.10 and windows 8, but after the upgrade to windows 8.1 it doesn't load anything but windows.

I disabled windows' "quick boot" feature, then run boot-repair, but it doens't fix the issue (it used to work when windows 8 messed the boot config, but not with windows 8.1). I installed esayBCD on windows and now I see its boot loader, but not grub.
I even tried chrooting and grub-installing on /dev/sda, but I don't think that grub is the boot loader loaded at startup.

My guess is that windows put a boot loader somewhere else than /dev/sda.

If I start the system with a refind USB disk I can successfully load lubuntu.

This is boot-repair output: http://paste.ubuntu.com/6598795/
(this one was run after booting sda2 lubuntu from a refind usb disk, but I also tried with live CDs with the same results)

A brief history of how I got there:

  • In BIOS, I disabled "secure boot" and enabled "UEFI mode".
  • Formatted the hard disk to wipe the sony pre-installed windows 8
  • Installed Lubuntu 13.10 on sda2 (sda1 was created by the installer as UEFI partition)
  • Installed Android-x86 on sda3
    (everything was working so far)
  • Installed Windows 8 in the free space (it created sda4-5-6). Windows screwed up the boot, but boot-repair fixed it. Windows kept overwriting the boot loader until I removed its "quick boot" option.
    (everything was working again)
  • Upgraded windows to 8.1, now there is a windows boot loader, I removed (again) the "quick boot" option, I repeatedly installed grub on /dev/sda but I always get another bootloader (windows/microsoft/easyBCD??) that is only able to run windows.

I would like to understand which boot loader is run at startup, where it is located, and how I can change that. Thank you!

edit:
I installed rEFInd in windows following the official instructions, and effectively changing the "windows boot manager" section so that now it looks as follows:

S:\EFI\refind>bcdedit /enum active /v
Windows Boot Manager
--------------------
identificatore          {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=S:
path                    \EFI\refind\refind_x64.efi
description             rEFInd am
locale                  it-IT
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {b781b519-6749-11e3-a4a1-eb3a69ac7fb1}
resumeobject            {b781b518-6749-11e3-a4a1-eb3a69ac7fb1}
displayorder            {b781b519-6749-11e3-a4a1-eb3a69ac7fb1}
                        {b781b512-6749-11e3-a4a1-eb3a69ac7fb1}
                        {b781b524-6749-11e3-a4a1-eb3a69ac7fb1}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 5
displaybootmenu         Yes

BUT I still get a boot loader that is not rEFInd!! it looks similar to this instead:
windows legacy boot loader

Best Answer

TRY THIS FIRST

In Win 8.1 hold down SHIFT while you click on Restart. It should bring Advanced Startup Options. You should be able to select your Ubuntu startup partition from there and then boot into it.

Saves the trouble of re-installing, but you have to ask Windows to load Ubuntu...