我维护rEFInd,所以我对它的工作原理和与Ubuntu的交互非常了解;但是我也有自己的偏好和喜好。(我将rEFIt分叉为rEFInd,因为我不喜欢GRUB 2,并且我认为rEFIt的许多功能很优雅,但并不完全符合我的需求。)
在大多数情况下,rEFInd都能正常工作。使用任何引导加载程序后出现启动问题的情况很少见;一旦内核启动,要么完全正常工作,要么完全无法启动。(当然,偶尔也会有例外情况,但如我所说,这种情况很少。)因此,如果rEFInd成功引导您的系统,您就不必过多担心后续问题。话虽如此,任何软件(包括引导加载程序)都有其优点和缺点。与GRUB相比,以下是我对rEFInd的一些看法:
rEFInd优势/GRUB劣势
- 因为它在每次启动时扫描内核,所以rEFInd更具适应性,不太依赖配置文件。这对于引导多个Linux发行版非常重要,因为在这种设置中,您需要确保主GRUB的配置文件知道对“其他”发行版内核的更改。
- GRUB的配置文件格式非常复杂。通常情况下它能正常工作,因为大部分时间其配置脚本都会做正确的事情;但是当脚本出错时,修复起来可能会很困难。由于rEFInd的配置文件更简单,修复和调整配置更容易。
- rEFInd有更多的视觉效果,正如你所指出的。
- 在启用Secure Boot的情况下,rEFInd更可靠地引导Windows。(请参阅
this bug report了解GRUB存在的一个相对常见的问题,而rEFInd则不受影响。)
- rEFInd可以启动BIOS模式的引导加载程序;GRUB不能。对于大多数人,特别是使用UEFI的PC用户来说,这并不重要。然而,一些Mac用户需要BIOS模式兼容性以与Windows 7双启动。
- 在USB闪存驱动器或CD-R上的rEFInd可以引导无法启动的Ubuntu安装。虽然存在一些注意事项和限制,但即使您不在硬盘上使用rEFInd,将其放在USB闪存驱动器或CD-R上也是一个有用的紧急工具。
- GRUB的配置脚本可能运行缓慢。在复杂的设置中,安装新内核可能需要一分钟或更长时间,因为这些脚本被触发,并且它们花费了很长时间来扫描系统中的内核、各种引导加载程序,并重新构建配置文件。请注意,即使您使用rEFInd,如果您不卸载GRUB(或者根本不安装它),您也会遇到这个问题。
- 在使用Secure Boot时,rEFInd始终执行Secure Boot策略。GRUB在启动Linux内核时可能会或可能不会执行此操作,这取决于所使用的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出
除了这些要点之外,还有偶尔会出现系统特定的不兼容性和怪癖。这些问题可能会影响任何一个程序,所以它们并不是一个比另一个更好的优势。
你可以设置你的系统,让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的工作原理。