rEFInd 启动管理器-‘卷’作为 GUID?

rEFInd 启动管理器-‘卷’作为 GUID?

如何使用其分区的 GUID 正确设置“refind.conf”中启动选项的卷设置?

我当前的设置是,但是“refind”失败,告诉我未找到指定的文件,但我确信这不是真的:

timeout 5

#scanfor manual

#scanfor internal


menuentry "openSUSE_bs_ld" {
    icon EFI/Tools/rEFIt/icons/os_linux.png         #os_suse.png

    ostype Linux

    #openSUSE partition GUID

    volume {cd55b59a-ed82-4883-89ad-b02bc505e117}

    loader /boot/vmlinuz-3.16.7-7-desktop

    initrd /boot/initrd-3.16.7-7-desktop

    options "ro root=UUID=cd55b59a-ed82-4883-89ad-b02bc505e117"
}

我也尝试过:

volume cd55b59a-ed82-4883-89ad-b02bc505e117

但同样没有运气。

答案1

它应该有效没有括号 ( {})。我刚刚在运行 Arch Linux 的测试系统上进行了仔细检查,以下内容对我有用:

menuentry "Test" {
    icon \EFI\refind_test\icons\os_arch.png
    volume 904404F8-B481-440C-A1E3-11A5A954E601
    loader vmlinuz-linux
    options "initrd=initramfs-linux.img root=/dev/sda2"
}

很可能您指定了错误的 GUID 值。目前,rEFInd 支持分割此条目的 GUID 值,而不是文件系统 UUID 值。此外,GUID 必须是唯一的 GUID,而不是用作类型代码的 GUID。您可以使用gdisk或了解 GUID 值sgdisk,如下所示:

$ sudo sgdisk -i 2 /dev/sda
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: 904404F8-B481-440C-A1E3-11A5A954E601
First sector: 512040 (at 250.0 MiB)
Last sector: 79656926 (at 38.0 GiB)
Partition size: 79144887 sectors (37.7 GiB)
Attribute flags: 0000000000000000
Partition name: 'Linux filesystem'

请注意,此输出中行的值Partition unique GUID与我在示例节中使用的值相匹配。

哦,volume规范应该放在任何依赖于其他卷上的文件的声明之后。就我而言,我把它放在行之后,icon因为我从 ESP(rEFInd 所在的卷)加载了一个图标,但在loader标识内核的行之前。如果您想从与引导加载程序相同的卷加载图标,则该volume行应该放在最前面。

恕我直言,作为 rEFInd 的开发者,我建议大家不是除非有令人信服的理由,否则请使用手动启动节。sasho648,我看不出您的示例中有什么不能通过 rEFInd 的自动检测机制处理,结合文件/boot/refind_linux.conf,如果您不喜欢默认设置,也许可以使用几种设置特定图标的方法之一。事实上,您甚至不需要/boot/refind_linux.conf非常接近您得到的结果,因为如果是根 () 文件系统上的目录, rEFInd 可以root=从中获取规范。当然,如果您只是提供了一个精简的示例,并且打算以某种不寻常的方式对其进行扩展,那就另当别论了。不过,在大多数情况下,有些人——尤其是那些熟悉手动配置 LILO 或 GRUB Legacy 的人——似乎不必要地倾向于使用手动启动节。 (这不是挖苦也不是批评;当我第一次从 rEFIt 分叉 rEFInd 时,我也陷入了同样的思维陷阱。然后我意识到有更好的方法可以做到这一点,于是我编写了自动检测代码。)/etc/fstab/boot/

相关内容