jlobue10 / SteamDeck_rEFInd

Simple rEFInd install script for the Steam Deck (with GUI customization)
MIT License
509 stars 50 forks source link

WINDOWS ON SD CARD (windows to go) USEFUL INFORMATION #121

Open Nikoroq opened 2 weeks ago

Nikoroq commented 2 weeks ago

I couldn't get Windows on Go to boot on an SD card using rEFInd GUI installation. However, I was able to solve the problem.

Problem description: I could boot into Windows via the Steamdeck BIOS, and after rebooting the device, Windows would automatically boot. This wasn't a problem until I booted into the rEFInd dual boot menu. Using the Windows launch button in this menu, I got the error: "Invalid loader file! Error: Not found while loading bootmgfw.efi".

I tried everything: I checked that the SD card was inserted into the device when I created the config in rEFInd GUI, and I also checked that I selected WINDOWS (SD) as the second boot method. I tried to manually change the config refind.conf (according to the instructions "Optional Windows from Micro SD card instructions"), after which I tried to install this config via the "install config" button in rEFInd GUI, still no result.

As it turned out: For some reason (possibly a bug), rEFInd GUI does not change the Partition UUID value in the config located in the root folder esp, which means that rEFInd dual boot menu does not have precise instructions on where to load the system from.

Here's what I did: Going into the konsole I wrote: sudo nano /esp/efi/refind/rEFInd.conf Then I changed the value in the volume line to the UUID of my SD card, as shown below: instead of ***** i've inserted UUID (this UUID can be found in KDE Partition Manager, again, based on the instructions in the "Optional Windows from Micro SD card instructions" section)

menuentry "Windows SD card" {
icon /EFI/refind/icons/os_win11.png
volume *****
loader /EFI/Microsoft/Boot/bootmgfw.efi
graphics on
disabled

After I manually entered the UUID of the SD card, I pressed CTRL + O and followed the instructions at the bottom of the console to save the file. Only after that did dual boot work without errors!

It should also be noted that the instructions in the "Disable Windows EFI entry or run the Windows' side script" section did not work for me. No matter how hard I tried, booting via SteamOS Recovery USB, entering commands to delete the partition, I saw the error: "Boot entry 5 not found set active state for Boot0005: No such file or directory".

So, in order not to suffer with Linux further, I downloaded the script from the video on YouTube, the script is called Dual boot fix, and ran it in Windows, after which Windows stopped starting automatically after rebooting.

Here is a direct link to Dual boot fix: https://www.mediafire.com/file/w7jswsuctvnnd7k/Dual+Boot+Fix.zip/file

Run the required shortcut as an administrator while in Windows and that's it, Windows will not try to put itself above others.

Suggestions:

  1. Add dual boot fix link in Disable Windows EFI entry or run the Windows' side script section of github page
  2. Fixing issue with rEFInd GUI not changing SD value in config hidden into esp partition (/esp/efi/refind/rEFInd.conf)

I'm not sure how to suggest changes here. Or how to notify other users of my findings, so if this post should be left somewhere else, please correct me.

jlobue10 commented 2 weeks ago

To address a few points here...

Yes, the GUI not correctly grabbing the volume partition UUID is a bug, likely from SteamOS under the hood changes for SD cards. I will investigate this when I can find the time.

The script used to also automatically disable the Windows EFI entry with a proper efibootmgr command. This has been broken for several months as it first manifested itself as an issue on SteamOS 3.5 . The easiest way to solve this issue now is (as you discovered) to run the batch script in the Windows/Install rEFInd folder. I would welcome any quality pull requests to help update the main README and/ or GUI README page, as I have primarily moved on to using ASUS ROG ALLY and ROG ALLY X, and I have not spent much time updating this repo for quite a while.

Nikoroq commented 2 weeks ago

I would welcome any quality pull requests to help update the main README and/ or GUI README page, as I have primarily moved on to using ASUS ROG ALLY and ROG ALLY X, and I have not spent much time updating this repo for quite a while.

How can i create this pull request here...?

Nikoroq commented 2 weeks ago

oh, nevermind, i found a button for this.