如何使用其分区的 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
/