UEFI (~EFI) is a firmware interface that is widespread on recent computers, especially those more recent than 2010. It is intended to replace the traditional BIOS firmware interface that is prevalent on earlier machines. This page provides information about installing and booting Ubuntu using EFI, as well as about switching between EFI mode and legacy BIOS mode using Ubuntu.
Installing Ubuntu Quickly and Easily via Trial and Error
If you have a computer that is more recent than 2010 and you do not know whether or not you need to install Ubuntu in EFI mode, you should be able to get Ubuntu installed quickly and correctly using the following steps:
Create a LiveDVD or LiveUSB of Ubuntu (>=12.04.2) 64bit.
In your BIOS, disable QuickBoot/FastBoot and Intel Smart Response Technology (SRT). If you have Windows8, also disable FastStartup.
Boot your PC using the LiveDVD or LiveUSB and choose "Try Ubuntu". If you get a Secure boot or signature error, you may wish to disable SecureBoot then retry to boot the disk.
Install Ubuntu from the Live CD/DVD or Live USB in the usual manner, then reboot the PC.
If the PC does not load Ubuntu (but instead loads Windows, for example, as in Bug #1050940), or if the Windows entry in the GRUB 2 menu does not boot Windows (see Bug #1024383), boot your PC using the Live CD/DVD or Live USB and choose "Try Ubuntu" once again. When the live session has loaded, run Boot-Repair (see link for details). When Boot-Repair loads, click on the "Recommended repair" button, and write on a paper the URL (paste.ubuntu.com/XXXXXX/) that will appear. Then reboot the pc. Do not run Boot-Repair unless you have problems booting the computer; the expression "if it ain't broke, don't fix it" applies to this tool.
This should fix most boot problems. If this does not fix your boot problems, please try to determine if you have accidentally installed a 32 bit version on a system that requires 64-bit EFI version or perhaps installed the right version in legacy mode. If you installed the right version in the wrong mode you can convert it (more on this later)
Installing Ubuntu in EFI mode
Warning: if you are a new Ubuntu user, you may want to follow the advice of the previous paragraph.
Case when Ubuntu must be installed in EFI mode
Having a PC with EFI firmware does not mean that you need to install Ubuntu in EFI mode. What is important is below:
If the other systems (Windows Vista/7/8, GNU/Linux...) of your computer are installed in EFI mode, then you must install Ubuntu in EFI mode too.
If the other systems (Windows, GNU/Linux...) of your computer are installed in Legacy (not-EFI) mode, then you must install Ubuntu in Legacy mode too. Eg if your computer is old (<2010), is 32bits, or was sold with a pre-installed Windows XP.
If Ubuntu is the only operating system on your computer, then it does not matter, you can install Ubuntu in EFI mode or not.
To install Ubuntu in EFI mode:
Use a 64bit disk of Ubuntu (Ubuntu32bit cannot be easily installed in UEFI mode)
Use a supported version of Ubuntu. Support for UEFI appeared in 11.10, but has become more reliable in next versions. Support for UEFI SecureBoot appeared in 12.10 and 12.04.2.
Set up your firmware (BIOS) to boot the disk in UEFI mode (see the "Identifying if the computer boots the HDD in EFI mode" paragraph below)
Nothing special is required if you use the automatic installer of Ubuntu ("Install Ubuntu alongside others" or "Erase the disk and install Ubuntu"). Important: if you have a pre-installed Windows and you want to keep it, do not choose "Erase the disk and install Ubuntu".
If you use the manual partitioning ("Something else"), the difference is that you will have to set the /boot/efi mount point to the EFI partition. And if there was not any EFI partition on your HDD, you first will have to create it (see the "Creating an EFI partition" paragraph below).
Identifying if the computer boots the HDD in EFI mode
This is possible only if you have already installed Ubuntu on the HDD, or by looking at the BIOS setup (see paragraph below).
From an Ubuntu installed on the HDD (neither liveCD nor liveUSB), open a terminal (Ctrl+Alt+T), then type the following command:
[ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
Remark: if the result is "Legacy boot on HDD", then either the BIOS is not UEFI type, or the BIOS is not set up to boot the HDD in UEFI mode.
Identifying if the computer boots the Ubuntu DVD in EFI mode
Warning: even if your PC boots the DVD in EFI mode, it might boot the HDD in Legacy mode (and the contrary).
When booting on a 64-bit Ubuntu disk:
- If the BIOS is set up to boot the CD in EFI mode, then you will see the screen below:
- If the BIOS is NOT set up to boot the CD in EFI mode, or if the disk is not 64-bit, then you will see the screen below:
Set up the BIOS in EFI or Legacy mode
Some recent computers (>2011) allow to set up the boot either in UEFI mode or in Legacy (not-EFI) mode. The way to carry out this setting depends on the computers, but generally this setting is located in the "Boot order" tab of the BIOS (to access the BIOS screens, it is generally necessary to press a key during the PC startup).
Note: Some BIOSes (e.g. American Megatrends' "Aptio", found on the Asus vivobook series) call Legacy mode "Compatibility Support Module" or simply "CSM".
Remark: Some BIOSes allow one to set up the boot mode for the optical drive separately from the boot mode for the HDD.
For example, below:
The "UEFI Hitachi" line allows to boot the HDD in EFI mode,
The "P1: Hitachi" line allows to boot the HDD in Legacy (not-EFI) mode,
The "P3: DVD" line allows to boot the Ubuntu CD in Legacy mode
The "UEFI: USB" line allows to boot the Ubuntu liveUSB in EFI mode.
Here is a 2nd example of BIOS, simpler, where the "Boot Mode" parameter allows one to choose the boot mode ("UEFI" or "Legacy") for all media (hard disk, CD, USB...) at the same time.
Some other firmwares (BIOSes) propose an "UEFI/Legacy Boot:" option with the following choices: [Legacy only], [UEFI only] and [Both]. This last one boots in EFI mode when possible, then in Legacy mode if no EFI files are detected.
Creating an EFI partition
If you are manually partitioning your disk in the Ubuntu installer, you need to make sure you have an EFI partition set up.
If your disk already contains an EFI partition (eg if your computer had Windows8 preinstalled), it can be used for Ubuntu too. Do not format it. It is strongly recommended to have only 1 EFI partition per disk.
An EFI partition can be created via a recent version of GParted (the Gparted version included in the 12.04 disk is OK), and must have the following attributes:
Mount point: /boot/efi (remark: no need to set this mount point when using the manual partitioning, the Ubuntu installer will detect it automatically)
Size: minimum 100Mib. 200MiB recommended.
Other: needs a "boot" flag.
Identifying if an Ubuntu has been installed in EFI mode
An Ubuntu installed in EFI mode can be detected the following way:
its /etc/fstab file contains an EFI partition (mount point: /boot/efi)
it uses the grub-efi bootloader (not grub-pc)
from the installed Ubuntu, open a terminal (Ctrl+Alt+T) then type the following command:
[ -d /sys/firmware/efi ] && echo "Installed in EFI mode" || echo "Installed in Legacy mode"
Converting Ubuntu into EFI or Legacy mode
Converting Ubuntu into EFI mode
Note: Do not follow this procedure if your computer is already booting correctly. Use this procedure only if you believe you've accidentally installed Ubuntu in BIOS/CSM/legacy mode and you want it to boot in EFI/UEFI mode.
Start Boot-Repair, click on "Advanced options", go to the "GRUB location" tab.
If you do not see a "Separate /boot/efi partition" line, this means that your PC does not have any EFI partition. In this case, exit Boot-Repair, then create an EFI partition (see the "Creating an EFI partition" paragraph above).
If you see a "Separate /boot/efi partition" line, tick it then click the "Apply" button.
Set up your BIOS so that it boots the HDD in EFI mode (see the ""Set up the BIOS in EFI or Legacy mode" paragraph above).