Sim, existe para a EFI: efibootmgr
$ efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0044,004E,004F
Boot0000* ubuntu
Boot0044* UEFI OS
Boot004E* ubuntu
Boot004F* CD/DVD Drive
... mostra a ordem de inicialização atual. efibootmgr -v
(mais detalhes, incluindo GUID) para listá-los:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* ubuntu HD(1,GPT,066aad32-119e-407c-af62-64ce08918c66,0x800,0x17800)/File(\EFI\ubuntu\shimx64.efi)
Boot0044* UEFI OS HD(1,GPT,066aad32-119e-407c-af62-64ce08918c66,0x800,0x17800)/File(\EFI\BOOT\BOOTX64.EFI)
Boot004E* ubuntu HD(1,GPT,066aad32-119e-407c-af62-64ce08918c66,0x800,0x17800)/File(\EFI\Ubuntu\grubx64.efi)
Boot004F* CD/DVD Drive BBS(CDROM,,0x0)..GO..NO........o.M.A.T.S.H.I.T.A.D.V.D.-.R.A.M. .U.J.8.G.6....................A...........................>..Gd-.;.A..MQ..L.0.H.2.9. . .7.7.7.6.7.4. . . . . . . . ........BO
A opção -o
permite alterar o bootorder:
-o | --bootorder XXXX,YYYY,ZZZZ
Explicitly set BootOrder (hex). Any value from 0 to FFFF
is accepted so long as it corresponds to an existing
Boot#### variable, and zero padding is not required.
Exemplo:
sudo efibootmgr -o 0
[sudo] password for rinzwind:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* ubuntu
Boot0044* UEFI OS
Boot004E* ubuntu
Boot004F* CD/DVD Drive
e
sudo efibootmgr -o 4F
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 004F
Boot0000* ubuntu
Boot0044* UEFI OS
Boot004E* ubuntu
Boot004F* CD/DVD Drive
1 pequeno problema: nem todas as bios estão armazenando corretamente isso, portanto, se a sua falha também pode redefinir para o anterior; Nesse caso, você precisaria refazer o comando todas as vezes.