Он должен работать без скобок ({}
). Я просто дважды проверил на тестовой системе, работающей под управлением 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, который используется в качестве кода типа. Вы можете узнать значение GUID с помощью gdisk
или 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
должна стоять на первом месте.
FWIW, и, выступая в качестве разработчика rEFInd, именно такие заблуждения заставляют меня советовать людям не использовать строфы с ручной загрузкой, если у них нет веских причин. В вашем примере, sasho648, я не вижу ничего, что не могло бы быть обработано механизмами автоопределения rEFInd в сочетании с файлом /boot/refind_linux.conf
и, возможно, любым из нескольких способов установки определенного значка, если вы не используете не нравится то, что вы получаете по умолчанию. На самом деле, вам даже не понадобится /boot/refind_linux.conf
чтобы быть достаточно близким к тому, что у вас есть, поскольку rEFInd может получить спецификацию root=
из /etc/fstab
если /boot
является каталогом в корне (/
) файловая система. Конечно, если вы просто представили урезанный пример и собираетесь расширить его каким-то необычным образом, это уже другой вопрос. Однако, по большей части, некоторые люди - особенно те, кто знаком с ручной настройкой LILO или GRUB Legacy - похоже, без необходимости тяготеют к строфам с ручной загрузкой. (Это не раскопки и не стук; я попал в ту же ментальную ловушку, когда впервые разбудил REFInd от REFIt. Тогда я понял, что есть лучший способ сделать это, и я написал код автоопределения.)