我正在尝试重新安装 Dell XPS 15 9560 的固件,但出现以下错误:
# 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
.cab
如果我从fwupd.org下载并运行,也会出现同样的问题fwupdmgr local-install
。
有什么问题?
这有点像是你的 fwupd 版本中的一个 bug。它需要将自身添加到 EFI 启动顺序¹ 的开头,以便它能够在操作系统之前在 EFI 环境中启动自身(然后告诉固件加载“胶囊更新”)。
但是 BootOrder 变量不能保证存在 - 如果不存在,EFI 仍将根据不同的算法启动某些东西(我无法从规范中弄清楚),但 fwupd 似乎没有考虑到这种情况。
运行
efibootmgr --bootorder xxxx
将根据常规efibootmgr
列表中以逗号分隔的启动选项编号列表创建 BootOrder 变量。通常0000
是您的 Linux 引导加载程序。¹ 虽然实现此目的的更简单方法是设置 BootNext(即“一次性”顺序),并且更改 BootOrder 主要是为了解决某些制造商固件中会错误处理 BootNext 的错误。