rEFInd显示3个ubuntu .efi而不是2个

这不是一个真正的问题,虽然我只是好奇为什么我突然看到3个ubuntu,而不是通常的2.它应该是grub64.efi和shim64.efi。 虽然现在是ubUNTU的grub64.efi, vm-linuz-3.13.0.32-generic.efi.signed by UBUNTU

vm-linuz-3.13.0.52-generic.efi.signed by UBUNTU

为什么是这样? 我应该使用哪一个? 我使用grub64.efi,我问的是有什么不同,我应该使用其他一些吗? 一旦我安装了bcmwl以使我的Wi-Fi正常工作,就会发生这种变化。


我使用的是Linux 14.04 LTS(Trusty Tahr)

本机操作系统是Mac OS X 10.10.3

答案在引导条目的描述中给出:

3.13.0。 32-通用3.13.0。 52 -generic ,即后者将启动更新的内核。

这是因为Ubuntu(其他Distros也这样做)在安装新内核时保留旧内核映像的做法,因此如果更新无法按预期工作或者拒绝启动,您可以轻松恢复。

但是,您可以使用手动卸载旧的通用内核映像

 sudo apt-get remove linux-image-(old version string)-generic 

注意 :永远不要使用正则表达式或整数来一次卸载多个内核,但是一次只删除一个内核并始终检查uname -r的输出,为您提供当前的内核版本,您不应该删除它。 否则,您将冒险删除所有内核并使系统无法启动的单个拼写错误…

rEFInd旨在自动删除某些冗余条目。 如果还存在shimx64.efi ,则其中一个冗余是shimx64.efi 。 因此,除非您为这些文件中的一个或两个创建了手动引导节,否则您的声明“[应该是grub64.efi和shim64.efi”]是不正确的。

在您的情况下,您有三个条目:

  • grubx64.efi – 这是Ubuntu安装的GRUB二进制文件。 选择它会启动GRUB,它会加载Linux内核并使用Linux内核的GRUB引导加载程序机制引导它。 GRUB可能会显示自己的菜单,具体取决于其配置。 此菜单可能包含所有Linux内核的选项,也可能包含其他操作系统或特殊function的选项。 如果您没有从GRUB菜单中选择任何选项,它可能会启动最新的(当前3.13.0-52)内核
  • vm-linuz-3.13.0.32-generic.efi.signed – 此选项加载3.13.0-32 Linux内核,它是Ubuntu 14.04 LTS(2014年4月发布的版本)附带的内核。 rEFInd启动内核,好像它是一个EFI应用程序,依赖于EFI存根加载程序作为引导加载程序并绕过GRUB。
  • vm-linuz-3.13.0-52-generic.efi.signed – 此选项与前一个选项类似,只是它启动了更新的3.13.0-52内核,其中包含错误修复和新增内容过去一年收集的function。

实际上,你应该使用最适合你的东西。 在大多数情况下,最新内核的GRUB选项和rEFInd选项将导致系统在大多数度量下的function相同。 可能存在一些微小的差异,例如dmesg输出中的Command line:行略有不同,但这些差异没有实际效果。 根据您的GRUB配置和/boot/refind_linux.conf的内容,可能存在其他差异,例如图形模式和文本模式启动消息; 或者在极端情况下,一个可能会启动而另一个可能不启动。 如果出现问题,直接内核启动可能更容易修复,因为GRUB可能很复杂且难以调试。 此外,如果由于某种原因想要引导旧内核,那么从rEFInd菜单执行此操作可能比从GRUB执行此操作要容易一些,特别是如果GRUB配置为引导而不显示自己的菜单。 OTOH,如果没有/boot/refind_linux.conf文件或者配置错误,GRUB可能会在rEFInd的直接内核启动失败或设置次优的情况下正确启动。

当您继续使用和升级系统时,您可能会在rEFInd的菜单中看到其他直接内核选项。 您可以手动卸载您不知道要使用的内核; 或者在终端中键入sudo apt-get autoremove将删除除三个之外的所有内容(通常是原始内核和最近的两个内核)。 保持至少两个内核通常是一个好主意。 原因是有时会引入内核错误,因此您希望在遇到此类问题时可以选择引导回较旧的内核。

如果要从rEFInd的显示中删除未使用的选项,可以通过各种方式执行此操作:

  • 您可以在dont_scan_volumes中使用dont_scan_volumesdont_scan_dirsdont_scan_files选项(通常在/boot/efi/EFI/refind/来自Ubuntu)。 这些选项根据位置或文件名从菜单中删除特定的引导加载程序,而不实际删除它们。
  • 您可以在refind.conf设置scan_all_linux_kernels false 。 这将导致rEFInd忽略缺少.efi扩展的Linux内核。 (请注意,您的内核具有.efi.signed扩展名,将此选项设置为false将忽略该扩展名。)
  • 您可以删除内核所在的文件系统的EFI驱动程序。 此驱动程序通常位于Linux的/boot/efi/EFI/refind/drivers_x64 。 删除此驱动程序将删除所有直接Linux启动选项。
  • 您可以完全删除文件。 如果要删除直接引导Linux内核的条目,则不能选择此选项,因为GRUB需要这些文件来引导Linux; 但是如果您不想看到GRUB选项或者是否显示其他内容(例如,您已删除的Win​​dows安装的旧Windows启动项),您可能会考虑它。 大多数启动项将显示在Ubuntu下的/boot/efi/EFI/子目录中,但有些可能在其他地方。

如果你准确地得到了你所描述的三个条目,如果你要删除直接内核条目,你可能最好绕过rEFInd并直接使用GRUB – 毕竟,有一个启动管理器没什么意义只有一个启动选项。 删除GRUB条目可能有一定意义,但是如果您遇到EFI存根装载器的问题,那么使它可用也是值得的。