使用rEFInd代替GRUB有什么缺点吗?


26

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

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

如果您仍然看到无用的条目(我有一个未指定任何.efi文件的提示“ fallback boot loader etc”的条目),只需添加这一行dont_scan_dirs EFI/boot,EFI/Dell,EFI/memtest86。它应该可以解决问题。


我有一台装有Windows 10双重引导的Ubuntu衍生产品的机器。我目前正在使用GRUB,但计划切换到rEFInd,主要是为了吸引眼球。

我担心的是可能存在的缺点,尤其是像rEFInd这样的高级引导加载程序是否可能会减慢我的引导过程。

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

编辑-与其他先前存在的操作系统不同,此问题的重点是Windows-Linux双引导(尽管以下答案似乎涵盖了所有操作系统,并且重点关注基于Debian的操作系统)。



有rEFInd-grub组合。
EarthmeLon 2016年

尽管存在一些重叠,但这个问题实际上并不是muru指出的那个问题的重复。这个问题是Mac特有的,而不是。大师指出的问题也描述了必须克服的问题,而这个问题是要比较两个引导程序。
罗德·史密斯

Answers:


48

我维护了rEFInd,因此我了解了rEFInd的工作原理以及与Ubuntu的良好交互。但我也不是没有自己的偏见和偏好。(我将rEFIt分叉到rEFInd中是因为我不喜欢GRUB 2,并且我认为rEFIt所做的很多事情都很优雅,但是我并不是需要。)

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

  • rEFInd的优点/ GRUB的缺点
    • 由于rEFInd每次启动时都会扫描内核,因此它更具适应性,并且对配置文件的依赖性较小。如果要启动多个Linux发行版,这是最重要的,因为在这种设置中,您需要注意主GRUB的配置文件知道其他发行版内核的更改。
    • GRUB的配置文件格式非常复杂。它通常可以正常运行,因为它的配置脚本大多数时候都可以正确执行操作。但是,如果脚本弄错了,修复它可能是一场噩梦。由于rEFInd的配置文件更简单,因此易于修复和调整其配置。
    • 正如您所指出的那样,rEFInd有更多吸引人的地方。
    • 在激活安全启动的情况下启动Windows时,rEFInd更加可靠。(有关不影响rEFInd的GRUB的中度常见问题的信息,请参阅此错误报告。)
    • 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在这样的配置中,分区必须是单独的且未加密。)请注意,我之所以说是“理论上”,因为我不知道利用此功能的任何发行版,因此据我所知,它的测试很差。
    • 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的工作方式。


因此,我尝试了Live USB。我有以下问题:启动Ubuntu时,启动画面不显示;相反,我只得到详细的描述。另一方面,Windows会像在禁用快速启动的情况下启动,这会使启动速度慢得多。
random_human_being_

如果您从显示初始屏幕的启动程序中将其安装到硬盘上,那么您也将从rEFInd获取它。您也可以手动编辑启动选项-永久性地进行编辑,/boot/refind_linux.conf或者一次按两次F2或插入两次。在Ubuntu中,这些quiet splash选项会产生启动画面。
罗德·史密斯

谢谢。如您所说,安装完成后,rEFInd会显示启动画面(从实时USB使用时不会显示)。另外,与我上面写的不同,快速启动现在可以正常工作,也许这只是我的一个错误。因此,现在一切都像魅力。唯一令我困扰的是丑陋的“ Booting OS”屏幕,该屏幕在选择操作系统后出现3-4秒钟;有办法摆脱它吗?
random_human_being_

2
查看中的use_graphics_for选项refind.conf
Rod Smith

做完了 另外,我从rEFInd菜单中删除了所有多余的条目,但上面写着“从efi系统分区引导回退引导加载程序”的条目除外,我不知道如何隐藏。任何的想法?
random_human_being_
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.