原始问题
我正在尝试在 2015 年的 Dell XPS 13 笔记本电脑上安装 Xubuntu,但遇到了各种与引导加载程序相关的问题。长话短说,过去几周我在这台机器上安装了几个不同的发行版,但问题直到我安装了 Fedora 21 后才开始出现。以下是事件的简要摘要:
- 我最初在 Windows 8 上安装了 Xubuntu 14.10 和 15.04 Beta 1,没有任何问题。
- 我擦除了整个磁盘并使用带加密的 LVM 和默认分区方案安装了 Fedora 21。
- 我曾多次尝试擦除整个磁盘并使用各种分区方案安装 Xubuntu 14.10 和 Xubuntu 15.04 Beta 1。有时我会收到一条错误消息,指出 GRUB 安装失败。有时,安装完成且没有错误,但当我重新启动计算机时,Ubuntu 未被检测为启动选项。不幸的是,我没有 GRUB 安装失败时的任何错误日志,而且我最近无法重现该特定问题。
- 我尝试擦除磁盘并再次安装 Fedora 21,安装成功完成。我可以无错误地启动 Fedora。
- 我再次尝试擦除磁盘并安装 Xubuntu 和 Ubuntu 14.10,但遇到了与以前相同的问题:安装成功完成,但戴尔启动菜单中没有任何条目。
我使用 UEFI 并禁用安全启动来完成所有这些操作。我要做的是擦除磁盘并执行 Ubuntu 或 Xubuntu 的标准安装,不安装其他操作系统。
目前我安装了 Xubuntu 14.10(没有其他操作系统),但当我打开机器时它没有显示在启动选项中。我尝试运行启动修复,它给了我以下消息:
检测到 GPT。请创建 BIOS 启动分区(>1MB、未格式化的文件系统、bios_grub 标志)。这可以通过 Gparted 等工具执行。然后重试。
我对此感到困惑,因为我是使用 UEFI 启动的。(/sys/firmware/efi
存在。)
我意识到这些信息并不多,但如果有人能给我指出正确的方向或指出可能导致此问题的原因,我将不胜感激。
背景
如果有的话,我正在这台机器上运行 Dell A03 BIOS。在安装 Fedora 时,我用 Intel 7260NGW 替换了原装 Broadcom 无线网卡,以便在不干扰专有驱动程序的情况下获得更好的开箱即用网络支持。这并没有造成任何明显的问题。
这里描述的所有内容都是在 UEFI 模式下完成的,并使用 64 位 ISO 禁用安全启动。
我尝试使用启动盘创建器和创建安装媒体,dd
但在两种情况下都遇到了问题。
我一直在尝试不同的发行版,希望找到一个相对较新的内核,可以很好地与这台机器配合使用的发行版。我一直试图安装 Xubuntu 15.04 Beta 1 而不是 Beta 2,以避免这个错误。
总结、推测和问题
我暂时排除了以下可能的解释(但如果我错了,请随时纠正我):
- USB 驱动器损坏
- 安装介质创建不正确
- 以错误模式启动
在我安装 Fedora 之后,似乎有些东西发生了变化,不过我想那可能只是巧合。但让我感到困惑的是:
- 为什么在格式化分区后进行的安装会多次无法正确安装引导加载程序? Ubuntu 的全新标准安装不是应该 99% 的时间都能正常工作吗?
- 为什么安装程序有时会显示“无法安装引导加载程序”的错误,而其他时候却能顺利完成?
- 为什么我一直使用 UEFI 和 GPT 时会出现有关 BIOS 兼容模式的错误?
我考虑过但不知道如何诊断的可怕的可能性:
- 我的笔记本电脑硬件有问题。
- 戴尔 BIOS 有问题。
- 尽管我多次尝试格式化并安装 Ubuntu,但 Fedora 对磁盘进行了某种更改,并且更改仍然存在。
答案1
首先,您报告了以下启动修复消息:
检测到 GPT。请创建 BIOS 启动分区(>1MB、未格式化的文件系统、bios_grub 标志)。这可以通过 Gparted 等工具执行。然后重试。
此消息意味着您的 Boot Repair 光盘以 BIOS/CSM/传统模式启动。但您稍后报告的消息暗示您的安装程序以 EFI/UEFI 模式启动。这种不一致可能是导致您出现问题的一个因素,尽管我不认为这是导致您出现问题的唯一原因。如果可能,我建议您进入固件设置实用程序并禁用BIOS/CSM/legacy 支持。原因是启用此支持意味着您在启动时对启动模式进行反复尝试,这可能会导致问题。最好确保您的启动模式。另一方面,有些计算机的 EFI 不稳定,因此最好以 BIOS/CSM/legacy 模式安装。对于这样的系统,您必须至少了解固件的运行方式,以便能够强制以 BIOS/CSM/legacy 模式启动。
其次,您只关注硬盘,但 EFI 模式启动也严重依赖 NVRAM 的内容。我怀疑您的 NVRAM 设置出了问题。这可能是固件错误、操作系统安装程序中的错误或安装过程中的错误造成的。无论如何,您都应该启动实时 CD在 EFI 模式下并在终端中输入以下命令:
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 的条目。一旦您知道那里有什么,您就可以修剪多余的条目。例如,如果有一个Boot0005
条目引用 Fedora,您可以像这样删除它:
sudo efibootmgr -b 5 -B
更改5
为适当的内容。(请注意,数字是十六进制的。)您可能需要多次发出此命令以删除所有不再有效的条目。如果您不理解某个条目,请谨慎删除它;它可能是计算机正确启动所必需的。但是,如果您要清除磁盘,则应删除所有引用您曾经在其上安装的任何操作系统的条目,包括 Windows、Fedora 和 Ubuntu。幸运的话,清除 NVRAM 中未使用或无效的启动条目将使您的 Ubuntu 安装程序能够创建计算机将接受的新条目。如果您看到大量您不理解的条目,请随意编辑您的问题以显示您的efibootmgr -v
输出。(回复此回复,以便我知道要回来查看。)
可以想象,您的固件提供了一个设置选项来帮助清除未使用的启动条目,因此您可以通过固件设置实用程序来查找相关选项。
答案2
我发现您在启动Xubuntu
/ Ubuntu
Live DVD 时没有遇到任何问题,因此我排除了与正确程序相关的所有内容以及在模式下在笔记本电脑Ubuntu
中启动 Live DVD的潜在问题。Windows 8
UEFI
按此方法再试一次:
- 从
Xubuntu
/Ubuntu
Live DVDUEFI
模式启动 - 在该
Installation type
步骤中,选择该Other
选项并确保满足以下要求。
在模式下安装时
UEFI
,您需要像这样设置驱动器(不包括其他分区swap
或其他):
- 分区表:
GPT
- 存在一个
EFI
分区在开车的开始和符合以下要求:
- 文件系统:
FAT32
- 大小:至少 100MB(建议 200MB)
- 挂载点:
/boot/EFI
- 标志:
boot
- 存在一个
/
分区并满足以下要求:
- 挂载点:
/
(请注意
EFI
分区的挂载点应该在分区布局设置期间手动添加分区后将自动设置)
答案3
我终于设法让这台机器上的所有东西都正常工作了,所以我想在这里快速发帖,以防将来有人遇到这种问题。我按照 Rod Smith 的回答中的建议,使用 efibootmgr 清除了旧的启动项;这似乎让我走上了正确的道路,但我在 Xubuntu 15.10 Beta 1 和 14.04.2(如果我没记错的话)中安装 GRUB 时仍然遇到了问题。最终对我有用的是安装 Xubuntu 14.10 并启用安全启动。不幸的是,我在执行此过程时没有做笔记,所以我没有关于我在此过程中尝试了什么的更多具体信息。