-
Notifications
You must be signed in to change notification settings - Fork 70
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
efibootmgr can no longer disable EFI entries properly after SteamOS version 3.4 #982
Comments
Windows seems always to add the entry back after booting on my device for some reason. But the |
The way that workaround functions is that it is basically setting the BootNext EFI entry to be rEFInd. This needs to be refreshed every boot. It is a workaround that I'd rather not need. Hopefully this is actually an And yes, the firmware tries aggressively to boot Windows if it finds the Windows EFI file on the |
Hi, thanks for the report! It might be fixed on Beta - at least, my test here worked fine...
Can you paste your Cheers! |
Thanks for getting back to me. Yes, that verbose output looks much more normal than what I'm seeing on the Stable branch. This gives me hope that this is a bug that's being fixed. :) The |
You're welcome =) What is the kernel version you're running? Also, lemme know your output for:
|
Same output for that.
and kernel is:
|
Interesting... What is your output for: |
|
OK, makes sense to me. I forgot to ask you the output of Thanks again |
Yes, no problem. Not necessarily garbled, but it definitely doesn't look like a normal output to me either (lots of hex characters)...
|
Hmm..mine shows that as well. It's not a problem, the For example, in your case you could try: To avoid printing this data, just drop the Also, from your output seems 0003 is not active, there's no * there. |
Understood. I didn't mean to imply that anything was wrong with the verbose output, it's just not the typical verbose output that I've been looking at. If those extra hex characters are normal, then no problem. It just seems different from what I'm used to. Yes, I disabled the Windows EFI entry though other means. If I try to reactivate it, this is the error I get (same error for disabling).
|
Wouldn't it be a stale entry in the BootOrder variable, that points to a non-existing var? What's your output for |
|
OK, this is very weird! I don't think it's bug in the tools, specially since it's the same version I'm using. Though it's not really what seems a supported use case, I would suggest you to try recreating the entries. Either start with a fresh system or try deleting the Boot0003 and redoing that the way your first created it. Does |
Yes, I understand that dual boot is not officially supported. I am not going to tinker with deleting the Windows EFI entry (annoying to re-add properly with |
Output:
|
OK, thanks! Let me know if the next release fixes that...I'll be following here |
Sorry in advance for the tangent @jlobue10 . How did you manage to get the EFI PXE entries for IPv4 and IPv6 to show up? I've got an official steam deck and have tried enabling in the bios, but they still aren't present. |
I must have been plugged in to my dock with an ethernet cable plugged in. I don't think I've changed anything in BIOS other than setting VRAM to use 4GB. |
Cool, thanks. That's how I'm setup too. If anyone is docked with ethernet, can they see if they still have those entries when running Do you have the official dock or a different one? |
I do have the official dock, but I never even opened the packaging for it. XD This |
Awesome, thanks so much. Any chance you know which JSAUX you have off the top of your head? |
I had to look it up, but the model number is HB0603. |
Thanks again. Ordered. I'll report back if that makes a difference. |
So that indeed made all the difference. I can get PXE booting going just fine with the JSAux HB0603, but not with the official Steam Deck Dock. That's kinda irksome. :-P I also tried the dock mentioned in the main google results for "steam deck pxe boot" - https://www.amazon.com/dp/B08FWMWGTD . That one also does not work for me. So the only dock of the three I have that works is the JSAux HB0603 - https://www.amazon.com/gp/product/B0B7HVZNMB A quick note in case it helps anyone. The easiest way to test if the dock works for PXE booting is to go into the Steam Deck BIOS (with system off, hold and keep + volume key pressed while turning on via power button) and then go to "Boot Manager". From there you'll see the boot options. Nicely it even refreshes on the fly. Plugging/unplugging the JSAux will cause the PXE options to appear/disappear within 5 seconds. Plugging in either of the other docks will not. Thanks again for the help and info about your dock. |
@aggieNick02 Do you have such issues with JSAux https://www.reddit.com/r/SteamDeck/comments/wn0gc7/review_jsaux_upgraded_docking_station_for_steam/? |
So the only thing I've tried (and honestly currently need) on a docking station is pxe booting over a wired network, and that's all I've tried with the various docks. I guess I don't really need a dock and a usb-c ethernet adapter by itself would be enough, but just grabbing the official dock seemed like the easier way to go in the beginning. |
I'm new. How would I disable the EFI entry from the Steam recovery USB exactly? |
How did you disable the Windows EFI through other means? |
Hi, was the issue with efibootmgr resolved? I'm getting the same behaviour on my steam deck where efibootmgr cannot disable the windows boot entry and the order I set is not respected. |
I don't think it was ever resolved. I have just used a workaround for now of booting into a Linux live iso that works for this |
Workaround - recreate the boot entries and specify an entry number that does not start with zero, using the -b flag with the usual —create options. Rationale: when I tried deactivating entry 0002 with efibootmgr -b 0002 -A, the error message said “Boot entry 2 not found”. Noting that it said “2” and not “0002”, I suspect it is failing to process leading zeroes correctly. I tried forcing a number that begins with non-zero, and it worked. Eg efibootmgr -b 2002 —create —disk /dev/sdb —part 1 —label MyOSnameHere —loader … |
Your system information
Please describe your issue in as much detail as possible:
Ever since the update to version 3.4+, the functionality of the command line function
efibootmgr
seems to either be purposefully blocked by permissions or buggy. I maintain this rEFInd installation script repository and before the 3.4+ versions, the ability to disable the Windows EFI entry using a properefibootmgr
command worked just fine. Now I know that official dual boot is not supported yet, but it's easy enough to dual boot by shrinking the/home
partition and installing another OS in that created free space. This post is not about that. I want to know if this change inefibootmgr
functionality is intentional, or if it's indeed a bug. For the sake of reproducing the issue below, let's assume that the Windows EFI entry is 0003.Steps for reproducing this issue:
sudo efibootmgr -b 0003 -A
Could not set active state for Boot0003: No such file or directory," even though the entry is there. Disabling the EFI entry will be unsuccessful.
More information that may be useful in troubleshooting.
The Windows EFI entry can be disabled successfully when we boot from the SteamOS recovery USB using the same exact command. It can also easily be disabled using the EasyUEFI program from Windows.
The output of
efibootmgr -v
from SteamOS 3.4.4 seems garbled, or not normal (not what I'd expect at least). Maybe this is part of the problem or could help narrow down any potential bug.If this indeed a bug, it would be great to have it fixed so that my rEFInd installation script can be simplified again, back to relying on the script successfully disabling the Windows EFI entry (without more complicated workarounds). Thanks!
The text was updated successfully, but these errors were encountered: