为什么我在安装然后擦除Fedora之后无法启动到Ubuntu?

原始问题

我正在尝试在2015款戴尔XPS 13笔记本电脑上安装Xubuntu,但我一直在遇到各种与引导程序相关的问题。 总而言之,我在过去的几周里已经在这台机器上安装了几个不同的发行版,但是直到我安装Fedora 21之后才出现问题。这里是事件的快速摘要:

  • 我最初在没有任何问题的情况下安装了Xubuntu 14.10和15.04 Beta 1以及Windows 8。
  • 我删除了整个磁盘,并使用带加密的LVM和默认分区方案安装了Fedora 21。
  • 我曾多次尝试擦除整个磁盘并使用各种分区方案安装Xubuntu 14.10和Xubuntu 15.04 Beta 1。 有时我收到一条错误消息,指出GRUB安装失败。 在其他时候,安装完成没有错误,但是当我重新启动我的机器时,Ubuntu未被检测为启动选项。 不幸的是,在GRUB安装失败的时候,我没有任何可用的错误日志,而且我最近无法重现该特定问题。
  • 我尝试擦除磁盘并再次安装Fedora 21,安装成功完成。 我可以毫无错误地启动到Fedora。
  • 我再次尝试擦除磁盘并安装Xubuntu和Ubuntu 14.10,但我遇到了与以前相同的问题:安装成功完成,但Dell启动菜单中没有条目。

我正在使用UEFI和安全启动禁用所有这些。 我想要做的就是擦除磁盘并执行Ubuntu或Xubuntu的标准安装,而不安装其他操作系统。

目前我安装了Xubuntu 14.10(并没有安装其他操作系统),但是当我打开机器时它没有显示在启动选项中。 我试过运行启动修复,它给了我这个消息:

检测到GPT。 请创建一个BIOS-Boot分区(> 1MB,无格式文件系统,bios_grub标志)。 这可以通过Gparted等工具进行。 然后再试一次。

我对此感到困惑,因为我是使用UEFI启动的。 ( /sys/firmware/efi存在。)

我意识到这不是很多信息,但如果有人能指出我正确的方向或建议可能导致这个问题的原因,我将非常感激。

背景

如果它是相关的,我在这台机器上运行Dell A03 BIOS。 在安装Fedora时,我用英特尔7260NGW替换了现有的Broadcom无线卡,以便在不干扰专有驱动程序的情况下获得更好的开箱即用网络支持。 这并没有引起任何明显的问题。

此处描述的所有内容都是在UEFI模式下完成的,使用64位ISO禁用安全启动。

我尝试使用Startup Disk Creator和dd创建安装媒体,并在两种情况下遇到问题。

我一直在发行版之间跳转,试图找到一个与这台机器配合得很好的相对新近的内核。 我一直在尝试安装Xubuntu 15.04 Beta 1而不是Beta 2以避免此错误 。

总结,推测和问题

我暂时排除了以下可能的解释(但如果我在这里错了,请随时纠正我):

  • 坏的USB驱动器
  • 安装媒体创建不当
  • 以错误模式启动

我安装Fedora后似乎发生了一些变化,尽管我认为这可能只是巧合。 但这就是令我困惑的事情:

  • 为什么在重复格式化分区后进行的安装无法正确安装引导加载程序? 难道UDBntu的新标准安装不应该在99%的时间内工作吗?
  • 为什么安装程序在某些情况下显示“无法安装bootloader”错误,但在其他情况下没有错误地完成?
  • 当我一直使用UEFI和GPT时,为什么会出现关于BIOS兼容模式的错误?

我考虑过但可能不知道如何诊断的可怕可能性:

  • 我的笔记本电脑的硬件出了问题。
  • Dell BIOS出现问题。
  • Fedora对磁盘进行了某种改变,尽管我一再尝试格式化并安装Ubuntu。

首先,您报告了以下引导修复消息:

检测到GPT。 请创建一个BIOS-Boot分区(> 1MB,无格式文件系统,bios_grub标志)。 这可以通过Gparted等工具进行。 然后再试一次。

