Grub EFI条目和引导修复

我在装有OEM Windows 8的戴尔笔记本电脑上安装了Ubuntu 12.10。

起初,我的Grub菜单根本没有显示,所以我更改了注释GRUB_HIDDEN_TIMEOUT=0/etc/default/grub文件。 之后,我的Grub菜单出现了,但它只显示了Ubuntu条目(没有Windows 8条目的痕迹)。

所以我从LiveCD启动Ubuntu并遵循本指南: Ubuntu Boot-Repair 。 最后出现了一个窗口告诉我:

请不要忘记在sda1/EFI/ubuntu/grubx64.efi文件上启动BIOS。

这是我没有得到如何管理的东西 。 我超越了这个假装漠不关心的问题。

现在我的Grub菜单正常工作,我可以启动Windows 8,但我想知道菜单中有哪些不同的条目。 他们来了:

  • Ubuntu的
  • Ubuntu的高级选项
  • Windows UEFI bkpbootmgfw.efi
  • Windows启动UEFI加载程序
  • EFI/Dell/Boot/bootmgfw.efi
  • EFI/Dell/Boot/bootx64.efi
  • 系统设置

我不知道这些不同的条目是什么意思,我想知道我是否可以从GRUB菜单中删除它们中的任何一个。 所以我重新提出我的问题:

  1. 我怎么能在sda1/EFI/ubuntu/grubx64.efi文件上启动BIOS?
  2. 所有这些条目意味着什么? 他们有什么不同?
  3. 我可以删除其中任何一个吗? 如果是这样,怎么样?

  1. 我怎么能在sda1 / EFI / ubuntu / grubx64.efi文件上启动BIOS?

    • sudo grub-install --efi-directory=/boot/efi /dev/sda应该是正确的,因为:

      • /dev/sda是你安装Ubuntu的硬盘
      • /boot/efi是安装EFI系统分区(ESP)的地方。
      • 您以EFI模式启动。

      您可以通过查看以下命令的输出来快速检查:

       $ mount | grep efi none on /sys/firmware/efi/efivars type efivarfs (rw) /dev/sda1 on /boot/efi type vfat (rw) 
    • 你怎么知道这个? 这不是你的错。 您应该获得有关如何正确安装操作系统或有效解决问题的正确说明。 另一方面,Linux和FOSS给你带来的高度赞扬的自由只能通过学习如何运作来实现。 不幸的是,您必须查看引导修复创建的日志文件,并知道如何处理此数据。

      tl; dr:有些联机帮助页非常有用。 不,我不是RTFM类型的人。 在考虑阅读整个页面之前,我也想指出解决我的问题的特定段落,部分或选项。

  2. 全力以赴,了解它们的用途。 正如Rod Smith所说,boot-repair会产生重复(因为它不知道它在做什么)。 或者,您可以创建并比较它们的哈希值。

  3. 您可以压缩您不想要的.efi程序的文件,然后运行sudo update-grub并validation菜单是否仍包含启动Ubuntu和Windows所需的条目(使用nano /boot/grub/grub.cfg查看配置文件) nano /boot/grub/grub.cfg )。 如果缺少某些内容,只需再次解压缩文件即可。

    不要将GRUB菜单与UEFI启动菜单混淆。

    • 如何在BIOS启动菜单中删除“Ubuntu”? (UEFI)
  1. 您可以在Linux中使用efibootmgr命令,在EFI版本2 shell中使用efibootmgr命令,在OS X中使用bless命令(在Dell上不适用),或在某些EFI中使用EFI特定的用户界面function来设置默认引导程序。 输入man efibootmgr来了解其中的第一个。
  2. 尝试输入并查看每个条目的作用。 不幸的是,像Boot Repair这样的工具往往会创建重复的条目,有些制造商会创建冗余或制造商特定的引导条目,因此除了通过测试之外,不可能说出每个条目的确实做了什么。
  3. GRUB Customizer等工具可以帮助您编辑GRUB菜单。 但是,我对这个工具知之甚少,因为我已经放弃了GRUB。