0

I first installed Windows 8.1 on my machine, and then installed Ubuntu 14.04 LTS. This is what my partition table looks like:

enter image description here

The problem is that when I boot the machine, I see no boot loader selection dialog! Instead depending on my boot configuration, I am either taken to Windows or Ubuntu. To boot into Windows, I have to change boot mode to UEFI, and then reboot. To boot into Ubuntu, I have to change boot mode to legacy , and then reboot. Having to meddle with boot configuration so frequently is annoying and seems wrong. There has to be a better way.

The partition highlighted in orange seems to be the one used by Windows for booting up. My (faint and probably incorrect) understanding from this article is that the mount point of this partition had to be /boot/efi, and everything would work fine. Is that correct? Is there a way to mark this parition as such after-the-fact? What would happen if/once this works - will I get a Grub prompt on boot up to choose the OS to boot into?

EDIT #1:

I reinstalled my Ubuntu, this time setting the mount point of Windows boot partition as /boot/efi, but not formatting it. This is how the updated partition table looks now. All problems persist.

enter image description here

Note that I am willing to reinstall Ubuntu if it cannot be helped. I want to get the dual-boot working.

EDIT #2:

I tried applying the boot-repair suggestion. This is what I get.

enter image description here

And my live-boot doesn't work in UEFI mode either.

3 Answers3

1

If Windows is installed in UEFI mode, Ubuntu should be installed in UEFI mode to avoid the mode switching you have encountered. The UFEI mode install will copy the Ubuntu bootloaders (shim/grubx64.efi into the EFI partitions FAT filesystem into directory /EFI/ubuntu , so they don't conflict with any Windows bootloaders. Also, an entry will be made in nvram to run those bootloaders (well, shim or grubx64 depending on if secure boot is enabled). You can make the entry yourself with efibootmgr, and copy the bootloaders to where they belong, but the boot-repair tool will do that for you. There are many detailed answers on how to run boot-repair, but basically, just run the parts you know you need to, and not the "recommended" since that probably does much more than you need (like renaming the Windows bootloaders etc.) Try just the convert to UEFI as the first step (and do read up a bit on boot-repair). Since you are willing, I'd just recommend reinstalling in UEFI mode. The only odd thing about your system is the placement of the EFI partition at sda5, but if Windows boots, I guess that's not a problem.


UEFI mode is selected in the UEFI settings (formerly the BIOS/setup). Read some of oldfred's suggested reading, but maybe the forums are a better place for any extended back and forth help. Every machine should be able to boot in UEFI mode, but some have more difficulties than others running a USB, however, it's not clear you even got into the settings to enable UEFI (or disable CSM compatibility mode).

ubfan1
  • 17,838
  • Some links: https://help.ubuntu.com/community/UEFI AND: http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-uefi-supported-windows-8-system AND Boot-Repair: https://help.ubuntu.com/community/Boot-Repair – oldfred Jan 10 '15 at 17:41
  • How to reinstall Ubuntu in the UEFI mode? I could not find anything on that. – missingfaktor Jan 10 '15 at 18:53
  • @ubfan1, I tried applying your suggestion of boot repair. It didn't work. I have added more details in the question. – missingfaktor Jan 10 '15 at 19:14
  • I reinstalled with UEFI mode as suggested by @codegagan. The "hold Shift during restart" was what I was missing. The issue is now resolved. Thanks for all the help! – missingfaktor Jan 11 '15 at 08:22
1

To do fresh install Ubuntu in UEFI mode:

  1. Remove "bios_grub" flag from sda10 partition (it's only for booting non-UEFI system from GPT-partitioned disks)
  2. Make sure you're using 64-bit Ubuntu (only x64 version could be UEFI booted)
  3. Booting Ubuntu LiveCD/USB make sure the system firmware is set to UEFI mode (in this case you got text-only white-on-black menu)
  4. Install Ubuntu with manual partition scheme ("Something else" choice), using sda5 as "EFI boot partition", sda1 as "root", sda2 as "home", sda3 as "swap"

GRUB should detect Windows and add it to boot menu options. All modern UEFI firmwares detect both OS'es, you just need to set system firmware boot Ubuntu by default (since we're going to use GRUB as boot manager).

dess
  • 692
  • I reinstalled with UEFI mode as suggested by @codegagan. The "hold Shift during restart" was what I was missing. The issue is now resolved. Thanks for all the help! – missingfaktor Jan 11 '15 at 08:22
1

In this situation the easiest way to fix the dual boot would be to re-install the Ubuntu in EFI mode and the steps you would need to do that are:

  1. In BIOS Setup, turn on the EFI mode and turn off the secure boot.
  2. Restart after the step 1 will lead to boot the Windows 8.1.
  3. In Windows setting Disable the Fast Startup if enabled as in http://winaero.com/blog/how-to-disable-or-enable-fast-startup-in-windows-8-1/
  4. Have the ubuntu installation USB/CD ready and inserted.
  5. In Windows 8.1 press and hold the Shift key and click restart, select Advance Options, Select Boot from USB or CD accordingly.
  6. The after restart it should boot to Ubuntu installation drive and now you can install Ubuntu as you do normally without caring about EFI partition yourself, Ubuntu will take care of it.
  7. You would see the Dual boot options after complete installation while your computer has EFI turned on.