使用rEFInd而不是GRUB的任何缺点?

最终编辑 – 如果您打算安装rEFInd,您可能需要阅读下面的Rod的答案。

安装完成后如果你有一堆无用的条目,只需在一张纸上写下他们的名字(rEFInd会将它们描述为somefile.efi),然后打开refind.conf并添加行dont_scan_files somefile.efi,someotherfile.efi

如果您仍然看到无用的条目(我有一个说“后备启动加载程序等”而没有指定任何.efi文件)只需添加行dont_scan_dirs EFI/boot,EFI/Dell,EFI/memtest86 。 它应该做的伎俩。


我有一台带有Windows 10的Ubuntu衍生双启动机器。我目前正在使用GRUB,但计划切换到rEFInd,主要是为了让人眼前一亮。

我担心的是可能存在的缺点,特别是像rEFInd这样的发烧级引导程序是否会降低我的启动过程。

[编辑 – 忽略以下指南,阅读下面的答案 ]最后, 本指南看起来可靠吗?

编辑 – 与其他预先存在的问题不同,这个问题的重点是Windows-Linux双启动(虽然下面的答案似乎涵盖了任何操作系统,重点是基于Debian的操作系统)。

我维护rEFInd,所以我理解它是如何工作的并且很好地与Ubuntu交互; 但我也不是没有自己的偏见和喜好。 (我把rEFIt分成了rEFInd因为我不喜欢GRUB 2而且我认为rEFIt所做的很多很优雅,但不是我需要的。)

在大多数情况下,rEFInd有效。 在任何引导加载程序中都很少遇到引导后问题; 一旦内核启动,它可以完全工作,也可以根本不工作。 (这个规则偶尔有例外,但正如我所说,它们很少见。)因此,如果rEFInd启动你的系统,你不必过于担心后续问题。 也就是说,任何软件都有优点和缺点,包括启动加载器。 与GRUB相比,这些要点是关于rEFInd:

  • rEFInd优点/ GRUB的缺点
    • 因为它在每次启动时扫描内核,所以rEFInd更具自适应性,并且对配置文件的依赖性更小。 如果您正在引导多个Linux发行版,这是最重要的,因为在这样的设置中,您需要注意主GRUB的配置文件知道其他发行版内核的更改。
    • GRUB的配置文件格式非常复杂。 它通常可以正常工作,因为它的配置脚本大部分时间都能正常工作; 但是当脚本出错时,修复它可能是一场噩梦。 由于rEFInd的配置文件更简单,因此更容易修复和调整其配置。
    • 正如你所指出的那样,rEFInd有更多的眼睛糖果。
    • 在启动安全启动的Windows启动Windows时,rEFInd更可靠。 (有关GRUB中度常见问题的信息,请参阅此错误报告 ,该问题不会影响rEFInd。)
    • rEFInd可以启动BIOS模式启动加载器; GRUB不能。 对于大多数人来说,特别是那些使用基于UEFI的PC的人来说,这不是什么大问题。 但是,一些Mac用户需要BIOS模式兼容性才能与Windows 7进行双重启动。
    • 在USB闪存驱动器或CD-R上的rEFInd可以启动无法启动的Ubuntu安装。 有一些警告和限制,但即使你不在硬盘上使用rEFInd,将它放在USB闪存驱动器或CD-R上也是一个有用的应急工具。
    • GRUB的配置脚本运行缓慢。 在复杂的设置中,安装新内核可能需要一分钟或更长时间,因为这些脚本被触发并且他们花费了大量时间来扫描系统内核和各种引导加载程序并使用所发现的内容重建配置文件。 请注意,即使您使用rEFInd,您也会遇到此问题, 除非您卸载GRUB(或者不安装它开始)。
    • 使用安全启动时,rEFInd 始终强制执行安全启动策略。 启动Linux内核时,GRUB可能会也可能不会这样做,具体取决于所使用的GRUB版本。 (在Ubuntu 16.04之前,Ubuntu的GRUB甚至会启动未签名的内核。我认为16.04稍微收紧了一点,但我还没有详细研究它。)
  • rEFInd缺点/ GRUB的优点
    • GRUB在Ubuntu中作为官方维护的包提供,而rEFInd(现在)作为第三方包和PPA提供。
    • 如果我被公共汽车撞到,rEFInd的开发可能会停止; 但是GRUB有更多的开发人员,并且不会在不久的将来成为弃用软件。
    • GRUB支持更多平台(CPU和固件类型)。
    • GRUB更易于在网络引导环境中使用。
    • GRUB(理论上)可以从LVM或RAID设置或加密分区加载内核; rEFInd不能这样做。 (rEFInd仍然可以与LVM,RAID和加密设置一起使用,但/boot分区在这种配置中必须是单独的且未加密的。)请注意,我说“理论上”因为我知道没有利用此function的分发,据我所知,这是经过严格测试的。
    • rEFInd对内核和引导加载程序的扫描在每次引导时可能需要几秒钟,因此它可能比GRUB慢一些。 (您可以通过仅安装实际需要的文件系统驱动程序并使扫描的分区保持整洁来最小化此扫描时间。)
    • Shim旨在与GRUB一起使用。 虽然rEFInd也适用于Shim,但它不是Shim的主要目标,因此有一个奇怪的命名惯例,即调用rEFInd grubx64.efi来让Shim启动它; 并且您需要在MOK列表中添加至少一个条目以使rEFInd与Shim一起使用。

除了这些要点之外,偶尔存在系统特定的不兼容性和怪癖。 这些问题可能会触及任何一个程序,因此它们并不是真正的优势。

可以设置你的系统,以便rEFInd启动GRUB(反之亦然),但在大多数情况下,当你这样做时,你最终会得到两个程序中最差的,而不是最好的。 但有时候,以这种方式进行链式加载是可取的 – 比如说,如果你想要rEFInd的眼睛以及从LVM,RAID或加密分区加载内核的能力。

至于您链接的安装说明,它们过于复杂。 在Ubuntu中安装rEFInd的最简单方法是在安装Ubuntu后使用PPA:

 sudo apt-add-repository ppa:rodsmith/refind sudo apt-get update sudo apt-get install refind 

这种方法的缺点是它是一个很大的飞跃。 如果您希望在完全安装之前测试rEFInd,请务必使用USB闪存驱动器,它可以让您在对硬盘进行任何更改之前了解rEFInd的工作原理。