rEFInd 中指定引导特定分区的 EFI 文件在 rEFInd 的配置文件 refind.conf 中,要引导特定分区的 EFI 文件(如 Windows 的 bootmgfw.efi),需要在 menuentry 条目中使用 volume 关键字指定目标分区(卷),然后通过 loader 指定 EFI 文件的路径。volume 必须在引用文件路径(如 loader)之前出现,它会覆盖默认的启动卷,确保从指定分区加载文件。 如果省略 volume,rEFInd 会默认使用其启动所在的分区。语法要点volume 参数:可以是:文件系统标签(Label):如 Windows(不区分大小写,但某些 EFI 可能区分)。
分区 GUID:如 2C17D5ED-850D-4F76-BA31-47A561740082(32 位十六进制字符串,确保唯一性)。
分区名称(GPT):如 GPT 分区的名称。
如果标签不唯一,rEFInd 会选择第一个匹配的分区。
路径使用 EFI 风格的反斜杠(\)或正斜杠(/),但推荐反斜杠。
示例 1: 使用卷标签引导 Windows EFI 文件假设 Windows EFI 文件位于标签为 Windows 的分区:
menuentry "Windows Boot" {
icon \EFI\refind\icons\os_win.png # 可选:自定义图标
volume Windows # 指定分区标签
loader \EFI\Microsoft\Boot\bootmgfw.efi # EFI 文件路径,相对于指定分区
options "resume=…" # 可选:传递参数,如恢复模式
}
效果:选择此项后,rEFInd 从 Windows 分区加载 bootmgfw.efi,启动 Windows 引导管理器。
示例 2: 使用 GUID 指定分区(更精确,避免标签冲突)假设分区 GUID 为 12345678-1234-1234-1234-123456789ABC:
menuentry "Custom Windows" {
volume 12345678-1234-1234-1234-123456789ABC # 指定 GUID
loader /EFI/Microsoft/Boot/bootmgfw.efi
}
效果:无论标签如何,都从该 GUID 分区加载 EFI 文件。GUID 可通过 diskutil info(macOS)或 gdisk(Linux)查询。
示例 3: 引导其他系统的 EFI(如 Ubuntu GRUB)
menuentry "Ubuntu GRUB" {
volume UbuntuEFI # 指定分区标签
loader /EFI/ubuntu/grubx64.efi
enabled # 可选:确保条目启用
}
注意事项编辑 refind.conf(位于 EFI 分区 \EFI\REFInd\)后,重启生效。建议备份原文件。
如果分区是 NTFS 或其他格式,确保 rEFInd 支持(默认支持 FAT32、NTFS 等)。
测试时,可在 rEFInd 菜单中验证分区标签(按 F2 查看卷信息)。
禁止自动扫描:
添加或修改 scanfor 选项:在文件中的全局配置部分(通常在 # Global options 附近),添加或修改以下行:
scanfor manual
解释:scanfor manual:完全禁止自动扫描,只使用 refind.conf 中的手动 menuentry 条目。rEFInd 不会扫描内部/外部设备、optical 驱动器或网络。
如果你想部分禁用(如只扫描内部设备),可以设置为 scanfor internal 或 scanfor internal,manual(结合手动条目)。
默认值是 scanfor internal,external,optical,net,会扫描所有常见位置。
结合 dont_scan_dirs(忽略特定目录,如 /EFI/tools)或 dont_scan_files(忽略特定文件)进一步细化,但 scanfor manual 已足够禁止整体搜索。
添加或修改 showtools 选项:在全局配置部分(通常在 # Global options 附近)添加以下行:
showtools
解释:showtools(空行,无参数):隐藏所有工具标签,包括 About、Shutdown 和 Reboot。菜单将只显示第一行的引导条目。
如果只想显示特定工具(如 Shell),则列出它们,用逗号分隔:
showtools shell, memtest
这会显示 Shell 和 Memtest86 标签,同时隐藏 About 等其他工具。
-
添加或修改图标大小选项:
- 在全局配置部分(通常在 # Global options 附近)添加以下关键字:
- big_icon_size N:设置第一行 OS 条目图标大小(N 为像素值,至少 32)。这会间接设置徽章(badge)大小为 N/4。
- small_icon_size N:设置第二行工具图标大小(N 为像素值,至少 32)。
- 保存文件后,重启系统生效(或在 rEFInd 菜单中按 Esc 重新加载配置)。
- 在全局配置部分(通常在 # Global options 附近)添加以下关键字:
-
完整示例:
# Global options timeout 5 big_icon_size 64 # 第一行条目图标调整为 64x64 像素 small_icon_size 32 # 第二行工具图标调整为 32x32 像素 scanfor manual menuentry "Windows Boot" { icon \EFI\refind\icons\os_win.png # 自定义图标路径 volume Windows loader \EFI\Microsoft\Boot\bootmgfw.efi }- 效果:所有条目图标将使用新大小。徽章(如分区类型图标)会自动调整为 16×16(64/4)。
rEFInd 配置文件详解
rEFInd 配置文件详解 rEFInd 是一个开源的 EFI 引导管理器,其主要配置文件为 refind.conf ,通常位于 EFI 系统分区 (ESP) 的 /EFI/refind/ 目录下(或等效路径,如 macOS 上的 HFS+ 分区)。这个文件采用纯文本格式,使用 # 作为注释符号,配置分为两大类: 全局选项 (影响整个引导菜单)和 OS 引导条目(stanzas) (针对特定操作系统自定义引导)。 默认的 refind.conf 文件包含详细的注释说明,用户可以基于样本文件(refind.conf-sample)进行修改。修改后,重启系统生效。以下是配置文件的主要选项详解,我将使用表格形式呈现全球选项(基于官方文档),包括选项名称、参数类型、描述、默认值及示例。OS 条目将在表格后单独说明。 全局配置选项
| 选项名称 | 参数类型 | 描述 | 默认值 | 示例 |
|---|---|---|---|---|
| timeout 超时 | 20 | |||
| shutdown_after_timeout | true/on/1/false/off/0 真/开/1/假/关/0 | false 假 | shutdown_after_timeout true (超时后关机) | |
| log_level | 整数(0-4) | 0 | log_level 2 (中等日志级别) | |
| use_nvram | true/on/1/false/off/0 真/开/1/假/关/0 | false(样本默认) | use_nvram false (使用磁盘存储) | |
| screensaver 屏保 | 0 | |||
| hideui 秀井 | 无(显示所有) | |||
| icons_dir | 指定自定义图标子目录。优先使用 PNG/ICNS(支持透明);若无图标,则切换文本模式。 | 无(使用内置) | ||
| banner 旗帜 | 文件路径(PNG/ICNS/BMP/JPEG) | |||
| banner_scale | noscale/fillscreen 无比例/填充屏幕 | 横幅缩放方式:noscale(像素级);fillscreen(拉伸填屏)。 | noscale 无鳞片 | |
| big_icon_size | 整数(≥32) | big_icon_size 144 | ||
| small_icon_size | 整数(≥32) | 小图标尺寸(第二行工具图标)。 | small_icon_size 64 | |
| selection_big | 文件路径(144×144 图像) | 第一行选中高亮图标。 | 无 | selection_big highlight_big.png |
| selection_small | 文件路径(64×64 图像) | 第二行选中高亮图标。 | 无 | selection_small highlight_small.icns |
| showtools 显示工具 | 指定第二行工具按钮。可多选,按顺序显示。若空则无工具。某些需额外程序。 | |||
| font 字体 | 文件路径(PNG 字体文件) | 内置字体 | ||
| textonly 仅文本 | 无或 true/on/1/false/off/0 | 强制文本模式(忽略图标)。 | false 假 | textonly (启用文本模式) |
| scanfor scan 用于 | 指定扫描类型:internal(内部磁盘)、external(外部)、optical(光驱)、manual(手动条目)等。 | scanfor internal,manual (仅内部和手动) | ||
| default_selection | 字符串(匹配标签文本) | 设置默认引导选项(部分匹配菜单标签)。 | 第一个选项 | |
| default_loader | 文件路径 | 指定默认引导加载器文件。 | 无 | default_loader /EFI/ubuntu/grubx64.efi |
| bootorder 引导顺序 | 字符串列表(文件路径) | EFI 默认顺序 | ||
| scan_dirs | 字符串列表(目录路径,相对卷根) | 额外扫描目录(除了 /EFI)。 | 无 | |
| also_scan_dirs | 字符串列表(目录路径) | 无 | ||
| dont_scan_dirs | 字符串列表(目录路径) | 排除扫描目录。 | 无 | dont_scan_dirs /EFI/Microsoft |
| dont_scan_files | 字符串列表(文件路径) | 排除扫描文件。 | 无 | dont_scan_files bootx64.efi |
| dont_scan_volumes | 排除扫描卷。 | 无 | ||
| scan_all_linux_kernels | true/on/1/false/off/0 真/开/1/假/关/0 | false 假 | scan_all_linux_kernels (启用) | |
| fold_linux_kernels | 整数(内核折叠数量) | 0(不折叠) | ||
| extra_kernel_version_strings | 字符串列表(版本字符串) | 无 | ||
| csr_values | 十六进制值列表 | macOS SIP(系统完整性保护)值旋转。 | 无 | |
| include 包括 | 文件路径 | 包含二级配置文件(不能嵌套)。 | 无 |
注意 :
- 选项不区分大小写,但参数区分。
- 多参数用逗号分隔,无空格。
- 日志文件 refind.log 在 rEFInd 启动目录或第一个 ESP 根目录。
- 对于 Linux 引导,rEFInd 会生成 refind_linux.conf (在 /boot/ 下),用于传递内核参数,如 root UUID、quiet 等。示例: 使用 mkrlconf 命令生成/更新此文件。
OS 引导条目(Stanzas) 手动定义特定 OS 引导,使用 menuentry 块格式: - icon :自定义图标。
- volume :指定卷(标签或 GUID)。
- loader :引导加载器路径。
- initrd :initramfs 路径。
- options :传递给加载器的参数(用引号包围多选项)。
- disabled :yes 禁用条目。
- submenu :创建子菜单。
这些条目放在文件末尾。rEFInd 优先自动检测,但手动条目可覆盖或补充。建议仅在自动检测失败时使用,以避免维护负担。 更多细节可参考官方文档。若需自定义主题或驱动,检查 drivers_x64/ 目录(如 iso9660_x64.efi 用于光盘)。