此消息表示您的Boot Repair光盘在BIOS / CSM / legacy模式下启动。 您稍后报告的消息表明您的安装程序在EFI / UEFI模式下启动。 这种不一致可能是您的问题的一个因素,虽然我不认为这是您的问题的唯一原因。 如果可能,我建议您输入固件设置实用程序并禁用 BIOS / CSM /旧版支持。 原因是启用此支持意味着您在启动时正在翻转关于启动模式的硬币,这会产生问题。 最好确定你的启动模式。 OTOH,有些计算机有片状EFI,有了它们,最好安装在BIOS / CSM /传统模式下。 使用此类系统,您必须至少充分了解固件的运行方式,以便能够在BIOS / CSM /传统模式下强制启动。

其次,你专注于硬盘,但EFI模式启动也很大程度上依赖于NVRAM的内容。 我怀疑你的NVRAM设置出了什么问题。 这可能是由于固件错误,操作系统安装程序中的错误或安装过程中的错误造成的。 无论如何,您应该在EFI模式下启动Live CD并在终端中键入以下命令:

 sudo efibootmgr -v 

这将生成输出,显示NVRAM中引导条目的当前内容,如下所示:

 BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000 Boot0000* rEFInd (direct) HD(2,c00,114000,6e49fcaf-d054-47c9-ba69-a668c5ee8192)File(\EFI\refind\refind_x64.efi) Boot0004* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)..BO 

这个例子非常简短,不太可能代表您所看到的内容,因为您可能会看到Ubuntu和/或Fedora的条目。 一旦你知道那里有什么,你可以修剪无关的条目。 例如,如果有一个引用Fedora的Boot0005条目,你可以像这样删除它:

 sudo efibootmgr -b 5 -B 

5更改为适当的任何内容。 (请注意,这些数字是hex的。)您可能需要多次发出此命令才能删除所有不再有效的条目。 如果您不理解某个条目,请务必删除它; 计算机可能需要正确启动。 但是,如果您正在擦除磁盘,则应删除所有引用其上安装的操作系统的条目,包括Windows,Fedora和Ubuntu。 如果幸运的话,从NVRAM中清除未使用或无效的引导条目将使您的Ubuntu安装程序能够创建计算机将接受的新条目。 如果您看到大量您不理解的条目,请随时编辑您的问题以显示您的efibootmgr -v输出。 (回复此回复,我知道要回来查看。)

可以想象,您的固件提供了一个安装选项,可帮助清除未使用的引导条目,因此您可以通过固件设置实用程序挖掘相关选项。

我发现你在启动Xubuntu / Ubuntu Live DVD时没有遇到任何问题,因此我排除了与正确程序相关的所有内容以及在UEFI模式下在Windows 8笔记本电脑中启动Ubuntu Live DVD的潜在问题。

再试一次:

  1. UEFI模式下从Xubuntu / Ubuntu Live DVD启动
  2. 在“ Installation type步骤中,选择“ Other选项,并确保满足以下要求。

UEFI模式下安装时,需要像这样设置驱动器(不包括swap等附加分区):

  1. 分区表: GPT
  2. 一个EFI分区出现在驱动器的开头, 符合以下要求
    • 文件系统: FAT32
    • 尺寸:至少100MB(200MB推荐)
    • 挂载点: /boot/EFI
    • 标志: boot
  3. 一个/分区存在并符合以下要求:
    • 挂点: /

(请注意,在分区布局设置期间手动添加分区后, 自动设置EFI分区的安装点)

我终于设法让一切都在这台机器上工作了,所以我想在这里发一个快速的post,以防将来有人遇到这类问题。 我按照罗德史密斯的回答中的建议,并使用efibootmgr清除了旧的引导条目; 这似乎让我开始走上了正确的道路,但我仍然遇到了在Xubuntu 15.10 Beta 1中安装GRUB的问题,如果我没记错的话,还是14.04.2。 最终对我有用的是安装Xubuntu 14.10并启用安全启动。 不幸的是,由于我正在完成这个过程,所以我没有做笔记,因此我没有更多关于我在此过程中尝试过的具体信息。