REFInd boot-manager - «том» как GUID?

1

Как правильно установить параметр громкости для параметра загрузки в refind.conf, используя GUID его раздела?

Моя текущая настройка, но «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

но без удачи тоже.

Nemo759
источник
Какое реальное сообщение об ошибке вы видите? Я почти уверен, что определение объема должно предшествовать значку, загрузчику, initrd и т. Д. , ,
Эрни

Ответы:

3

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

Род Смит
источник
Разве я не должен где-то указывать GUID жесткого диска?
Nemo759
Нет, GUID раздела достаточно.
Род Смит
И, кстати, я использую параметры статической загрузки, потому что автоматический поиск занимает дорогое время загрузки.
Nemo759