Eu tenho o Ubuntu 14.04 em execução no modo UEFI como único sistema operacional, sem inicialização dupla aqui. A versão do kernel é 3.13.0-24-genérica. Existe uma partição EFI. Nesse caso, a partição EFI não está no padrão, /dev/sda1
mas /dev/sda3
porque eu realmente converti o modo BIOS para o modo EFI . Eu usei o grub-efi-amd64
pacote, embora isso realmente carregue o menu de inicialização do GRUB no menu de inicialização do firmware UEFI (cargas de inicialização UEFI \EFI\ubuntu\grubx64.efi
).
Quero pular essa etapa de carregamento do menu de inicialização dupla e inicializar mais rapidamente, diretamente da UEFI no kernel. Os kernels do Ubuntu desde a 12.10 têm o recurso "Kernel EFI stub loader" .
Eu sei que preciso copiar o kernel do Ubuntu para a partição EFI (possivelmente renomear) e criar uma entrada no menu de inicialização UEFI (por exemplo, usando efibootmgr
). Quais comandos exatos do terminal são necessários para fazer isso?
-l
e-u
entre aspas duplas (ou escapar barra invertida manualmente). Você pode testar se esse é o problema executandoefibootmgr -v
após adicionar uma nova entrada ao menu de inicialização EFI. Além disso, no caso de sua máquina tem mais de discos (dizem que um SSD e um HDD), então você precisará especificar um por-d
cujo padrão é/dev/sda
(verman efibootmgr
)De acordo com o wiki Debian , isso pode ser feito em algumas etapas simples que sobreviverão a uma atualização do kernel .
Nota: isso pressupõe que você tenha uma partição EFI montada em
/boot/efi
.Crie
/etc/kernel/postinst.d/zz-update-efistub
com o seguinte conteúdo:Este é um gancho que será executado na atualização do kernel para copiar a imagem mais recente do kernel e o initrd no local apropriado. Em seguida, torne-o executável e execute-o:
Adicione a entrada de inicialização:
Não se esqueça de alterar os argumentos
-d
e,-p
dependendo de onde está sua partição do sistema EFI. No meu caso, é / dev / sdb1, mas é provável que seja diferente para você. Você provavelmente também precisará alterar oroot=
valor no cmdline do kernel para sua partição raiz.(Você pode alterar o rótulo para o que quiser, alterando o
-L
parâmetro.)A entrada de inicialização que você acabou de adicionar se tornará a entrada padrão. E não será interrompido após uma atualização do kernel, pois o gancho garantirá
vmlinuz
einitrd.img
será sempre atualizado.fonte