所以我已经安装了 rEFInd 作为我的 Linux 安装的引导加载程序(在尝试实际硬件之前在 Virtual Box 上)。
我已将 refind_linux.conf 文件配置如下:
## This file should be present in the same directory as the EFISTUB kernel and initramfs files
## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html
"Boot with defaults" "root=PARTUUID=$partuuid rw add_efi_memmap"
"Boot to terminal" "root=PARTUUID=$partuuid rw add_efi_memmap systemd.unit=multi-user.target"
其中$partuuid 替换为/ 挂载的分区的实际partuuid。
我还在 refind.conf 文件中创建了一个菜单项,以便拥有精美的 Arch Linux 图标,而不是通用的 Linux 图标:
menuentry "Arch Linux" {
icon /EFI/refind/icons/os_arch.png
loader /vmlinuz-linux
initrd /initramfs-linux.img
options "ro root=PARTUUID=$partuuid"
submenuentry "Boot using fallback initramfs" {
initrd /initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
}
当我启动时,我可以看到 rEFInd 菜单,但有两个条目:
两者都正常启动。我的 /boot 目录树中只有一个 Linux 内核文件,因此这似乎是多余的。
我怎样才能摆脱通用菜单条目并只保留 Arch 菜单条目?
答案1
解决方案是阻止 rEFInd 自动扫描引导加载程序,并仅保留手动定义的入口菜单。
在 refind.conf 中,取消注释并修改以下行:
scanfor external,optical,manual
(我去掉了内部扫描)