Я попытался обновить прошивку на ThinkPad L14 с помощью fwupdmgr на Fedora 34. Все казалось в порядке, пока программа не попросила меня перезагрузиться, что я и сделал, но Fedora загрузилась вместо обновления прошивки. Я попытался вручную изменить порядок загрузки, удалив неиспользуемую загрузочную запись Windows с помощью efibootmgr и различных комбинаций настроек BIOS о том, когда и как разрешать обновления прошивки, но ничего не сработало. Наконец, я обнаружил, что при отключении Secure Boot запускается обновление, и обновление успешно завершается. После этого я смог снова включить Secure Boot, и моя ОС загрузилась нормально. Кроме того, fwupdmgr сообщает, что обновление было успешно установлено.
Ну, похоже, моя проблема решена, но я хотел бы знать, почему решение сработало. Я думал, что загрузчик shim загрузит не только ОС, но и обновление, и поскольку shim подписан Microsoft, не должно быть никаких проблем с включением Secure Boot.
Если для поиска решения нужна дополнительная информация, пожалуйста, сообщите мне об этом в комментарии, и я добавлю ее. Я не очень разбираюсь в обновлениях прошивки и поэтому вряд ли могу сказать, что для этого потребуется.
решение1
Если вы отклоните запрос fwupdmgr на немедленную перезагрузку и запустите efibootmgr
сначала, вы заметите, что fwupdmgr создал новую загрузочную запись для запуска при следующей загрузке. На моем fedora34 это выглядит так:
❯ efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0001,0000,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022,0023,0024,0002
Boot0000* ...
Boot0001* Fedora HD(1,GPT,2a6909b8-0af2-4faf-96c6-6ff0ad9881a6,0x800,0x12c000)/File(\EFI\fedora\shimx64.efi)
Boot0002* Linux-Firmware-Updater HD(1,GPT,2a6909b8-0af2-4faf-96c6-6ff0ad9881a6,0x800,0x12c000)/File(\EFI\fedora\shimx64.efi)\.f.w.u.p.d.x.6.4...e.f.i...
...
Однако в настоящее время в shim, похоже, есть ошибка, которая не позволяет запустить двоичный файл fwupdx64.efi, вместо этого он просто переходит в grub:
- https://bugs.launchpad.net/ubuntu/+source/shim/+bug/1929471
- https://github.com/rhboot/shim/pull/379 это очевидное исправление уже объединено, б