Fedora 34에서 fwupdmgr을 사용하여 ThinkPad L14에서 펌웨어 업데이트를 시도했습니다. 프로그램에서 재부팅하라는 메시지가 표시될 때까지 모든 것이 괜찮아 보였지만 재부팅했지만 펌웨어 업데이트 프로그램 대신 Fedora가 부팅되었습니다. 부팅 순서를 수동으로 변경하고 efibootmgr을 사용하여 사용하지 않는 Windows 부팅 항목을 제거하고 펌웨어 업데이트를 허용하는 시기와 방법에 대한 다양한 BIOS 설정 조합을 시도했지만 아무 효과가 없었습니다. 마지막으로 Secure Boot를 비활성화하면 업데이트 프로그램이 시작되고 업데이트가 성공적으로 완료된다는 사실을 알게 되었습니다. 그 후 보안 부팅을 다시 활성화할 수 있었고 OS가 정상적으로 부팅되었습니다. 또한 fwupdmgr은 업데이트가 성공적으로 설치되었다고 말합니다.
글쎄요, 문제가 해결된 것 같은데 왜 해결 방법이 효과가 있었는지 알고 싶습니다. shim 부트로더는 OS뿐만 아니라 업데이트 프로그램도 부팅할 것이라고 생각했는데 shim은 Microsoft에서 서명했기 때문에 보안 부팅을 활성화해도 문제가 없을 것입니다.
해결책을 찾는 데 더 많은 정보가 필요한 경우 댓글로 알려주시면 추가하겠습니다. 저는 펌웨어 업데이트에 대해 잘 모르기 때문에 무엇이 필요한지 거의 알 수 없습니다.
답변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 이 명백한 수정 사항은 이미 병합되었습니다. b