Ubuntu – 16.04 new installation gives grub-efi-amd64-signed failed installation /target/ ubuntu 16.04 at the end

16.04grub2uefi

I am installing Ubuntu 16.04 in an Intel NUC computer with UEFI enabled. I am using an SSD from another computer. During the installation I chose Erase the disk and make a new full install

At the end of the process I see:

grub-efi-amd64-signed failed installation /target/ Ubuntu 16.04 

And the system does not boot.

I tried to use boot-repair but apparently it does not solve the problem.

Best Answer

I had exactly the same issue installing 16.04 64 desktop on a new SSD with UEFI enabled using USB install media. Unlike in the question I chose to create my own partitions as I had other disks to mount. I hit this error near the beginning of the package installation.

After a bit of googling I found this page:

https://help.ubuntu.com/community/UEFI#General_principles

which states in the General principles section:

if there was not any UEFI partition on your HDD, you first will have to create it

and points to:

https://help.ubuntu.com/community/UEFI#Creating_an_EFI_System_Partition

Which states:

  1. Mount point: /boot/efi (remark: no need to set this mount point when using the manual partitioning, the Ubuntu installer will detect it automatically)
  2. Size: minimum 100Mib. 200MiB recommended.
  3. Type: FAT32
  4. Other: needs a "boot" flag.

So I reinstalled and when I came to partition my drive, I chose the EFI option from the list that includes filesystems and swap etc and made it 200MB at the start of the disk. I did not get the option to select the filesystem or set the bootable flag.

After this the rest of the install went fine.

This is how the partitions on this disk look after the install:

enter image description here

The same information can be seen by running parted:

$ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: ATA Samsung SSD 750 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name  Flags
 2      1049kB  200MB  199MB   fat32                 boot, esp
 3      200MB   242GB  242GB   ext4
 1      242GB   250GB  8000MB  linux-swap(v1)

(parted) q

Note that the partition that was created is an EFI System Partition (ESP) and the disk has a GUID Partition Table (GPT) rather than an MBR partition table.

If you look in /boot/efi or /sys/firmware/efi/ on this disk you should find them populated, likewise running sudo efibootmgr should provide real output, see the link below if you want more information.

More Information

If you wish to know more about how UEFI works then the post UEFI boot: how does that actually work, then? by Adam Williamson is highly recommended.

He describes the situation that causes this error in the article (note that he is a Fedora user but the same applies for Ubuntu):

Handling EFI system partition if doing manual partitioning

I can only give authoritative advice for Fedora here, but the gist may be useful for other distros / OSes.

If you allow Fedora to handle partitioning for you when doing a UEFI native installation – and you use a GPT-formatted disk, or allow it to reformat the disk (by deleting all existing partitions) – it will handle the EFI system partition stuff for you.

If you use custom partitioning, though, it will expect you to provide an EFI system partition for the installer to use. If you don’t do this, the installer will complain (with a somewhat confusing error message) and refuse to let you start the installation.

So if you’re doing a UEFI native install and using custom partitioning, you need to ensure that a partition of the ‘EFI system partition’ type is mounted at /boot/efi – this is where Fedora expects to find the EFI system partition it’s using. If there is an existing EFI system partition on the system, just set its mount point to /boot/efi. If there is not an EFI system partition yet, create a partition, set its type to EFI system partition, make it at least 200MB big (500MB is good), and set its mount point to /boot/efi

Related Question