Должно работать без скобок ( {}
). Я просто дважды проверил на тестовой системе, работающей под управлением 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
if /boot
в корневом каталоге (/
) файловая система. Конечно, если вы просто представили урезанный пример и собираетесь расширить его каким-то необычным образом, это уже другой вопрос. Однако, по большей части, некоторые люди - особенно те, кто знаком с ручной настройкой LILO или GRUB Legacy - похоже, без необходимости тяготеют к строфам с ручной загрузкой. (Это не копание и не стук; я попал в ту же ментальную ловушку, когда впервые разбудил REFInd от rEFIt. Затем я понял, что есть лучший способ сделать это, и я написал код автоопределения.)