Arch Linux切换rEFInd开机引导程序

先导

以下rEFIndarckwiki词条的内容:

rEFInd 是一个 UEFI 启动管理器。它是 rEFIt (不再维护)的一个分支并且针对非 Mac 硬件修复了若干问题。它被设计为平台无关,可启动多个操作系统。

使用rEFInd的需求是我原来使用的是bootctl这个启动引导程序,虽然简单好用,但是只有黑白界面难免有点单调,所以就想使用一个比较漂亮的但是文件结构又简洁的bootloader,所以grub就被丢弃了,虽然它的却很强大,但是文件结构有点复杂,配置影响因素有点多

安装rEFInd

1
sudo pacman -S refind-efi

配置

备份原有引导

首先备份移除原有的bootloader,我之前用的是bootctl,所以需要备份/boot/loader文件夹和/boot/EFI/systemd/systemd-bootx64.efi文件

1
2
cp -r /boot/loader  ~/loader
cp -r /boot/EFI/systemd ~/systemd

配置rEFInd

安装rEFInd引导文件至启动分区:

1
sudo refind-install

一般情况下能够直接进行安装,如果出问题请查看archwikirEFInd的手动安装引导文件小节,请点击这里

配置主题

rEFInd的主题可以在github中自己搜索得到

将自己心仪的主题下载下来之后将其解压至/boot/refind/themes中,在/boot/refind/refind.conf的末尾加入include themes/你下载的主题/theme.conf即可生效.

配置自定义启动项

编辑文件/boot/EFI/refind/refind.conf中向下滑差不多到3/4位置的位置中的Arch Linux小节,将其中的文件配置成自己的启动方式,下面的例子是我的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
menuentry "Arch Linux" {
icon /EFI/refind/themes/refind-ambience/icons/os_arch.png
#volume "Arch Linux"
loader /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img
options "root=PARTUUID=7ce1b087-1f97-4a98-ac50-408353207b92 rw"
submenuentry "Boot using fallback initramfs" {
initrd /initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
#disabled
}

可以看到的的启动的icon是使用主题里面提供的,可以使得启动的界面更加统一

后记

rEFInd启动引导程序还是很秀的,主题也挺美观,下面放一张效果图(虚拟机中的)

效果


impressionyang