Minha documentação para efibootmgr
mostra que -p
é para especificar o número da partição, mas na sua pergunta parece que você está usando Y
para o valor. Se não fosse um erro de digitação, isso poderia explicar por que você recebe caracteres estranhos no menu e teve problemas para inicializar.
Quanto à passagem de parâmetros, há um interruptor -@
que escapou à minha atenção nas primeiras vezes que li os documentos. Se você fornecer um nome de arquivo, ele lerá uma linha de parâmetros desse arquivo.
Os documentos também dizem que você pode usar -
como o nome do arquivo, mas quando tentei fazer isso, não consegui fazer isso depois de inserir o texto; pressionar enter
ou ^D
pareceu não ter efeito, enquanto ^C
finalizou o programa sem fazer alterações.
Se você deseja experimentar em uma VM antes de mexer em seu hardware, o seguinte pode ser útil - embora seja necessário ajustar os caminhos OVMF para sua distribuição:
- Instale o qemu e o pacote de firmware do ovmf.
- Copie
/usr/share/edk2-ovmf/OVMF_VARS.fd
para o diretório atual - o qemu gravará as alterações do efi config nesse arquivo.
- Crie um diretório para o qemu usar como Virtual VFAT (
vvfat
). Vou me referir a ele como hda
a partir de agora.
- Copie um kernel que tenha o stub EFI em
hda
.
- Se o kernel não tiver um initrd incorporado com um shell e
efibootmgr
, localize ou crie um initrd que seja, e coloque-o em hda
. (Um initrd genérico pode funcionar, já que esses geralmente permitem que você entre em um modo de emergência se não conseguir encontrar o volume raiz.)
-
start qemu; Eu uso o seguinte comando:
qemu-system-x86_64 -drive if=pflash,format=raw,unit=0,readonly=on,file=/usr/share/edk2-ovmf/OVMF_CODE.fd -drive if=pflash,format=raw,unit=1,readonly=off,file=OVMF_VARS.fd -enable-kvm -cpu host -m 1024 -usb -device usb-tablet -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -hda fat:rw:hda -boot menu=on
- Após a inicialização, não modifique o
hda
dir de fora da VM - veja o aviso aqui
- Observe a parte
-boot menu=on
. Se necessário, você pode pressionar ESC
enquanto estiver inicializando e você entrará na configuração do uefi. A partir daí, você pode inicializar entradas específicas ou criar / excluir / editar.
-
Você entrará em um EFI Shell se não encontrar um arquivo para ser inicializado.