rhboot / efibootmgr

efibootmgr development tree
GNU General Public License v2.0
514 stars 97 forks source link

efibootmgr breaks access to Lenovo V15 G2 ALC UEFI #170

Closed raddirad closed 2 years ago

raddirad commented 2 years ago

I am experiencing a very strange issue.

What we do: We start a mini ubuntu based bootimage via UEFI Netboot, preformat the disc for Windows or Linux, place files for the installation and change the boot order via efibootmgr e.g. /bin/efibootmgr -o 0000,0017,0014,0012,0013,0016,0019,0018,0015 Here's the complete list

Executing: /bin/efibootmgr -v   (Posix.py:980)
BootCurrent: 0017   (Posix.py:1053)
Timeout: 10 seconds   (Posix.py:1053)
BootOrder: 0000,0012,0013,0014,0015,0016,0017,0018,0019,001A   (Posix.py:1053)
Boot0000* ubuntu    HD(1,GPT,b24854b4-02b8-42c9-b22d-bc301a0033ac,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)   (Posix.py:1053)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)   (Posix.py:1053)
Boot0011  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)   (Posix.py:1053)
Boot0012* NVMe: SAMSUNG MZALQ256HBJD-00BL2              PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,00-25-38-D2-21-C2-F2-B3)....2.LN........   (Posix.py:1053)
Boot0013* ATA HDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)   (Posix.py:1053)
Boot0014* ATA HDD1: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)   (Posix.py:1053)
Boot0015* ATAPI CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)   (Posix.py:1053)
Boot0016* USB HDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)   (Posix.py:1053)
Boot0017* PCI LAN: EFI Network (IPv4)   PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/MAC(88a4c28f4432,0)/IPv4(0.0.0.00.0.0.0,0,0)x.J.+*.N.....=8.   (Posix.py:1053)
Boot0018* USB FDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)   (Posix.py:1053)
Boot0019* USB CD:   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)   (Posix.py:1053)
Boot001A* PCI LAN: EFI Network (IPv6)   PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/MAC(88a4c28f4432,0)/IPv6([::]:<->[::]:,0,0)x.J.+*.N.....=8.   (Posix.py:1053)

However after changing the bootorder the access to the UEFI is borked. Pressing the correct button at the right moment gives a beep sound but the UEFI is not shown at all.

Changing the bootorder to network boot within the ubuntu bootimage and/or a running ubuntu system and restarting the system makes the network devices to disappear.

To make it even stranger, when in Windows there is no possibility to access the UEFI at all. Reflashing the Firmware doesn't work as the winFlash64 program doesn't allow flashing the same Firmware. When e.g. ubuntu20.04 is installed together with lxde desktop the UEFI access is restored after the x server starts.

Any thoughts why efibootmgr and the UEFI don't work together? What should I provide for further investigation of the issue?

frozencemetery commented 2 years ago

What do you mean by "the UEFI" and "access to the UEFI"?

raddirad commented 2 years ago

What do you mean by "the UEFI" and "access to the UEFI"?

I mean the UEFI settings page, similar to BIOS

frozencemetery commented 2 years ago

Thanks for clarifying.

This sounds like a firmware issue to me, unfortunately. One thing you could try is going through the firmware's boot selector itself rather than changing the boot order - I expect the results are the same.

These two things:

When e.g ubuntu20.04 is installed together with lxde desktop the UEFI access is restored after the x server starts.

However after changing the bootorder the access to the UEFI is borked. Pressing the correct button at the right moment gives a beep sound but the UEFI is not shown at all.

sound to me like the firmware and display hardware don't agree on the state of the world, such that the UEFI settings page is operational but not being displayed, and starting X resets that.

What is this hardware, and what vendor is the UEFI implementation?

raddirad commented 2 years ago

Hardware is Lenovo V15 G2 ALC In the UEFI Setting I only saw "Lenovo Setup Utility". Can't access the UEFI settings again to check closely

raddirad commented 2 years ago

So after digging more the problem still persists. Changing the boot order with efibootmgr, not always, breaks the UEFI Setup access. This is not a display issue as then we should be able to press F12 and hit enter to continue the boot process. It doesn't work.

We tried to use the "Bios Roll Back" feature in the UEFI settings. Enabled this feature, broke access to UEFI Setup, regained access to UEFI Setup, setting was disbaled again. We intended to overwrite the UEFI Setup with an official Lenovo update. This will also not work.

frozencemetery commented 2 years ago

This really sounds like a firmware issue to me, especially given your last comment. I recommend you reach out to Lenovo as I don't think there's anything we can do.

raddirad commented 2 years ago

Thank you for clarifying this :)