Estou tentando reinstalar o firmware de um Dell XPS 15 9560, mas recebo o seguinte erro:
# fwupdmgr reinstall
0. Cancel
1. a45df35ac0e948ee180fe216a5f703f32dda163f (System Firmware)
2. 8e1ddd96334dca0c0f1059c12c3ff08b15d3766a (TPM 1.2)
3. 362301da643102b9f38477387e2193e57abaa590 (UEFI dbx)
Choose device [0-3]: 1
╔══════════════════════════════════════════════════════════════════════════════╗
║ Reinstall System Firmware to 1.31.0? ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ This stable release fixes the following issues: ║
║ ║
║ • Firmware updates to address security vulnerabilities. ║
║ ║
║ XPS 15 9560 must remain plugged into a power source for the duration of the ║
║ update to avoid damage. ║
╚══════════════════════════════════════════════════════════════════════════════╝
Perform operation? [Y|n]:
Decompressing… [ ]
Error opening file /sys/firmware/efi/efivars/BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c: No such file or directory
O mesmo problema ocorre se eu baixar o .cab
do fwupd.org e executar fwupdmgr local-install
o .
Qual é o problema?
É um bug na sua versão do fwupd. Ele precisa se adicionar no início da ordem de inicialização EFI¹ para que ele possa se iniciar no ambiente EFI antes do SO (e então dizer ao firmware para carregar a "atualização de cápsula").
Mas não há garantia de que a variável BootOrder exista – se ela não existir, o EFI ainda inicializará algo de acordo com um algoritmo diferente (que não consegui descobrir na especificação), mas o fwupd não parece levar em conta esse caso.
A execução
efibootmgr --bootorder xxxx
criará a variável BootOrder de acordo com uma lista separada por vírgulas de números de opções de inicialização daefibootmgr
lista geral. Geralmente0000
será seu bootloader Linux.¹ Embora a maneira mais fácil de fazer isso seja definir o BootNext (que é a ordem "one-shot"), a alteração do BootOrder é feita principalmente como uma solução alternativa para bugs no firmware de alguns fabricantes que manipulariam incorretamente o BootNext.