引导¶
英文:Boot Loader
概述¶
引导是计算机启动时,BIOS/UEFI用来寻找并启动操作系统的程序。通常情况下,引导文件为efi格式,并统一存储在ESP分区(一般来说是磁盘分区图最靠左的不大的FAT32分区)中。
一般ESP分区的结构
ESP目录结构可能因挂载点不同存在差异,请自行替换下方教程路径。
/boot
├── efi
│ ├── BOOT # Windows的引导
│ │ ├── BOOTIA32.EFI
│ │ ├── BOOTX64.EFI
│ │ ├── fbia32.efi
│ │ └── fbx64.efi
│ └── fedora # Linux的引导
│ ├── BOOTIA32.CSV
│ ├── bootuuid.cfg
│ ├── BOOTX64.CSV
│ ├── grub.cfg
│ ├── grubia32.efi
│ ├── grubx64.efi
│ ├── mmia32.efi
│ ├── mmx64.efi
│ ├── shim.efi
│ ├── shimia32.efi
│ └── shimx64.efi
└── grub # GRUB配置,部分发行版为grub2
├── bootuuid.cfg
├── grub.cfg
└── grubenv
引导器¶
GRUB¶
一般来说,多数Linux发行版预装GRUB作为引导器。它非常强大和灵活,能够理解文件系统和内核可执行文件格式。
美化¶
GNOME-LOOK.ORG与Github上均有丰富多样的GRUB主题。
一些主题拥有一键安装脚本,您也可以手动安装——在下载好压缩包后,您需要将其解压到文件夹中,并放置到GRUB的主题目录中。大多数发行版的目录为/boot/grub/themes,部分发行版为/boot/grub2/themes或其他目录。
之后,您需要编辑GRUB配置文件(sudo nano /etc/default/grub),找到以#GRUB_THEME开头的一行,将其替换为:
GRUB_THEME=/boot/grub/themes/主题文件夹/theme.txt
# 一般为theme.txt,部分主题可能不同
最后,运行sudo upgrade-grub来更新GRUB配置即可。
rEFInd¶
rEFInd是作为已停止维护的rEFIt项目的分支而诞生,最初旨在解决非Mac电脑上的UEFI启动问题。它的最大亮点是自动检测能力,能自动识别出系统里的Windows、Linux、macOS等各种操作系统。由于其出色的外观和易用性,它在需要管理复杂多系统启动的用户中非常受欢迎。
适用性
rEFInd仅支持UEFI。
安装¶
您需要通过您的包管理器安装refind (Debian/Arch) / rEFInd (Fedora,注意大小写)。
在安装软件包之后,您需要运行sudo refind-install来将其安装到ESP。
安装之后,您需要关闭或手动配置安全启动来保证引导器正常运行。以下我们会示范如何使用shim配置。
首先,您需要通过您的包管理器安装shim-signed。
大部分发行版已经预置了签名过的shimx64.efi,您只需要替换以下指令--shim后的路径即可。
sudo refind install --shim /boot/efi/一般为发行版名称/shimx64.efi
# EFI目录可能存在差异
# 或者,您也可以使用/usr/share/shim-signed/shimx64.efi
重启电脑后,您会进入MOK Manager界面。


请选择OK=>Enroll hash from disk,找到refind_x64.efi,OK=>Reboot重启即可。
更多选项,建议您参考Arch Wiki。
警告
我们不建议您在安装rEFInd之后贸然卸载GRUB。rEFInd的识别能力有限,若您在安装系统时选择单独分区/boot则可能无法直接通过vmlinuz绕过GRUB启动。
在部分发行版内,GRUB可能受包管理器保护。
卸载GRUB
此处以Fedora为例。要卸载GRUB,首先需要移除系统对GRUB包的保护。
sudo rm /etc/dnf/protected.d/{shim,grub2*}.conf
之后,移除GRUB。
sudo dnf remove grub* shim*
美化¶
rEFInd的主题大多于Github上发布。
大多数主题拥有一键安装脚本,并提供了手动安装教程。此处只讲解通用的手动安装方法。
首先,请在/boot/efi/refind下创建themes文件夹,并将主题压缩包解压到一个文件夹后放置于themes下。
之后,请编辑/boot/efi/refind/refind.conf,添加include themes/主题文件夹名/theme.conf行,并删除其他类似主题配置行。
要编辑主题的各项自定义选项,请编辑主题文件夹下的theme.conf。