16.04新安装出现了grub-efi-amd64-signed安装失败的问题,目标路径为/target/,是在Ubuntu 16.04最后阶段发生的。

我正在一个启用UEFI的Intel NUC计算机上安装Ubuntu 16.04。我正在使用另一台计算机的SSD。在安装过程中,我选择了“擦除磁盘并进行全新安装”。
在过程结束时,我看到:
grub-efi-amd64-signed failed installation /target/ Ubuntu 16.04 

系统无法启动。
我尝试使用引导修复工具,但显然它并没有解决问题。

这可能有几个原因。但其中一个可能是安装介质烧录不良。尝试重新格式化它(使用新的分区表)并重新制作介质。我遇到过这个问题不止一次,重新制作安装介质总是解决了它。(尽管其他遇到此问题的人说这样做没有解决问题。) - chaskes
我重新创建了LiveUSB,但问题仍然存在。 - Kaf
1我在使用全新的固态硬盘时遇到了相同的问题。 - William Entriken
12个回答

我在新的SSD上使用UEFI启用并使用USB安装介质安装16.04 64位桌面版时遇到了完全相同的问题。与问题中所述不同,我选择创建自己的分区,因为我有其他磁盘要挂载。在软件包安装的开始阶段,我遇到了这个错误。
经过一番搜索,我找到了这个页面:

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

在“一般原则”部分中提到:

如果您的硬盘驱动器上没有任何UEFI分区,您首先需要创建它

并指向:

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

其中提到:

  1. 挂载点:/boot/efi(备注:使用手动分区时无需设置此挂载点,Ubuntu安装程序会自动检测)
  2. 大小:最小100MiB,推荐200MiB。
  3. 类型:FAT32
  4. 其他:需要“boot”标志。

所以我重新安装系统,并在对驱动器进行分区时,从包括文件系统和交换空间在内的列表中选择了EFI选项,并将其设置为磁盘开头的200MB。但我没有获得选择文件系统或设置可启动标志的选项。

此后,剩下的安装过程顺利完成。

以下是安装后该磁盘上的分区情况:

enter image description here

通过运行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

请注意,创建的分区是一个EFI系统分区(ESP),而磁盘使用的是GUID分区表(GPT),而不是MBR分区表。
如果您在此磁盘上查看/boot/efi/sys/firmware/efi/,您应该会发现它们已经填充。同样地,运行sudo efibootmgr应该会提供真实的输出。如果您想要更多信息,请参考下面的链接。

更多信息

如果您想了解更多关于UEFI工作原理的信息,强烈推荐阅读Adam Williamson的文章UEFI boot: how does that actually work, then?
他在文章中描述了导致此错误的情况(请注意,他是Fedora用户,但对于Ubuntu也适用)。
如果进行手动分区,请处理EFI系统分区 我只能在这里给出Fedora的权威建议,但对其他发行版/操作系统也可能有用。 如果您在进行UEFI本机安装时允许Fedora为您处理分区,并且您使用GPT格式化的磁盘,或者允许其重新格式化磁盘(通过删除所有现有分区),它将为您处理EFI系统分区的相关事项。 然而,如果您使用自定义分区,则它将期望您提供一个EFI系统分区供安装程序使用。如果您不这样做,安装程序将抱怨(并显示一条有些令人困惑的错误消息),并拒绝让您开始安装。 因此,如果您正在进行UEFI本机安装并使用自定义分区,请确保以“/boot/efi”挂载一个“EFI系统分区”类型的分区-这是Fedora期望找到其正在使用的EFI系统分区的位置。如果系统上已经存在EFI系统分区,请将其挂载点设置为“/boot/efi”。如果尚未存在EFI系统分区,请创建一个分区,将其类型设置为EFI系统分区,使其至少200MB大(500MB较好),并将其挂载点设置为“/boot/efi”。

