-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System always in a reboot loop when selecting hard disk as boot option #570
Comments
The possible reason why "always reboot" might be that the 1st boot entry for disk is not correctly created which means the first_new_option variable is always NULL. To verify whether FileDevicePath() does get the right path, would you please print out your disk file DP in fallback.c ? Like this:
Here is the 1st entry file DP of my system:
|
Note that after a reboot it selects the "ubuntu" boot entry it created in the fallback so it works at that point. I'm just trying to avoid the reboot in the fallback, as it will recreate that ubuntu entry for every ubuntu disk that's inserted when the respective disk is selected, but all of the information I've encountered seems to suggest that it will always reboot when selecting the hard disk entry, is this correct? |
The bootloader for a removable media like USB is not expected to create a NVRAM entry ahead, and is expected to be in \EFI\BOOT\BOOTX64.efi. The firmware will treat the disk as a removable media and invoke \EFI\BOOT\BOOTX64.efi if your boot variable is missing. \EFI\BOOT\BOOTX64.EFI is a copy of shimx64.efi internally. It will trigger fallback to try to create "Boot0006" with label "ubuntu".
Remove fbx64.efi, and let bootx64.efi executes your disk boot option directly. This is just a work around. BTW, If possible, please print out the bootpath like the following example. If it still shows
|
Hi,
I'm using a server on which I have installed ubuntu 22.04 server, which uses shim 15.7. It is installed on a micron MTFDDAK1T0TDL SSD.
Now, when I boot the "ubuntu" boot entry, everything is fine and it just works.
However, if I select the disk instead (This is something that I need to be able to do because of multiple boot devices being available), it will always unconditionally reboot.
I have enabled SHIM_VERBOSE and FALLBACK_VERBOSE variables, and the output contains the following lines (I can't give a full log very easily, I had to make a video of the KVM outputting the debug output):
Now, the disk is certainly not a usb stick, so I'm a bit confused on as to why it would be detected as such. Maybe something to do with the fact that in EFI FW, \EFI\BOOT\BOOTX64.EFI
is defined in tianocore/edk2/MdePkg/Include/Uefi/UefiSpec.h as the "Removable media" bootloader path?
fallback finds BOOTX64.CSV correctly, which contains "shimx64.efi,ubuntu,,This is the boot entry for ubuntu"
It also outputs "Found boot entry "Boot0006" with label "ubuntu" for file "\EFI\ubuntu\shimx64.efi"", and also prints the correct boot order. After this, it complains about finding a TPM and thus resets.
It seems to me that everything is going fine, but still for some reason it thinks it has to reset. As a sidenote: in earlier EFI FW versions it did work correctly.
Is this expected behaviour, or is my disk being detected as removable an indicator that something is wrong in the EFI fw? How can I make sure it doesn't reboot when the disk is selected without having to manually set efi variables?
The text was updated successfully, but these errors were encountered: