rEFInd não consegue encontrar o kernel Lubuntu na partição Lubuntu

0

Eu fui enviado aqui de outro fórum . Vou repetir todo o meu post aqui para ser completo:

Estou tentando me reindicar para inicializar o kernel Lubuntu diretamente, em vez de manter a configuração manual e usar o grub no meio. Por algum motivo, o refind apenas encontra o arquivo grubx64.efi (no ESP), mas nunca os arquivos do kernel (na própria partição do Lubuntu). Eu tenho um VirtualBox configurado com refind e arch instalado, onde reencontrar o kernel do arco diretamente. Sua configuração é a mesma, então não sei porque a detecção do kernel não funciona na máquina real.

UEFI, discos GPT, desligamento seguro. As permissões de arquivo são as mesmas, os drivers para os sistemas de arquivos são instalados (btrfs).

Detalhes do arquivo Arch virtualbox

  • /boot :

  • refind_linux.conf:

    "Boot with standard options" "rw root=UUID=ab4286d4-fe06-453a-8bdf-0b52f53639ee "
    "Boot to single-user mode" "rw root=UUID=ab4286d4-fe06-453a-8bdf-0b52f53639ee single"
    "Boot with minimal options" "rw root=UUID=ab4286d4-fe06-453a-8bdf-0b52f53639ee"
    
  • refind.conf :

    scanfor internal
    also_scan_dirs boot
    

Máquina real dualboot Win8 / Lubuntu

  • /boot :

  • refind_linux.conf:

    "default" "rw root=UUID=d1570108-1546-4109-ba6c-5bb35b71c20b" #uuid from gparted for /
    
  • refind.conf :

    #graphics omitted
    use_graphics_for linux, windows, osx, grub
    scanfor internal
    also_scan_dirs boot
    scan_all_linux_kernels 1
    

Qualquer ajuda para descobrir por que os kernels do Lubuntu não aparecem diretamente sob o processo de refinamento seria muito apreciada. :)

    
por Marnes 01.08.2015 / 20:49

1 resposta

1

Seu problema é causado por peculiaridades do Btrfs. Como ele suporta subvolumes, geralmente é necessário especificar opções incomuns para obter o rEFInd para verificar o subdiretório correto e fazer com que o kernel reconheça o local correto como raiz.

Para obter o rEFInd para verificar os kernels, você deve adicionar a seguinte linha a refind.conf :

also_scan_dirs +,@/boot

Isso pressupõe que você não tenha uma partição /boot separada. (Meu palpite é que seria +,@ se você tivesse essa partição, mas eu nunca tentei isso.) Se isso não funcionar, você poderia abrir um shell EFI e usá-lo para tentar encontrar seus kernels, então adicione qualquer que seja a localização deles de maneira semelhante. Isso pode não ser necessário no Arch porque o Arch e o Ubuntu podem configurar seus volumes do Btrfs de maneiras diferentes.

Com essa mudança, o rEFInd deve detectar seus kernels, mas a tentativa de inicializá-los falhará. Esse problema pode ser superado fazendo alterações em seu arquivo /boot/refind_linux.conf . Em particular, você deve adicionar o seguinte às opções de inicialização:

rootflags=subvol=@

Lembre-se de adicionar ao normal root={whatever} e qualquer outra opção do kernel que você usar.

Além disso, verifique se o driver EFI para o Btrfs está presente no subdiretório rEFInd drivers ou drivers_x64 . Eu percebi que você mencionou que os drivers estão instalados, mas não ficou 100% claro que você quis dizer o driver EFI, então eu quero deixar isso explícito.

    
por Rod Smith 01.08.2015 / 22:24