4这个完美无缺地运行了 - transformerTroy
我觉得这就是我自作聪明地手动创建分区,却对UEFI标准了解不够的结果。非常感谢你提供的超级有用的信息。 - fIwJlxSzApHEZIl
编辑:对于像我这样懒的人,我启动了一个通过USB安装的Windows 10,并首先安装了Windows。这样可以自动修复UEFI分区。然后我使用Windows 10中的磁盘管理软件来缩小Windows分区,为Ubuntu腾出空间。然后您可以在Ubuntu安装之后手动定义分区,或选择与Windows并存的安装选项。两种方法都应该可以正常工作。 - fIwJlxSzApHEZIl
我猜这是解决问题最简单直接的方法。在Ubuntu和Linux Mint上对我有效。 - vahid-dan
3在Ubuntu 18.04上工作过。需要注意的一点是,在下拉菜单中没有/boot/efi的选项,只显示了/boot,但这并不起作用。我不得不手动输入/boot/efi,然后它才能正常工作。 - Luke
2在Ubuntu 18.04上对我也起作用。然而,与其选择"Fat32"作为文件系统并指定挂载点,我选择了"EFI"文件系统,结果完美无缺。 - Gillespie
@Luke你忽略了之前存在的Windows分区(esp又称系统分区),并且格式化了整个硬盘? - George Udosen
@GeorgeUdosen不,我保留了Windows分区。我只是创建了另外两个分区:一个较大的ext4分区,安装程序要求将其挂载为“/”,以及一个300MB的FAT32分区,安装程序要求将其挂载为“/boot/efi”。 - Luke
@Luke,我在硬盘上有一个ESP(EFI系统分区),我想要删除Windows并且只安装Ubuntu。我认为在安装Ubuntu时,应该将Windows上发现的ESP挂载到/boot/efi/ - George Udosen
@Luke 你的是双系统吗? - George Udosen
是的,我的电脑是双系统设置。如果你要移除Windows系统,我建议你使用GParted工具来删除所有分区,然后使用安装程序的默认选项在空白硬盘上进行安装。 - Luke
就是这样!我已经为此苦苦挣扎了很久,现在给它点个赞。我通过gparted创建了一个新的分区(200 MiB - FAT32)。然后,在基于UI的安装程序中,将该分区设置为“EFI分区”。"/"目录被挂载到一个单独的位置。一个好的提示是/var/log/syslog文件,它抱怨grub-efi-amd64-signed软件包找不到"/boot/efi"目录。 - sh87
这也解决了18.04的问题。然而,这个最新版本对于你设置EFI分区的确切驱动器要求更加挑剔一些。 - Luís de Sousa
Ubuntu安装程序将其识别为“EFI系统分区”,但软件包仍然无法安装。 - Velkan
在18.04版本上对我起作用。我按照描述在Gparted中创建了分区,然后运行了安装程序。选择了普通安装并勾选了LVM,最终成功完成了安装。 - jacklin

幸运的是,我解决了我的问题。
我使用启动盘启动,并打开了磁盘工具,手动删除了SSD上的所有分区。
然后我启用了计算机固件中的UEFI,进入了Ubuntu的启动盘桌面,并从那里安装了Ubuntu。
我勾选了两个选项,即安装更新和从其他来源安装软件。这次安装顺利进行。

1只要有互联网连接,安装将会成功。如果你没有互联网,也可以试试手气。目前为止,我还是失败了。 - Franklin
1富兰克林,请检查你的/var/log/syslog,可能在"grub-installer: info: Calling 'apt-install grub-efi-amd64-signed' failed"之前有一些类似于"Unable to locate package grub-efi-amd64-signed"和"Unable to locate package shim-signed"的行。可能安装程序无法从"cdrom"(USB闪存)中获取deb软件包。 - osgx
这种情况发生在我身上,但是在一台32位的机器上。想知道EFI是否支持32位。 - chx101

我在安装Ubuntu MATE 17.04时遇到了同样的问题。我想要在Windows 10旁边进行双系统启动。我的Windows处于传统模式,BIOS设置中启用了UEFI支持。我禁用了UEFI支持后,安装顺利完成。希望对其他人有所帮助。

收到了完全相同的消息,并通过将我的计算机连接到互联网来解决问题(我使用USB安装程序在全新的机器上安装,其中包含全新的SSD,上面没有任何内容)。
连接后,安装程序可以下载安装程序中缺少的任何依赖项,这对我的设置是必需的。
判断出这是一个依赖项问题而不是分区/磁盘问题的线索在于/var/log/syslog文件中。关于Grub安装失败的消息可能意味着很多事情,通常您应该检查/var/log/syslog以找出真正的问题所在。


