Windows – Dual boot Windows 8 and Ubuntu

multi-bootUbuntuuefiwindows 8

I've installed Windows 8 on a machine (Lenovo X220 laptop) with Ubuntu 12.10 already installed on another disk.

I am guessing that Windows 8 has convinced the laptop to switch to UEFI boot (rather than the BIOS boot that was there previously) as the Lenovo splash screen on startup now no longer has the options to interrupt the boot process (for example, to choose the boot drive). Interestingly, I can interrupt the boot process and drop into the BIOS or choose a different boot drive if I restart the machine, but not from a cold boot.

Previously I had Windows 7 on one drive (mSATA SSD; listed in Linux as /dev/sdb; first preference in the BIOS for booting) and Ubuntu on the other drive (SATA HDD listed in Linux as /dev/sda). I had the Windows bootloader installed on sdb, and GRUB installed on sda, and I would choose which OS to boot by choosing the boot drive in the BIOS rather than through a bootloader menu. I can still do this (to load Linux) if I manage to get into the BIOS boot menu – GRUB is booting via the BIOS, but Windows is booting via UEFI.

So I would ultimately like to have both Linux and Windows boot by UEFI and have the option of choosing which one through a menu of some sort. How can I retrospectively get Linux booting from UEFI, and how would I get a menu happening?

Best Answer

Without more information, any answer will be guesswork. I recommend you boot from an emergency Linux disc, run Boot Info Script, and post a link to the RESULTS.txt file that it produces. This will provide information about your partition layout and boot loader configuration.

Contrary to what TheX wrote, Ubuntu most emphatically does support (U)EFI booting. TheX is confusing UEFI with one of its specific features, Secure Boot, which is intended to improve security. Ubuntu has supported (U)EFI for quite a while, and they're working on seamlessly booting on systems with Secure Boot enabled. They may even have incorporated such support in Ubuntu 12.10, but I'm not positive of that.


Edit:

Your system is definitely not booting either OS in EFI mode. Both your hard disks use the MBR partition table, and Windows ties the partition table type to the firmware type, with MBR being superglued to a BIOS-mode boot. You also have no EFI System Partition (ESP) or FAT partition, which are required to boot UEFI-based PCs. Thus, your suspicions about a mixed BIOS-mode/EFI-mode boot are misplaced.

My hunch is that you've accidentally changed a firmware setting -- perhaps you've enabled a "fast boot" option or changed the splash screen. This will affect how the BIOS goes through its initial tests and displays, and could make it harder to access its settings or activate its boot manager. I recommend you go into the BIOS settings and look for such options. I'm not familiar with your specific model so I can't give more specific advice on this score.

Once you've booted Ubuntu, you should be able to get it to detect your Windows configuration and add it to the GRUB menu by doing a grub-mkconfig -o /boot/grub/grub.cfg. If Windows still doesn't appear in the GRUB menu, you may need to create a manual entry for it in /etc/grub.d/40_custom; or you can use your BIOS options to select the boot device, as you've done in the past, if you can slow it down to the point that getting to those options can be done reliably.

Related Question