Primeiro, presumo que por "stubs .efi" você quer dizer arquivos com .efi
extensões na partição do sistema EFI (ESP). Esses são arquivos de programa EFI - mais comumente carregadores de inicialização, mas também às vezes programas e utilitários.
Se você deseja inicializar o Windows e o Ubuntu via rEFInd sem usando o GRUB, os únicos programas EFI que você precisa ter no ESP são o gerenciador de inicialização do Windows (instalado pelo Windows), rEFInd ( refind_x64.efi
), e um driver do sistema de arquivos EFI para qualquer sistema de arquivos usado com o Ubuntu (provavelmente ext4_x64.efi
, no subdiretório drivers
ou drivers_x64
do diretório que contém refind_x64.efi
). O driver ext4fs permitirá que o EFI e, portanto, o rEFInd, leia o kernel do Linux na partição principal do Linux. Os kernels Linux desde a versão 3.3.0 incluíram um stub stub loader, que é uma maneira de transformar o kernel Linux em seu próprio gerenciador de inicialização. Assim, com o rEFInd e um driver ext4fs no ESP, o rEFInd pode iniciar o kernel do Linux diretamente de uma partição do Linux. Há uma outra coisa que você precisará, no entanto: um arquivo /boot/refind_linux.conf
para conter opções para o Linux. Um exemplo mínimo é assim:
"Boot with normal options" "ro root=/dev/sda8"
"Boot into single-user mode" "ro root=/dev/sda8 single"
Este exemplo inicializa a instalação em /dev/sda8
. Você pode adicionar mais opções para apresentar uma exibição de inicialização gráfica ou por outros motivos, mas o acima (com um valor root=
modificado, com toda a probabilidade) funcionará com a maioria dos sistemas.
Uma variante desta abordagem é copiar seu (s) kernel (s) para o ESP (provavelmente no diretório EFI/ubuntu
do ESP) e não instalar um driver do sistema de arquivos Linux. Isso tem algumas vantagens em alguns sistemas, mas requer a cópia do kernel toda vez que o sistema de empacotamento o atualiza. Se você fizer dessa maneira, você colocaria refind_linux.conf
no diretório no ESP onde você armazena seus kernels.