rEFInd boot-manager - 'volume' como GUID?

1

Como posso definir corretamente uma configuração de volume em uma opção de inicialização em 'refind.conf' usando um GUID de sua partição?

Minha configuração atual é, mas "refind" falha dizendo que o arquivo especificado não foi encontrado e tenho certeza de que isso não é verdade:

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"
}

Eu também tentei:

volume cd55b59a-ed82-4883-89ad-b02bc505e117

mas sem sorte também.

    
por Nemo759 10.03.2015 / 23:07

1 resposta

3

Deve funcionar sem as chaves ( {} ). Acabei de checar duas vezes em um sistema de teste executando o Arch Linux, e o seguinte funcionou para mim:

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"
}

O mais provável é que você esteja especificando o valor errado do GUID. Atualmente, o rEFInd suporta valores GUID partição para essa entrada, não valores UUID do sistema de arquivos. Além disso, o GUID deve ser o GUID exclusivo, não o GUID usado como um código de tipo. Você pode aprender o valor do GUID com gdisk ou sgdisk , como em:

$ 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'

Observe que o valor da linha Partition unique GUID nessa saída corresponde ao valor que usei na minha sub-rotina de exemplo.

Ah, e a especificação volume deve vir após quaisquer declarações que dependam de arquivos em outros volumes. No meu caso, coloquei após a linha icon porque carreguei um ícone do ESP (o mesmo volume no qual o rEFInd reside), mas antes da linha loader que identificou o kernel. Se você quiser carregar um ícone do mesmo volume que o carregador de inicialização, a linha volume deve vir em primeiro lugar.

FWIW, e falando como desenvolvedor de rEFInd, são confusões como essa que me fazem aconselhar as pessoas a não usar estrofes de inicialização manual, a menos que tenham uma causa convincente. Eu não vejo nada no seu exemplo, sasho648, que não pode ser tratado pelos mecanismos de detecção automática do rEFInd, em conjunto com um arquivo /boot/refind_linux.conf e talvez qualquer uma das várias maneiras de definir um ícone específico se você não gostar o que você obtém por padrão. Na verdade, você nem precisaria que o /boot/refind_linux.conf ficasse muito próximo do que você tem, já que o rEFInd pode obter a root= de /etc/fstab if /boot é um diretório na raiz ( / ) sistema de arquivo. É claro, se você simplesmente apresentou um exemplo simplificado e pretende expandir isso de alguma maneira incomum, isso é outro assunto. Na maioria das vezes, algumas pessoas - especialmente aquelas que estão familiarizadas com a configuração manual do LILO ou GRUB Legacy - parecem gravitar em torno de sub-rotinas de inicialização manuais desnecessariamente. (Isso não é uma algazarra ou uma batida; eu caí na mesma armadilha mental quando eu bifurquei pela primeira vez o rEFInd. Então percebi que havia uma maneira melhor de fazê-lo e escrevi o código de detecção automática.)

    
por 11.03.2015 / 00:48