我在尝试在技嘉主板上安装Mint 18 KDE时遇到了同样的问题。我的问题是我试图以UEFI模式从USB启动。
你需要以兼容模式启动。你很可能需要更改一些BIOS设置来实现这一点。在我的情况下,我必须在启动模式选择中选择“仅传统”。
如果你以兼容模式启动,你会看到一个屏幕显示自动启动倒计时10秒,然后你会得到一个菜单。 但是,如果你以UEFI模式启动,你将直接进入菜单界面。

Ubuntu不是Mint。如果你仔细阅读答案,你会注意到原帖作者在删除现有分区后成功通过EFI安装了系统。 - Elder Geek

你也可以创建一个UEFI引导分区,如果系统允许的话。我有同样的问题,禁用UEFI是一个选项,而且更加永久,但是我当时时间紧迫,所以我创建了UEFI引导分区:这个选项出现在与/boot相同的选项下方。

我发现上述方法对我来说并没有真正起作用,我尝试着从一个U盘安装Ubuntu 16.04到另一个U盘。经过两天的苦苦思索,我采取了以下措施使其成功运行。这让我在同一硬盘上实现了Windows 10和Ubuntu的双系统安装,并且在此过程中解决了这个问题:
使用目标硬盘和源CDROM硬件进行安装。 下载/刻录到DVD上的Windows 10(适用于所有版本)和Ubuntu 16.04.3版本。即创建了2个安装DVD。 启动Ubuntu的实时版本,而不进行安装。 使用Ubuntu内置的分区管理器gparted删除硬盘上的所有分区。 进入系统BIOS并确保只选择UEFI,并关闭传统引导。还要更改启动顺序,以确保系统首先从可用的CDROM启动,其次是硬盘。 插入Windows光盘并开始安装Windows(我使用的是64位的Windows 10专业版)到硬盘上。您不需要许可证来执行此操作-只需在提示时说您没有许可证。 启动Windows并确保它正常工作。我发现它无法正确关闭,但这似乎无关紧要。我还允许Windows 10完成完整的更新周期,尽管这可能无关紧要。这只是需要很长时间。 现在再次启动Ubuntu实时版本。这次使用它来缩小最后一个数据分区,以便为Ubuntu安装腾出空间。只需将空闲空间保留未分配即可。我需要Windows,所以将磁盘大小的一半留给了Windows。 选择内置在Ubuntu DVD中的安装应用程序。选择在现有的Windows操作系统旁边安装的选项。我保留了默认选项,以便让它在空闲空间中创建2个分区:根分区和交换分区。
没错,现在是这样的。当我启动电脑时,会出现一个提示,询问我是要选择Windows还是Ubuntu,或者是带有更多选项的高级Ubuntu。之前我花了很长时间尝试从USB闪存驱动器启动,但那让我浪费了整整两天的时间。现在使用光盘和硬盘这种老式方式似乎有所帮助。

我解决这个问题的方法如下。

1) 由于某种原因,我的EFI磁盘被Windows锁定,所以Grub无法安装在我的EFI上。

我启动了Windows并关机(Windows -> 关闭 -> 关闭,而不是重新启动)。 注意:如果重新启动,Windows可能以快速重启模式重新启动,这将导致EFI被锁定 - 这就是我遇到的情况。

2) 我运行了Ubuntu Live Disk,并使用标准设置运行了Boot-Repair工具(URL)。

之后,我的系统通过Grub正常启动。

诀窍在于没有第一步(EFI被Windows锁定),Boot-Repair工具无法修复我的Grub。


我遇到了同样的问题。对我有效的方法是,在安装过程中,当安装程序询问您是否要以UEFI模式安装时,选择否。它应该会警告您这样做可能带来的后果,但是我选择了这个路线后,并没有遇到任何问题。
在研究这个问题时,我还找到了其他解决方案:
- 使用相同(或另一个)启动盘重新启动计算机,并在问题计算机上运行引导修复工具。 - 监视安装日志,并在崩溃之前看到是否正在安装GRUB时关闭计算机(我想这需要一些时机,但我强烈建议不要这样做。在安装任何东西时,您应该尽量避免关闭设备)。

遇到了同样的错误信息,结果发现我在EFI分区中有一个损坏的目录,导致grub在每次安装尝试中都放弃了。
fsck运行时间太长,所以我从Windows上运行了chkdsk来快速清理了损坏,并且第二次安装顺利进行。